omlish 0.0.0.dev414__py3-none-any.whl → 0.0.0.dev416__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. omlish/__about__.py +2 -3
  2. omlish/codecs/registry.py +1 -1
  3. omlish/dataclasses/__init__.py +139 -113
  4. omlish/dataclasses/impl/api/classes/make.py +5 -3
  5. omlish/dataclasses/impl/configs.py +29 -29
  6. omlish/lang/__init__.py +486 -473
  7. omlish/lang/imports/proxyinit.py +161 -48
  8. omlish/lang/maybes.py +8 -0
  9. omlish/lite/maysyncs.py +1 -0
  10. omlish/manifests/base.py +1 -1
  11. omlish/marshal/__init__.py +98 -57
  12. omlish/marshal/base/__init__.py +0 -0
  13. omlish/marshal/base/contexts.py +78 -0
  14. omlish/marshal/{errors.py → base/errors.py} +1 -1
  15. omlish/marshal/base/options.py +2 -0
  16. omlish/marshal/base/overrides.py +34 -0
  17. omlish/marshal/{registries.py → base/registries.py} +11 -9
  18. omlish/marshal/base/types.py +122 -0
  19. omlish/marshal/{values.py → base/values.py} +1 -13
  20. omlish/marshal/composite/iterables.py +7 -7
  21. omlish/marshal/composite/literals.py +7 -7
  22. omlish/marshal/composite/mappings.py +7 -7
  23. omlish/marshal/composite/maybes.py +7 -7
  24. omlish/marshal/composite/newtypes.py +6 -6
  25. omlish/marshal/composite/optionals.py +7 -7
  26. omlish/marshal/composite/special.py +6 -6
  27. omlish/marshal/composite/wrapped.py +5 -5
  28. omlish/marshal/factories/__init__.py +0 -0
  29. omlish/marshal/factories/func.py +28 -0
  30. omlish/marshal/factories/match.py +34 -0
  31. omlish/marshal/factories/multi.py +55 -0
  32. omlish/marshal/factories/recursive.py +120 -0
  33. omlish/marshal/factories/simple.py +28 -0
  34. omlish/marshal/factories/typecache.py +91 -0
  35. omlish/marshal/factories/typemap.py +65 -0
  36. omlish/marshal/globals.py +35 -25
  37. omlish/marshal/naming.py +1 -1
  38. omlish/marshal/objects/dataclasses.py +7 -7
  39. omlish/marshal/objects/marshal.py +4 -4
  40. omlish/marshal/objects/metadata.py +4 -4
  41. omlish/marshal/objects/namedtuples.py +7 -7
  42. omlish/marshal/objects/unmarshal.py +4 -4
  43. omlish/marshal/polymorphism/marshal.py +4 -4
  44. omlish/marshal/polymorphism/metadata.py +1 -1
  45. omlish/marshal/polymorphism/standard.py +2 -2
  46. omlish/marshal/polymorphism/unions.py +7 -7
  47. omlish/marshal/polymorphism/unmarshal.py +4 -4
  48. omlish/marshal/singular/base64.py +7 -7
  49. omlish/marshal/singular/datetimes.py +7 -7
  50. omlish/marshal/singular/enums.py +7 -7
  51. omlish/marshal/singular/numbers.py +7 -7
  52. omlish/marshal/singular/primitives.py +7 -7
  53. omlish/marshal/singular/uuids.py +7 -7
  54. omlish/marshal/standard.py +8 -8
  55. omlish/marshal/trivial/any.py +7 -7
  56. omlish/marshal/trivial/forbidden.py +7 -7
  57. omlish/marshal/trivial/nop.py +5 -5
  58. omlish/reflect/__init__.py +57 -47
  59. omlish/reflect/types.py +144 -15
  60. {omlish-0.0.0.dev414.dist-info → omlish-0.0.0.dev416.dist-info}/METADATA +14 -9
  61. {omlish-0.0.0.dev414.dist-info → omlish-0.0.0.dev416.dist-info}/RECORD +65 -56
  62. omlish/inject/.dataclasses.json +0 -3
  63. omlish/marshal/.dataclasses.json +0 -3
  64. omlish/marshal/base.py +0 -472
  65. omlish/marshal/factories.py +0 -116
  66. omlish/marshal/proxy.py +0 -26
  67. {omlish-0.0.0.dev414.dist-info → omlish-0.0.0.dev416.dist-info}/WHEEL +0 -0
  68. {omlish-0.0.0.dev414.dist-info → omlish-0.0.0.dev416.dist-info}/entry_points.txt +0 -0
  69. {omlish-0.0.0.dev414.dist-info → omlish-0.0.0.dev416.dist-info}/licenses/LICENSE +0 -0
  70. {omlish-0.0.0.dev414.dist-info → omlish-0.0.0.dev416.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,65 @@
1
+ import typing as ta
2
+
3
+ from ... import check
4
+ from ... import dataclasses as dc
5
+ from ... import reflect as rfl
6
+ from ...funcs import match as mfs
7
+ from ..base.contexts import MarshalContext
8
+ from ..base.contexts import UnmarshalContext
9
+ from ..base.types import Marshaler
10
+ from ..base.types import MarshalerFactory
11
+ from ..base.types import MarshalerMaker
12
+ from ..base.types import Unmarshaler
13
+ from ..base.types import UnmarshalerFactory
14
+ from ..base.types import UnmarshalerMaker
15
+
16
+
17
+ R = ta.TypeVar('R')
18
+ C = ta.TypeVar('C')
19
+
20
+
21
+ ##
22
+
23
+
24
+ @dc.dataclass(frozen=True)
25
+ class _TypeMapFactory(mfs.MatchFn[[C, rfl.Type], R]):
26
+ m: ta.Mapping[rfl.Type, R] = dc.field(default_factory=dict)
27
+
28
+ def __post_init__(self) -> None:
29
+ for k in self.m:
30
+ if not isinstance(k, rfl.TYPES):
31
+ raise TypeError(k)
32
+
33
+ def guard(self, ctx: C, rty: rfl.Type) -> bool:
34
+ check.isinstance(rty, rfl.TYPES)
35
+ return rty in self.m
36
+
37
+ def fn(self, ctx: C, rty: rfl.Type) -> R:
38
+ check.isinstance(rty, rfl.TYPES)
39
+ try:
40
+ return self.m[rty]
41
+ except KeyError:
42
+ raise mfs.MatchGuardError(ctx, rty) # noqa
43
+
44
+
45
+ ##
46
+
47
+
48
+ @dc.dataclass(frozen=True)
49
+ class TypeMapMarshalerFactory(
50
+ _TypeMapFactory[MarshalContext, Marshaler],
51
+ MarshalerFactory,
52
+ ):
53
+ @property
54
+ def make_marshaler(self) -> MarshalerMaker:
55
+ return self # noqa
56
+
57
+
58
+ @dc.dataclass(frozen=True)
59
+ class TypeMapUnmarshalerFactory(
60
+ _TypeMapFactory[UnmarshalContext, Unmarshaler],
61
+ UnmarshalerFactory,
62
+ ):
63
+ @property
64
+ def make_unmarshaler(self) -> UnmarshalerMaker:
65
+ return self # noqa
omlish/marshal/globals.py CHANGED
@@ -1,15 +1,15 @@
1
+ import threading
1
2
  import typing as ta
2
3
 
3
4
  from .. import lang
4
- from .base import MarshalContext
5
- from .base import MarshalerFactory
6
- from .base import UnmarshalContext
7
- from .base import UnmarshalerFactory
8
- from .registries import Registry
9
- from .registries import RegistryItem
5
+ from .base.registries import Registry
6
+ from .base.registries import RegistryItem
7
+ from .base.types import MarshalerFactory
8
+ from .base.types import Marshaling
9
+ from .base.types import UnmarshalerFactory
10
+ from .base.values import Value
10
11
  from .standard import new_standard_marshaler_factory
11
12
  from .standard import new_standard_unmarshaler_factory
12
- from .values import Value
13
13
 
14
14
 
15
15
  T = ta.TypeVar('T')
@@ -18,31 +18,45 @@ T = ta.TypeVar('T')
18
18
  ##
19
19
 
20
20
 
21
- GLOBAL_REGISTRY: Registry = Registry()
21
+ _GLOBAL_LOCK = threading.RLock()
22
22
 
23
23
 
24
- ##
24
+ @lang.cached_function(lock=_GLOBAL_LOCK)
25
+ def global_registry() -> Registry:
26
+ return Registry(lock=_GLOBAL_LOCK)
25
27
 
26
28
 
27
- @lang.cached_function(lock=True)
29
+ @lang.cached_function(lock=_GLOBAL_LOCK)
28
30
  def global_marshaler_factory() -> MarshalerFactory:
29
31
  return new_standard_marshaler_factory()
30
32
 
31
33
 
32
- def marshal(obj: ta.Any, ty: ta.Any | None = None, **kwargs: ta.Any) -> Value:
33
- return MarshalContext(
34
- GLOBAL_REGISTRY,
35
- factory=global_marshaler_factory(),
36
- **kwargs,
37
- ).marshal(obj, ty)
34
+ @lang.cached_function(lock=_GLOBAL_LOCK)
35
+ def global_unmarshaler_factory() -> UnmarshalerFactory:
36
+ return new_standard_unmarshaler_factory()
37
+
38
+
39
+ class _GlobalMarshaling(Marshaling, lang.Final):
40
+ def registry(self) -> Registry:
41
+ return global_registry()
42
+
43
+ def marshaler_factory(self) -> MarshalerFactory:
44
+ return global_marshaler_factory()
45
+
46
+ def unmarshaler_factory(self) -> UnmarshalerFactory:
47
+ return global_unmarshaler_factory()
48
+
49
+
50
+ @lang.cached_function(lock=_GLOBAL_LOCK)
51
+ def global_marshaling() -> Marshaling:
52
+ return _GlobalMarshaling()
38
53
 
39
54
 
40
55
  ##
41
56
 
42
57
 
43
- @lang.cached_function(lock=True)
44
- def global_unmarshaler_factory() -> UnmarshalerFactory:
45
- return new_standard_unmarshaler_factory()
58
+ def marshal(obj: ta.Any, ty: ta.Any | None = None, **kwargs: ta.Any) -> Value:
59
+ return global_marshaling().marshal(obj, ty, **kwargs)
46
60
 
47
61
 
48
62
  @ta.overload
@@ -56,11 +70,7 @@ def unmarshal(v: Value, ty: ta.Any, **kwargs: ta.Any) -> ta.Any:
56
70
 
57
71
 
58
72
  def unmarshal(v, ty, **kwargs):
59
- return UnmarshalContext(
60
- GLOBAL_REGISTRY,
61
- factory=global_unmarshaler_factory(),
62
- **kwargs,
63
- ).unmarshal(v, ty)
73
+ return global_marshaling().unmarshal(v, ty, **kwargs)
64
74
 
65
75
 
66
76
  ##
@@ -71,7 +81,7 @@ def register_global(
71
81
  *items: RegistryItem,
72
82
  identity: bool = False,
73
83
  ) -> None:
74
- GLOBAL_REGISTRY.register(
84
+ global_registry().register(
75
85
  key,
76
86
  *items,
77
87
  identity=identity,
omlish/marshal/naming.py CHANGED
@@ -7,7 +7,7 @@ import enum
7
7
 
8
8
  from .. import check
9
9
  from .. import lang
10
- from .base import Option
10
+ from .base.options import Option
11
11
 
12
12
 
13
13
  ##
@@ -10,13 +10,13 @@ from ... import dataclasses as dc
10
10
  from ... import lang
11
11
  from ... import reflect as rfl
12
12
  from ...lite import marshal as lm
13
- from ..base import MarshalContext
14
- from ..base import Marshaler
15
- from ..base import Option
16
- from ..base import SimpleMarshalerFactory
17
- from ..base import SimpleUnmarshalerFactory
18
- from ..base import UnmarshalContext
19
- from ..base import Unmarshaler
13
+ from ..base.contexts import MarshalContext
14
+ from ..base.contexts import UnmarshalContext
15
+ from ..base.options import Option
16
+ from ..base.types import Marshaler
17
+ from ..base.types import Unmarshaler
18
+ from ..factories.simple import SimpleMarshalerFactory
19
+ from ..factories.simple import SimpleUnmarshalerFactory
20
20
  from ..naming import Naming
21
21
  from ..naming import translate_name
22
22
  from .marshal import ObjectMarshaler
@@ -4,10 +4,10 @@ import typing as ta
4
4
  from ... import check
5
5
  from ... import dataclasses as dc
6
6
  from ... import reflect as rfl
7
- from ..base import MarshalContext
8
- from ..base import Marshaler
9
- from ..base import SimpleMarshalerFactory
10
- from ..values import Value
7
+ from ..base.contexts import MarshalContext
8
+ from ..base.types import Marshaler
9
+ from ..base.values import Value
10
+ from ..factories.simple import SimpleMarshalerFactory
11
11
  from .metadata import FieldInfo
12
12
  from .metadata import FieldInfos
13
13
  from .metadata import ObjectSpecials
@@ -4,10 +4,10 @@ from ... import cached
4
4
  from ... import collections as col
5
5
  from ... import dataclasses as dc
6
6
  from ... import lang
7
- from ..base import Marshaler
8
- from ..base import MarshalerFactory
9
- from ..base import Unmarshaler
10
- from ..base import UnmarshalerFactory
7
+ from ..base.types import Marshaler
8
+ from ..base.types import MarshalerFactory
9
+ from ..base.types import Unmarshaler
10
+ from ..base.types import UnmarshalerFactory
11
11
  from ..naming import Naming
12
12
 
13
13
 
@@ -5,13 +5,13 @@ from ... import check
5
5
  from ... import collections as col
6
6
  from ... import lang
7
7
  from ... import reflect as rfl
8
- from ..base import MarshalContext
9
- from ..base import Marshaler
10
- from ..base import Option
11
- from ..base import SimpleMarshalerFactory
12
- from ..base import SimpleUnmarshalerFactory
13
- from ..base import UnmarshalContext
14
- from ..base import Unmarshaler
8
+ from ..base.contexts import MarshalContext
9
+ from ..base.contexts import UnmarshalContext
10
+ from ..base.options import Option
11
+ from ..base.types import Marshaler
12
+ from ..base.types import Unmarshaler
13
+ from ..factories.simple import SimpleMarshalerFactory
14
+ from ..factories.simple import SimpleUnmarshalerFactory
15
15
  from .marshal import ObjectMarshaler
16
16
  from .metadata import FieldInfo
17
17
  from .metadata import FieldInfos
@@ -4,10 +4,10 @@ import typing as ta
4
4
  from ... import check
5
5
  from ... import dataclasses as dc
6
6
  from ... import reflect as rfl
7
- from ..base import SimpleUnmarshalerFactory
8
- from ..base import UnmarshalContext
9
- from ..base import Unmarshaler
10
- from ..values import Value
7
+ from ..base.contexts import UnmarshalContext
8
+ from ..base.types import Unmarshaler
9
+ from ..base.values import Value
10
+ from ..factories.simple import SimpleUnmarshalerFactory
11
11
  from .metadata import FieldInfo
12
12
  from .metadata import FieldInfos
13
13
  from .metadata import ObjectSpecials
@@ -5,10 +5,10 @@ import typing as ta
5
5
  from ... import check
6
6
  from ... import lang
7
7
  from ... import reflect as rfl
8
- from ..base import MarshalContext
9
- from ..base import Marshaler
10
- from ..base import SimpleMarshalerFactory
11
- from ..values import Value
8
+ from ..base.contexts import MarshalContext
9
+ from ..base.types import Marshaler
10
+ from ..base.values import Value
11
+ from ..factories.simple import SimpleMarshalerFactory
12
12
  from .metadata import FieldTypeTagging
13
13
  from .metadata import Impls
14
14
  from .metadata import Polymorphism
@@ -2,9 +2,9 @@ import dataclasses as dc
2
2
  import typing as ta
3
3
 
4
4
  from ... import lang
5
+ from ..base.registries import RegistryItem
5
6
  from ..naming import Naming
6
7
  from ..naming import translate_name
7
- from ..registries import RegistryItem
8
8
 
9
9
 
10
10
  ##
@@ -1,7 +1,7 @@
1
1
  import typing as ta
2
2
 
3
- from ..base import MarshalerFactory
4
- from ..base import UnmarshalerFactory
3
+ from ..base.types import MarshalerFactory
4
+ from ..base.types import UnmarshalerFactory
5
5
  from .marshal import PolymorphismMarshalerFactory
6
6
  from .metadata import Polymorphism
7
7
  from .metadata import TypeTagging
@@ -6,13 +6,13 @@ from ... import dataclasses as dc
6
6
  from ... import lang
7
7
  from ... import reflect as rfl
8
8
  from ...funcs import match as mfs
9
- from ..base import MarshalContext
10
- from ..base import Marshaler
11
- from ..base import SimpleMarshalerFactory
12
- from ..base import SimpleUnmarshalerFactory
13
- from ..base import UnmarshalContext
14
- from ..base import Unmarshaler
15
- from ..values import Value
9
+ from ..base.contexts import MarshalContext
10
+ from ..base.contexts import UnmarshalContext
11
+ from ..base.types import Marshaler
12
+ from ..base.types import Unmarshaler
13
+ from ..base.values import Value
14
+ from ..factories.simple import SimpleMarshalerFactory
15
+ from ..factories.simple import SimpleUnmarshalerFactory
16
16
  from .marshal import make_polymorphism_marshaler
17
17
  from .metadata import Impls
18
18
  from .metadata import TypeTagging
@@ -6,10 +6,10 @@ import typing as ta
6
6
  from ... import check
7
7
  from ... import lang
8
8
  from ... import reflect as rfl
9
- from ..base import SimpleUnmarshalerFactory
10
- from ..base import UnmarshalContext
11
- from ..base import Unmarshaler
12
- from ..values import Value
9
+ from ..base.contexts import UnmarshalContext
10
+ from ..base.types import Unmarshaler
11
+ from ..base.values import Value
12
+ from ..factories.simple import SimpleUnmarshalerFactory
13
13
  from .metadata import FieldTypeTagging
14
14
  from .metadata import Impls
15
15
  from .metadata import Polymorphism
@@ -7,13 +7,13 @@ import typing as ta
7
7
 
8
8
  from ... import check
9
9
  from ... import dataclasses as dc
10
- from ..base import MarshalContext
11
- from ..base import Marshaler
12
- from ..base import TypeMapMarshalerFactory
13
- from ..base import TypeMapUnmarshalerFactory
14
- from ..base import UnmarshalContext
15
- from ..base import Unmarshaler
16
- from ..values import Value
10
+ from ..base.contexts import MarshalContext
11
+ from ..base.contexts import UnmarshalContext
12
+ from ..base.types import Marshaler
13
+ from ..base.types import Unmarshaler
14
+ from ..base.values import Value
15
+ from ..factories.typemap import TypeMapMarshalerFactory
16
+ from ..factories.typemap import TypeMapUnmarshalerFactory
17
17
 
18
18
 
19
19
  T = ta.TypeVar('T')
@@ -4,13 +4,13 @@ import typing as ta
4
4
 
5
5
  from ... import check
6
6
  from ... import datetimes as dts
7
- from ..base import MarshalContext
8
- from ..base import Marshaler
9
- from ..base import TypeMapMarshalerFactory
10
- from ..base import TypeMapUnmarshalerFactory
11
- from ..base import UnmarshalContext
12
- from ..base import Unmarshaler
13
- from ..values import Value
7
+ from ..base.contexts import MarshalContext
8
+ from ..base.contexts import UnmarshalContext
9
+ from ..base.types import Marshaler
10
+ from ..base.types import Unmarshaler
11
+ from ..base.values import Value
12
+ from ..factories.typemap import TypeMapMarshalerFactory
13
+ from ..factories.typemap import TypeMapUnmarshalerFactory
14
14
 
15
15
 
16
16
  DatetimeLikeT = ta.TypeVar('DatetimeLikeT', bound=datetime.datetime | datetime.date | datetime.time)
@@ -4,13 +4,13 @@ import typing as ta
4
4
 
5
5
  from ... import check
6
6
  from ... import reflect as rfl
7
- from ..base import MarshalContext
8
- from ..base import Marshaler
9
- from ..base import SimpleMarshalerFactory
10
- from ..base import SimpleUnmarshalerFactory
11
- from ..base import UnmarshalContext
12
- from ..base import Unmarshaler
13
- from ..values import Value
7
+ from ..base.contexts import MarshalContext
8
+ from ..base.contexts import UnmarshalContext
9
+ from ..base.types import Marshaler
10
+ from ..base.types import Unmarshaler
11
+ from ..base.values import Value
12
+ from ..factories.simple import SimpleMarshalerFactory
13
+ from ..factories.simple import SimpleUnmarshalerFactory
14
14
 
15
15
 
16
16
  ##
@@ -3,13 +3,13 @@ import fractions
3
3
  import typing as ta
4
4
 
5
5
  from ... import check
6
- from ..base import MarshalContext
7
- from ..base import Marshaler
8
- from ..base import TypeMapMarshalerFactory
9
- from ..base import TypeMapUnmarshalerFactory
10
- from ..base import UnmarshalContext
11
- from ..base import Unmarshaler
12
- from ..values import Value
6
+ from ..base.contexts import MarshalContext
7
+ from ..base.contexts import UnmarshalContext
8
+ from ..base.types import Marshaler
9
+ from ..base.types import Unmarshaler
10
+ from ..base.values import Value
11
+ from ..factories.typemap import TypeMapMarshalerFactory
12
+ from ..factories.typemap import TypeMapUnmarshalerFactory
13
13
 
14
14
 
15
15
  ##
@@ -5,13 +5,13 @@ TODO:
5
5
  import typing as ta
6
6
 
7
7
  from ... import dataclasses as dc
8
- from ..base import MarshalContext
9
- from ..base import Marshaler
10
- from ..base import TypeMapMarshalerFactory
11
- from ..base import TypeMapUnmarshalerFactory
12
- from ..base import UnmarshalContext
13
- from ..base import Unmarshaler
14
- from ..values import Value
8
+ from ..base.contexts import MarshalContext
9
+ from ..base.contexts import UnmarshalContext
10
+ from ..base.types import Marshaler
11
+ from ..base.types import Unmarshaler
12
+ from ..base.values import Value
13
+ from ..factories.typemap import TypeMapMarshalerFactory
14
+ from ..factories.typemap import TypeMapUnmarshalerFactory
15
15
 
16
16
 
17
17
  ##
@@ -2,13 +2,13 @@ import re
2
2
  import uuid
3
3
 
4
4
  from ... import check
5
- from ..base import MarshalContext
6
- from ..base import Marshaler
7
- from ..base import TypeMapMarshalerFactory
8
- from ..base import TypeMapUnmarshalerFactory
9
- from ..base import UnmarshalContext
10
- from ..base import Unmarshaler
11
- from ..values import Value
5
+ from ..base.contexts import MarshalContext
6
+ from ..base.contexts import UnmarshalContext
7
+ from ..base.types import Marshaler
8
+ from ..base.types import Unmarshaler
9
+ from ..base.values import Value
10
+ from ..factories.typemap import TypeMapMarshalerFactory
11
+ from ..factories.typemap import TypeMapUnmarshalerFactory
12
12
 
13
13
 
14
14
  ##
@@ -1,13 +1,7 @@
1
1
  import typing as ta
2
2
 
3
- from .base import MarshalerFactory
4
- from .base import MultiMarshalerFactory
5
- from .base import MultiUnmarshalerFactory
6
- from .base import RecursiveMarshalerFactory
7
- from .base import RecursiveUnmarshalerFactory
8
- from .base import TypeCacheMarshalerFactory
9
- from .base import TypeCacheUnmarshalerFactory
10
- from .base import UnmarshalerFactory
3
+ from .base.types import MarshalerFactory
4
+ from .base.types import UnmarshalerFactory
11
5
  from .composite.iterables import IterableMarshalerFactory
12
6
  from .composite.iterables import IterableUnmarshalerFactory
13
7
  from .composite.literals import LiteralMarshalerFactory
@@ -22,6 +16,12 @@ from .composite.optionals import OptionalMarshalerFactory
22
16
  from .composite.optionals import OptionalUnmarshalerFactory
23
17
  from .composite.special import SequenceNotStrMarshalerFactory
24
18
  from .composite.special import SequenceNotStrUnmarshalerFactory
19
+ from .factories.multi import MultiMarshalerFactory
20
+ from .factories.multi import MultiUnmarshalerFactory
21
+ from .factories.recursive import RecursiveMarshalerFactory
22
+ from .factories.recursive import RecursiveUnmarshalerFactory
23
+ from .factories.typecache import TypeCacheMarshalerFactory
24
+ from .factories.typecache import TypeCacheUnmarshalerFactory
25
25
  from .objects.dataclasses import DataclassMarshalerFactory
26
26
  from .objects.dataclasses import DataclassUnmarshalerFactory
27
27
  from .objects.namedtuples import NamedtupleMarshalerFactory
@@ -1,13 +1,13 @@
1
1
  import typing as ta
2
2
 
3
3
  from ... import reflect as rfl
4
- from ..base import MarshalContext
5
- from ..base import Marshaler
6
- from ..base import TypeMapMarshalerFactory
7
- from ..base import TypeMapUnmarshalerFactory
8
- from ..base import UnmarshalContext
9
- from ..base import Unmarshaler
10
- from ..values import Value
4
+ from ..base.contexts import MarshalContext
5
+ from ..base.contexts import UnmarshalContext
6
+ from ..base.types import Marshaler
7
+ from ..base.types import Unmarshaler
8
+ from ..base.values import Value
9
+ from ..factories.typemap import TypeMapMarshalerFactory
10
+ from ..factories.typemap import TypeMapUnmarshalerFactory
11
11
 
12
12
 
13
13
  ##
@@ -3,13 +3,13 @@ import typing as ta
3
3
 
4
4
  from ... import reflect as rfl
5
5
  from ...funcs import match as mfs
6
- from ..base import MarshalContext
7
- from ..base import Marshaler
8
- from ..base import SimpleMarshalerFactory
9
- from ..base import SimpleUnmarshalerFactory
10
- from ..base import UnmarshalContext
11
- from ..base import Unmarshaler
12
- from ..errors import ForbiddenTypeError
6
+ from ..base.contexts import MarshalContext
7
+ from ..base.contexts import UnmarshalContext
8
+ from ..base.errors import ForbiddenTypeError
9
+ from ..base.types import Marshaler
10
+ from ..base.types import Unmarshaler
11
+ from ..factories.simple import SimpleMarshalerFactory
12
+ from ..factories.simple import SimpleUnmarshalerFactory
13
13
 
14
14
 
15
15
  C = ta.TypeVar('C')
@@ -1,10 +1,10 @@
1
1
  import typing as ta
2
2
 
3
- from ..base import MarshalContext
4
- from ..base import Marshaler
5
- from ..base import UnmarshalContext
6
- from ..base import Unmarshaler
7
- from ..values import Value
3
+ from ..base.contexts import MarshalContext
4
+ from ..base.contexts import UnmarshalContext
5
+ from ..base.types import Marshaler
6
+ from ..base.types import Unmarshaler
7
+ from ..base.values import Value
8
8
 
9
9
 
10
10
  ##