mirror of
https://github.com/Steffo99/cfig.git
synced 2025-03-29 11:50:36 +00:00
29 lines
451 B
Python
29 lines
451 B
Python
import typing as t
|
|
|
|
TYPE = t.TypeVar("TYPE")
|
|
|
|
|
|
class Resolver(t.Protocol):
|
|
__name__: str
|
|
__doc__: str
|
|
|
|
def __call__(self, val: t.Any) -> TYPE:
|
|
...
|
|
|
|
|
|
class ResolverRequired(Resolver):
|
|
def __call__(self, val: str) -> TYPE:
|
|
...
|
|
|
|
|
|
class ResolverOptional(Resolver):
|
|
def __call__(self, val: t.Optional[str]) -> TYPE:
|
|
...
|
|
|
|
|
|
__all__ = (
|
|
"TYPE",
|
|
"Resolver",
|
|
"ResolverRequired",
|
|
"ResolverOptional",
|
|
)
|