typing.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. class _Placeholder:
  2. def __init__(self, *args, **kwargs):
  3. pass
  4. def __getitem__(self, *args):
  5. return self
  6. def __call__(self, *args, **kwargs):
  7. return self
  8. def __and__(self, other):
  9. return self
  10. def __or__(self, other):
  11. return self
  12. def __xor__(self, other):
  13. return self
  14. _PLACEHOLDER = _Placeholder()
  15. Sequence = _PLACEHOLDER
  16. List = _PLACEHOLDER
  17. Dict = _PLACEHOLDER
  18. Tuple = _PLACEHOLDER
  19. Set = _PLACEHOLDER
  20. Any = _PLACEHOLDER
  21. Union = _PLACEHOLDER
  22. Optional = _PLACEHOLDER
  23. Callable = _PLACEHOLDER
  24. Type = _PLACEHOLDER
  25. TypeAlias = _PLACEHOLDER
  26. NewType = _PLACEHOLDER
  27. ClassVar = _PLACEHOLDER
  28. Literal = _PLACEHOLDER
  29. LiteralString = _PLACEHOLDER
  30. Iterable = _PLACEHOLDER
  31. Generator = _PLACEHOLDER
  32. Iterator = _PLACEHOLDER
  33. Hashable = _PLACEHOLDER
  34. TypeVar = _PLACEHOLDER
  35. Self = _PLACEHOLDER
  36. Protocol = object
  37. Generic = object
  38. Never = object
  39. TYPE_CHECKING = False
  40. # decorators
  41. overload = lambda x: x
  42. final = lambda x: x
  43. # exhaustiveness checking
  44. assert_never = lambda x: x
  45. TypedDict = dict
  46. NotRequired = _PLACEHOLDER