1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- """Helpers for use with type annotation.
- Use the empty classes in this module when annotating the types of Pyrsistent
- objects, instead of using the actual collection class.
- For example,
- from pyrsistent import pvector
- from pyrsistent.typing import PVector
- myvector: PVector[str] = pvector(['a', 'b', 'c'])
- """
- from __future__ import absolute_import
- try:
- from typing import Container
- from typing import Hashable
- from typing import Generic
- from typing import Iterable
- from typing import Mapping
- from typing import Sequence
- from typing import Sized
- from typing import TypeVar
- __all__ = [
- 'CheckedPMap',
- 'CheckedPSet',
- 'CheckedPVector',
- 'PBag',
- 'PDeque',
- 'PList',
- 'PMap',
- 'PSet',
- 'PVector',
- ]
- T = TypeVar('T')
- KT = TypeVar('KT')
- VT = TypeVar('VT')
- class CheckedPMap(Mapping[KT, VT], Hashable):
- pass
- # PSet.add and PSet.discard have different type signatures than that of Set.
- class CheckedPSet(Generic[T], Hashable):
- pass
- class CheckedPVector(Sequence[T], Hashable):
- pass
- class PBag(Container[T], Iterable[T], Sized, Hashable):
- pass
- class PDeque(Sequence[T], Hashable):
- pass
- class PList(Sequence[T], Hashable):
- pass
- class PMap(Mapping[KT, VT], Hashable):
- pass
- # PSet.add and PSet.discard have different type signatures than that of Set.
- class PSet(Generic[T], Hashable):
- pass
- class PVector(Sequence[T], Hashable):
- pass
- class PVectorEvolver(Generic[T]):
- pass
- class PMapEvolver(Generic[KT, VT]):
- pass
- class PSetEvolver(Generic[T]):
- pass
- except ImportError:
- pass
|