omlish 0.0.0.dev454__py3-none-any.whl → 0.0.0.dev456__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 (48) hide show
  1. omlish/__about__.py +2 -2
  2. omlish/lang/__init__.py +7 -1
  3. omlish/lang/functions.py +2 -2
  4. omlish/lang/iterables.py +0 -8
  5. omlish/lang/sequences.py +124 -0
  6. omlish/marshal/__init__.py +6 -0
  7. omlish/marshal/base/configs.py +12 -0
  8. omlish/marshal/base/contexts.py +32 -16
  9. omlish/marshal/base/funcs.py +4 -12
  10. omlish/marshal/base/options.py +8 -0
  11. omlish/marshal/base/registries.py +32 -4
  12. omlish/marshal/base/types.py +27 -13
  13. omlish/marshal/composite/iterables.py +10 -8
  14. omlish/marshal/composite/literals.py +6 -4
  15. omlish/marshal/composite/mappings.py +10 -8
  16. omlish/marshal/composite/maybes.py +10 -8
  17. omlish/marshal/composite/newtypes.py +6 -6
  18. omlish/marshal/composite/optionals.py +6 -4
  19. omlish/marshal/composite/special.py +6 -6
  20. omlish/marshal/composite/unions/literals.py +6 -4
  21. omlish/marshal/composite/unions/primitives.py +6 -4
  22. omlish/marshal/factories/invalidate.py +4 -4
  23. omlish/marshal/factories/method.py +4 -6
  24. omlish/marshal/factories/moduleimport/factories.py +6 -6
  25. omlish/marshal/factories/multi.py +4 -4
  26. omlish/marshal/factories/recursive.py +4 -2
  27. omlish/marshal/factories/typecache.py +4 -9
  28. omlish/marshal/factories/typemap.py +4 -4
  29. omlish/marshal/objects/dataclasses.py +30 -16
  30. omlish/marshal/objects/marshal.py +4 -3
  31. omlish/marshal/objects/namedtuples.py +6 -6
  32. omlish/marshal/objects/unmarshal.py +4 -3
  33. omlish/marshal/polymorphism/marshal.py +4 -3
  34. omlish/marshal/polymorphism/unions.py +7 -7
  35. omlish/marshal/polymorphism/unmarshal.py +4 -3
  36. omlish/marshal/singular/enums.py +4 -2
  37. omlish/marshal/trivial/any.py +1 -1
  38. omlish/marshal/trivial/forbidden.py +4 -4
  39. omlish/specs/jsonrpc/_marshal.py +4 -4
  40. omlish/specs/openapi/_marshal.py +16 -10
  41. omlish/typedvalues/marshal.py +14 -14
  42. {omlish-0.0.0.dev454.dist-info → omlish-0.0.0.dev456.dist-info}/METADATA +1 -1
  43. {omlish-0.0.0.dev454.dist-info → omlish-0.0.0.dev456.dist-info}/RECORD +47 -47
  44. omlish/funcs/match.py +0 -229
  45. {omlish-0.0.0.dev454.dist-info → omlish-0.0.0.dev456.dist-info}/WHEEL +0 -0
  46. {omlish-0.0.0.dev454.dist-info → omlish-0.0.0.dev456.dist-info}/entry_points.txt +0 -0
  47. {omlish-0.0.0.dev454.dist-info → omlish-0.0.0.dev456.dist-info}/licenses/LICENSE +0 -0
  48. {omlish-0.0.0.dev454.dist-info → omlish-0.0.0.dev456.dist-info}/top_level.txt +0 -0
@@ -5,6 +5,7 @@ import typing as ta
5
5
  from ... import lang
6
6
  from ... import reflect as rfl
7
7
  from ..base.contexts import MarshalContext
8
+ from ..base.contexts import MarshalFactoryContext
8
9
  from ..base.types import Marshaler
9
10
  from ..base.types import MarshalerFactory
10
11
  from ..base.values import Value
@@ -52,10 +53,10 @@ class FieldPolymorphismMarshaler(PolymorphismMarshaler):
52
53
  def make_polymorphism_marshaler(
53
54
  impls: Impls,
54
55
  tt: TypeTagging,
55
- ctx: MarshalContext,
56
+ ctx: MarshalFactoryContext,
56
57
  ) -> Marshaler:
57
58
  m = {
58
- i.ty: (i.tag, ctx.make(i.ty))
59
+ i.ty: (i.tag, ctx.make_marshaler(i.ty))
59
60
  for i in impls
60
61
  }
61
62
  if isinstance(tt, WrapperTypeTagging):
@@ -71,7 +72,7 @@ class PolymorphismMarshalerFactory(MarshalerFactory):
71
72
  p: Polymorphism
72
73
  tt: TypeTagging = WrapperTypeTagging()
73
74
 
74
- def make_marshaler(self, ctx: MarshalContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
75
+ def make_marshaler(self, ctx: MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
75
76
  if rty is not self.p.ty:
76
77
  return None
77
78
  return lambda: make_polymorphism_marshaler(self.p.impls, self.tt, ctx)
@@ -5,8 +5,8 @@ from ... import check
5
5
  from ... import dataclasses as dc
6
6
  from ... import lang
7
7
  from ... import reflect as rfl
8
- from ..base.contexts import MarshalContext
9
- from ..base.contexts import UnmarshalContext
8
+ from ..base.contexts import MarshalFactoryContext
9
+ from ..base.contexts import UnmarshalFactoryContext
10
10
  from ..base.types import Marshaler
11
11
  from ..base.types import MarshalerFactory
12
12
  from ..base.types import Unmarshaler
@@ -32,7 +32,7 @@ class _BasePolymorphismUnionFactory(lang.Abstract):
32
32
  def rtys(self) -> frozenset[rfl.Type]:
33
33
  return frozenset(i.ty for i in self.impls)
34
34
 
35
- def _guard(self, ctx: MarshalContext | UnmarshalContext, rty: rfl.Type) -> bool:
35
+ def _guard(self, rty: rfl.Type) -> bool:
36
36
  if not isinstance(rty, rfl.Union):
37
37
  return False
38
38
  if self.allow_partial:
@@ -47,15 +47,15 @@ class _BasePolymorphismUnionFactory(lang.Abstract):
47
47
 
48
48
  @dc.dataclass(frozen=True)
49
49
  class PolymorphismUnionMarshalerFactory(_BasePolymorphismUnionFactory, MarshalerFactory):
50
- def make_marshaler(self, ctx: MarshalContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
51
- if not self._guard(ctx, rty):
50
+ def make_marshaler(self, ctx: MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
51
+ if not self._guard(rty):
52
52
  return None
53
53
  return lambda: make_polymorphism_marshaler(self.get_impls(rty), self.tt, ctx)
54
54
 
55
55
 
56
56
  @dc.dataclass(frozen=True)
57
57
  class PolymorphismUnionUnmarshalerFactory(_BasePolymorphismUnionFactory, UnmarshalerFactory):
58
- def make_unmarshaler(self, ctx: UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
59
- if not self._guard(ctx, rty):
58
+ def make_unmarshaler(self, ctx: UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
59
+ if not self._guard(rty):
60
60
  return None
61
61
  return lambda: make_polymorphism_unmarshaler(self.get_impls(rty), self.tt, ctx)
@@ -7,6 +7,7 @@ from ... import check
7
7
  from ... import lang
8
8
  from ... import reflect as rfl
9
9
  from ..base.contexts import UnmarshalContext
10
+ from ..base.contexts import UnmarshalFactoryContext
10
11
  from ..base.types import Unmarshaler
11
12
  from ..base.types import UnmarshalerFactory
12
13
  from ..base.values import Value
@@ -58,12 +59,12 @@ class FieldPolymorphismUnmarshaler(PolymorphismUnmarshaler):
58
59
  def make_polymorphism_unmarshaler(
59
60
  impls: Impls,
60
61
  tt: TypeTagging,
61
- ctx: UnmarshalContext,
62
+ ctx: UnmarshalFactoryContext,
62
63
  ) -> Unmarshaler:
63
64
  m = {
64
65
  t: u
65
66
  for i in impls
66
- for u in [ctx.make(i.ty)]
67
+ for u in [ctx.make_unmarshaler(i.ty)]
67
68
  for t in [i.tag, *i.alts]
68
69
  }
69
70
  if isinstance(tt, WrapperTypeTagging):
@@ -79,7 +80,7 @@ class PolymorphismUnmarshalerFactory(UnmarshalerFactory):
79
80
  p: Polymorphism
80
81
  tt: TypeTagging = WrapperTypeTagging()
81
82
 
82
- def make_unmarshaler(self, ctx: UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
83
+ def make_unmarshaler(self, ctx: UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
83
84
  if rty is not self.p.ty:
84
85
  return None
85
86
  return lambda: make_polymorphism_unmarshaler(self.p.impls, self.tt, ctx)
@@ -5,7 +5,9 @@ import typing as ta
5
5
  from ... import check
6
6
  from ... import reflect as rfl
7
7
  from ..base.contexts import MarshalContext
8
+ from ..base.contexts import MarshalFactoryContext
8
9
  from ..base.contexts import UnmarshalContext
10
+ from ..base.contexts import UnmarshalFactoryContext
9
11
  from ..base.types import Marshaler
10
12
  from ..base.types import MarshalerFactory
11
13
  from ..base.types import Unmarshaler
@@ -25,7 +27,7 @@ class EnumMarshaler(Marshaler):
25
27
 
26
28
 
27
29
  class EnumMarshalerFactory(MarshalerFactory):
28
- def make_marshaler(self, ctx: MarshalContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
30
+ def make_marshaler(self, ctx: MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
29
31
  if not (isinstance(rty, type) and issubclass(rty, enum.Enum)):
30
32
  return None
31
33
  return lambda: EnumMarshaler(rty) # noqa
@@ -40,7 +42,7 @@ class EnumUnmarshaler(Unmarshaler):
40
42
 
41
43
 
42
44
  class EnumUnmarshalerFactory(UnmarshalerFactory):
43
- def make_unmarshaler(self, ctx: UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
45
+ def make_unmarshaler(self, ctx: UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
44
46
  if not (isinstance(rty, type) and issubclass(rty, enum.Enum)):
45
47
  return None
46
48
  return lambda: EnumUnmarshaler(rty) # noqa
@@ -15,7 +15,7 @@ from ..factories.typemap import TypeMapUnmarshalerFactory
15
15
 
16
16
  class AnyMarshalerUnmarshaler(Marshaler, Unmarshaler):
17
17
  def marshal(self, ctx: MarshalContext, o: ta.Any) -> Value:
18
- return ctx.make(type(o)).marshal(ctx, o)
18
+ return ctx.marshal_factory_context.make_marshaler(type(o)).marshal(ctx, o)
19
19
 
20
20
  def unmarshal(self, ctx: UnmarshalContext, v: Value) -> ta.Any:
21
21
  return v
@@ -2,8 +2,8 @@ import dataclasses as dc
2
2
  import typing as ta
3
3
 
4
4
  from ... import reflect as rfl
5
- from ..base.contexts import MarshalContext
6
- from ..base.contexts import UnmarshalContext
5
+ from ..base.contexts import MarshalFactoryContext
6
+ from ..base.contexts import UnmarshalFactoryContext
7
7
  from ..base.errors import ForbiddenTypeError
8
8
  from ..base.types import Marshaler
9
9
  from ..base.types import MarshalerFactory
@@ -18,7 +18,7 @@ from ..base.types import UnmarshalerFactory
18
18
  class ForbiddenTypeMarshalerFactoryUnmarshalerFactory(MarshalerFactory, UnmarshalerFactory):
19
19
  rtys: ta.AbstractSet[rfl.Type]
20
20
 
21
- def make_marshaler(self, ctx: MarshalContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
21
+ def make_marshaler(self, ctx: MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Marshaler] | None:
22
22
  if rty not in self.rtys:
23
23
  return None
24
24
 
@@ -27,7 +27,7 @@ class ForbiddenTypeMarshalerFactoryUnmarshalerFactory(MarshalerFactory, Unmarsha
27
27
 
28
28
  return inner
29
29
 
30
- def make_unmarshaler(self, ctx: UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
30
+ def make_unmarshaler(self, ctx: UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], Unmarshaler] | None:
31
31
  if rty not in self.rtys:
32
32
  return None
33
33
 
@@ -25,7 +25,7 @@ class NotSpecifiedUnionMarshaler(msh.Marshaler):
25
25
 
26
26
 
27
27
  class NotSpecifiedUnionMarshalerFactory(msh.MarshalerFactory):
28
- def make_marshaler(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
28
+ def make_marshaler(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
29
29
  if not (
30
30
  isinstance(rty, rfl.Union) and
31
31
  not rty.is_optional and
@@ -36,14 +36,14 @@ class NotSpecifiedUnionMarshalerFactory(msh.MarshalerFactory):
36
36
  def inner() -> msh.Marshaler:
37
37
  args = set(check.isinstance(rty, rfl.Union).args) - {_NOT_SPECIFIED_RTY}
38
38
  nty = rfl.type_(ta.Union[*args])
39
- m = ctx.make(nty)
39
+ m = ctx.make_marshaler(nty)
40
40
  return NotSpecifiedUnionMarshaler(m)
41
41
 
42
42
  return inner
43
43
 
44
44
 
45
45
  class NotSpecifiedUnionUnmarshalerFactory(msh.UnmarshalerFactory):
46
- def make_unmarshaler(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
46
+ def make_unmarshaler(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None: # noqa
47
47
  if not (
48
48
  isinstance(rty, rfl.Union) and
49
49
  not rty.is_optional and
@@ -54,7 +54,7 @@ class NotSpecifiedUnionUnmarshalerFactory(msh.UnmarshalerFactory):
54
54
  def inner() -> msh.Unmarshaler:
55
55
  args = set(check.isinstance(rty, rfl.Union).args) - {_NOT_SPECIFIED_RTY}
56
56
  nty = rfl.type_(ta.Union[*args])
57
- return ctx.make(nty)
57
+ return ctx.make_unmarshaler(nty)
58
58
 
59
59
  return inner
60
60
 
@@ -36,10 +36,13 @@ class _ReferenceUnionMarshaler(msh.Marshaler):
36
36
 
37
37
 
38
38
  class _ReferenceUnionMarshalerFactory(msh.MarshalerFactory):
39
- def make_marshaler(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
39
+ def make_marshaler(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
40
40
  if (rua := _reference_union_arg(rty)) is None:
41
41
  return None
42
- return lambda: _ReferenceUnionMarshaler(ctx.make(check.not_none(rua)), ctx.make(Reference))
42
+ return lambda: _ReferenceUnionMarshaler(
43
+ ctx.make_marshaler(check.not_none(rua)),
44
+ ctx.make_marshaler(Reference),
45
+ )
43
46
 
44
47
 
45
48
  #
@@ -60,10 +63,13 @@ class _ReferenceUnionUnmarshaler(msh.Unmarshaler):
60
63
 
61
64
 
62
65
  class _ReferenceUnionUnmarshalerFactory(msh.UnmarshalerFactory):
63
- def make_unmarshaler(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
66
+ def make_unmarshaler(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None: # noqa
64
67
  if (rua := _reference_union_arg(rty)) is None:
65
68
  return None
66
- return lambda: _ReferenceUnionUnmarshaler(ctx.make(check.not_none(rua)), ctx.make(Reference))
69
+ return lambda: _ReferenceUnionUnmarshaler(
70
+ ctx.make_unmarshaler(check.not_none(rua)),
71
+ ctx.make_unmarshaler(Reference),
72
+ )
67
73
 
68
74
 
69
75
  ##
@@ -88,16 +94,16 @@ class _SchemaMarshaler(msh.Marshaler):
88
94
 
89
95
 
90
96
  class _SchemaMarshalerFactory(msh.MarshalerFactory):
91
- def make_marshaler(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
97
+ def make_marshaler(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
92
98
  if rty is not Schema:
93
99
  return None
94
100
  return lambda: _SchemaMarshaler(
95
101
  {
96
- f: (msh.translate_name(f, msh.Naming.LOW_CAMEL), ctx.make(rfl.type_(a)))
102
+ f: (msh.translate_name(f, msh.Naming.LOW_CAMEL), ctx.make_marshaler(rfl.type_(a)))
97
103
  for f, a in dc.reflect(Schema).field_annotations.items()
98
104
  if f != 'keywords'
99
105
  },
100
- ctx.make(jsch.Keywords),
106
+ ctx.make_marshaler(jsch.Keywords),
101
107
  )
102
108
 
103
109
 
@@ -124,16 +130,16 @@ class _SchemaUnmarshaler(msh.Unmarshaler):
124
130
 
125
131
 
126
132
  class _SchemaUnmarshalerFactory(msh.UnmarshalerFactory):
127
- def make_unmarshaler(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
133
+ def make_unmarshaler(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None: # noqa
128
134
  if rty is not Schema:
129
135
  return None
130
136
  return lambda: _SchemaUnmarshaler(
131
137
  {
132
- msh.translate_name(f, msh.Naming.LOW_CAMEL): (f, ctx.make(rfl.type_(a)))
138
+ msh.translate_name(f, msh.Naming.LOW_CAMEL): (f, ctx.make_unmarshaler(rfl.type_(a)))
133
139
  for f, a in dc.reflect(Schema).field_annotations.items()
134
140
  if f != 'keywords'
135
141
  },
136
- ctx.make(jsch.Keywords),
142
+ ctx.make_unmarshaler(jsch.Keywords),
137
143
  )
138
144
 
139
145
 
@@ -26,7 +26,7 @@ def _build_typed_value_poly(rty: rfl.Type) -> msh.Polymorphism:
26
26
 
27
27
  class TypedValueMarshalerFactory(msh.MarshalerFactoryMethodClass):
28
28
  @msh.MarshalerFactoryMethodClass.make_marshaler.register
29
- def _make_scalar(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
29
+ def _make_scalar(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
30
30
  if not (
31
31
  isinstance(rty, type) and
32
32
  issubclass(rty, ScalarTypedValue) and
@@ -37,13 +37,13 @@ class TypedValueMarshalerFactory(msh.MarshalerFactoryMethodClass):
37
37
  def inner() -> msh.Marshaler:
38
38
  dc_rfl = dc.reflect(check.isinstance(rty, type))
39
39
  v_rty = check.single(dc_rfl.fields_inspection.generic_replaced_field_annotations.values())
40
- v_m = ctx.make(v_rty)
40
+ v_m = ctx.make_marshaler(v_rty)
41
41
  return msh.WrappedMarshaler(lambda _, o: o.v, v_m)
42
42
 
43
43
  return inner
44
44
 
45
45
  @msh.MarshalerFactoryMethodClass.make_marshaler.register
46
- def _make_abstract(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
46
+ def _make_abstract(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
47
47
  if not (
48
48
  isinstance(rty, type) and
49
49
  issubclass(rty, TypedValue) and
@@ -60,7 +60,7 @@ class TypedValueMarshalerFactory(msh.MarshalerFactoryMethodClass):
60
60
 
61
61
  class TypedValueUnmarshalerFactory(msh.UnmarshalerFactoryMethodClass):
62
62
  @msh.UnmarshalerFactoryMethodClass.make_unmarshaler.register
63
- def _make_scalar(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
63
+ def _make_scalar(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
64
64
  if not (
65
65
  isinstance(rty, type) and
66
66
  issubclass(rty, ScalarTypedValue) and
@@ -71,13 +71,13 @@ class TypedValueUnmarshalerFactory(msh.UnmarshalerFactoryMethodClass):
71
71
  def inner() -> msh.Unmarshaler:
72
72
  dc_rfl = dc.reflect(rty)
73
73
  v_rty = check.single(dc_rfl.fields_inspection.generic_replaced_field_annotations.values())
74
- v_u = ctx.make(v_rty)
74
+ v_u = ctx.make_unmarshaler(v_rty)
75
75
  return msh.WrappedUnmarshaler(lambda _, v: rty(v), v_u)
76
76
 
77
77
  return inner
78
78
 
79
79
  @msh.UnmarshalerFactoryMethodClass.make_unmarshaler.register
80
- def _make_abstract(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
80
+ def _make_abstract(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None: # noqa
81
81
  if not (
82
82
  isinstance(rty, type) and
83
83
  issubclass(rty, TypedValue) and
@@ -117,7 +117,7 @@ def _build_typed_values_impls(rty: rfl.Type) -> msh.Impls:
117
117
  #
118
118
 
119
119
 
120
- def build_typed_values_marshaler(ctx: msh.MarshalContext, rty: rfl.Type) -> msh.Marshaler:
120
+ def build_typed_values_marshaler(ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> msh.Marshaler:
121
121
  tv_m = msh.make_polymorphism_marshaler(
122
122
  msh.Impls(_build_typed_values_impls(rty)),
123
123
  msh.WrapperTypeTagging(),
@@ -128,22 +128,22 @@ def build_typed_values_marshaler(ctx: msh.MarshalContext, rty: rfl.Type) -> msh.
128
128
 
129
129
  class TypedValuesMarshalerFactory(msh.MarshalerFactoryMethodClass):
130
130
  @msh.MarshalerFactoryMethodClass.make_marshaler.register
131
- def _make_generic(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
131
+ def _make_generic(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
132
132
  if not (isinstance(rty, rfl.Generic) and rty.cls is TypedValues):
133
133
  return None
134
134
  return lambda: build_typed_values_marshaler(ctx, rty)
135
135
 
136
136
  @msh.MarshalerFactoryMethodClass.make_marshaler.register
137
- def _make_concrete(self, ctx: msh.MarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
137
+ def _make_concrete(self, ctx: msh.MarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Marshaler] | None:
138
138
  if rty is not TypedValues:
139
139
  return None
140
- return lambda: lang.raise_(NotImplementedError())
140
+ return lambda: lang.raise_(NotImplementedError)
141
141
 
142
142
 
143
143
  #
144
144
 
145
145
 
146
- def build_typed_values_unmarshaler(ctx: msh.UnmarshalContext, rty: rfl.Type) -> msh.Unmarshaler:
146
+ def build_typed_values_unmarshaler(ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> msh.Unmarshaler:
147
147
  tv_u = msh.make_polymorphism_unmarshaler(
148
148
  msh.Impls(_build_typed_values_impls(rty)),
149
149
  msh.WrapperTypeTagging(),
@@ -154,16 +154,16 @@ def build_typed_values_unmarshaler(ctx: msh.UnmarshalContext, rty: rfl.Type) ->
154
154
 
155
155
  class TypedValuesUnmarshalerFactory(msh.UnmarshalerFactoryMethodClass):
156
156
  @msh.UnmarshalerFactoryMethodClass.make_unmarshaler.register
157
- def _build(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
157
+ def _build(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
158
158
  if not (isinstance(rty, rfl.Generic) and rty.cls is TypedValues):
159
159
  return None
160
160
  return lambda: build_typed_values_unmarshaler(ctx, rty)
161
161
 
162
162
  @msh.UnmarshalerFactoryMethodClass.make_unmarshaler.register
163
- def _build_concrete(self, ctx: msh.UnmarshalContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None:
163
+ def _build_concrete(self, ctx: msh.UnmarshalFactoryContext, rty: rfl.Type) -> ta.Callable[[], msh.Unmarshaler] | None: # noqa
164
164
  if rty is not TypedValues:
165
165
  return None
166
- return lambda: lang.raise_(NotImplementedError())
166
+ return lambda: lang.raise_(NotImplementedError)
167
167
 
168
168
 
169
169
  ##
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev454
3
+ Version: 0.0.0.dev456
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.omlish-manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
2
- omlish/__about__.py,sha256=J8aygU4-P9CXE7Ipp0WIsYvR4qc9tWE54x0wZEXtc3o,3613
2
+ omlish/__about__.py,sha256=OqcsTrPCRTuWFUL-T10Ex74zucxFS2ywce2ec9Qnj40,3613
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=ZNIMl1kwg3qdei4DiUrJPQe5M81S1e76N-GuNSwLBAE,8683
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -289,7 +289,6 @@ omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
289
  omlish/funcs/builders.py,sha256=ZSBQS2xqriXp5x0t074EEZvuTmMp4Yue2YGBoTLAioo,4044
290
290
  omlish/funcs/genmachine.py,sha256=BOxO1OTjxZ7ewv_WpqYkY8bwlGQIJIjwjvYMflEFa_M,2571
291
291
  omlish/funcs/guard.py,sha256=OfxDQRJfnRmVrXOPK2QuUtJ3MN3dxMA_q0gIb7C8m2s,5958
292
- omlish/funcs/match.py,sha256=cBtG7kdpWdxvHwlte5CWlBxXSoJSV48joV4bwJJC3pk,6352
293
292
  omlish/funcs/pairs.py,sha256=XhYTJdqooAJKeoGZmEaiKYeFRq5-Dj2_y92IdBl_C20,4371
294
293
  omlish/funcs/pipes.py,sha256=E1dQZMBmgT2qautG1vEqy5v3QBsO2Nzryv33j4YAngA,2520
295
294
  omlish/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -411,7 +410,7 @@ omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,4
411
410
  omlish/iterators/tools.py,sha256=M16LXrJhMdsz5ea2qH0vws30ZvhQuQSCVFSLpRf_gTg,2096
412
411
  omlish/iterators/transforms.py,sha256=YHVdD9nBkS1k4kogi4Ba0UOTU_pKkuX9jGw1Tqj3UMw,3598
413
412
  omlish/iterators/unique.py,sha256=BSE-eanva8byFCJi09Nt2zzTsVr8LnTqY1PIInGYRs0,1396
414
- omlish/lang/__init__.py,sha256=FiAlQCNPHoJABATaW-eFLEe8h0crfDgt--VFhKDTIJ0,10720
413
+ omlish/lang/__init__.py,sha256=cu35SEtPGFFKOrttPsD__wjnefZrue-upqpw01ml50c,10802
415
414
  omlish/lang/asyncs.py,sha256=iIHJp7nvgJVj7zS0Ji7NsVSzz54vkzrj0Snc83dxe9g,1965
416
415
  omlish/lang/attrstorage.py,sha256=UUnoENCMQF3twBfxBcIKa5mpXsAxWnNYDayhU8xgmpU,5224
417
416
  omlish/lang/casing.py,sha256=3_c7cxQOc4z_YezaU2B4NCTAsPh_kDL4wUTK5kZU6kg,4675
@@ -423,9 +422,9 @@ omlish/lang/datetimes.py,sha256=01tg21QOx-PWDlm-CSFTalym3vpqF0EKzeinmtcVNoU,379
423
422
  omlish/lang/descriptors.py,sha256=sVJ1Pr4ihp26Tu9UCvDSyfSf-DhBnFGnbpYIFF32c7g,6877
424
423
  omlish/lang/enums.py,sha256=F9tflHfaAoV2MpyuhZzpfX9-H55M3zNa9hCszsngEo8,111
425
424
  omlish/lang/errors.py,sha256=shcS-NCnEUudF8qC_SmO2TQyjivKlS4TDjaz_faqQ0c,44
426
- omlish/lang/functions.py,sha256=f7K2SC-09veno_lsUGu0DkZks2gL8VpsmyQMB4Q_i6Q,5663
425
+ omlish/lang/functions.py,sha256=tZL7Yi5Oy34lvzP6HhWmV5q1eg5-mk3FrWEjsmhKRhY,5707
427
426
  omlish/lang/generators.py,sha256=nJiSmDpsfPiypGzJ8qlOO7-BUnCsrAeDow9mhtGgBio,5196
428
- omlish/lang/iterables.py,sha256=5CJNkLyY4Oq43UkiM7KCgV9F6jzrlr9SLiuNx3DAvm8,3608
427
+ omlish/lang/iterables.py,sha256=o_s8ouaJrdUqEVl2_bzJk5CVdabmrywXY0gPn7xss3w,3371
429
428
  omlish/lang/lazyglobals.py,sha256=YfPtWgNEa0ULtbIiQIQ12pbafUwd6INQRw_PFcAabjo,2282
430
429
  omlish/lang/maybes.py,sha256=8GUpqJvyx9y5PQBQBBx6yTSE5WKsMbXMHPt4_vojKUw,209
431
430
  omlish/lang/maysync.py,sha256=S2Q_rGC4AxRa1UsGJdSzZsYpgOcX9Y8ZmYGA9v8OWn8,1635
@@ -436,6 +435,7 @@ omlish/lang/params.py,sha256=sfbNoGrKCsAtubFufj_uh_WKshIgA8fqJ4PmLH1PH00,6639
436
435
  omlish/lang/recursion.py,sha256=1VfSqzKO-8Is3t9LKw0W4jwPfE0aBS70EUlbUxAx4eE,1900
437
436
  omlish/lang/resolving.py,sha256=nMosn-rcYjI8t6b35oICDyPw6t6-HvWj5jMdkfn1jfA,1612
438
437
  omlish/lang/resources.py,sha256=awfh33Uxkd9Ho-5Z3d9CPWQE3gjktV0XWM6XbdG0ejA,2845
438
+ omlish/lang/sequences.py,sha256=OJ5hdgjvgzOgsb0Bg8vGrwPyef4gkRPp-Bz21sc9_iE,3185
439
439
  omlish/lang/strings.py,sha256=TY-v0iGu6BxEKb99YS-VmIJqc-sTAqMv7mCDJQALMnI,4550
440
440
  omlish/lang/sys.py,sha256=KPe1UOXk1VxlOYt_aLmhN0KqsA4wnP-4nm4WEwO49pw,411
441
441
  omlish/lang/typing.py,sha256=ZN4t8oGSSknf_T1HbfqVQ7Y9OOZ1RkikYihNxdBlTFQ,3733
@@ -528,65 +528,65 @@ omlish/manifests/globals.py,sha256=kVqQ-fT4kc7xWzLHoI731GviitFPv2v2yqw-p7t7Exs,2
528
528
  omlish/manifests/loading.py,sha256=s6KnhdFQCsI2i0Rus1sMU0so2v8dUBnk59BJkSnxGt8,17514
529
529
  omlish/manifests/static.py,sha256=9BaPBLkuzxHmg5A-5k9BjjBFINCdmFOIu06dMFgCfz4,497
530
530
  omlish/manifests/types.py,sha256=NeOGuIVrcbqjCDbQ3MnCxxHAgHnw0CkWJsBzo230PWE,453
531
- omlish/marshal/__init__.py,sha256=NYAgvE_LM32NhxKYAXzUntpenu-d5iFOFDzDtm99MGo,6464
531
+ omlish/marshal/__init__.py,sha256=zmNQNAla57SbwjW7iz74nmEIvrnx8Dp6k5qvqwCeAHM,6548
532
532
  omlish/marshal/globals.py,sha256=Q6G18hcUwUDDNnpyRPnR5Tn_XZpZCSIEXo09nYSOaNU,2236
533
533
  omlish/marshal/naming.py,sha256=Mk5YrbES836_KflNNRoc5Ajd96iMYLQIMERKx1KpT4g,865
534
534
  omlish/marshal/standard.py,sha256=8Qy5L3qMHO-V_fu78tM62wMcGpF0kgrFrxn06IRbFXQ,6906
535
535
  omlish/marshal/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
536
- omlish/marshal/base/configs.py,sha256=y_JRghQgu8mJjPspSZcJQLhjevEuJE2kyxCdu3wGKvo,271
537
- omlish/marshal/base/contexts.py,sha256=kqfw0TLz70dfaRCZyjH12js6wzsk7BoGPHfDXoRv_YY,2222
536
+ omlish/marshal/base/configs.py,sha256=BNXmjDae5FgoYrjUnveY2xmMRukqWxH5KVK-VfL5GUE,465
537
+ omlish/marshal/base/contexts.py,sha256=-mzH_f5JMyUpokCEYmqf8Er0YZtxhet5RFk4UyxoBw4,2653
538
538
  omlish/marshal/base/errors.py,sha256=jmN3vl_U_hB6L0wAvuO7ORG27vXF7KEUk-1TxxK2mYA,308
539
- omlish/marshal/base/funcs.py,sha256=Tc_v3hhj61n6_ieQETe1vaYrN7sByZ4Xv5AzacsqGzQ,1634
540
- omlish/marshal/base/options.py,sha256=OoDErPmI0kswnqAtr7QYndlPYhIqIDarx833tKFT2R4,23
539
+ omlish/marshal/base/funcs.py,sha256=UIlVHZ_vARJ8MNKsR6n5x5GnFQQ7Z0MaIZKYxHMsZaQ,1470
540
+ omlish/marshal/base/options.py,sha256=Yuk4VDeKw9N26wSHda9_mMWj1hdgQTnenJ6hPYfrFts,235
541
541
  omlish/marshal/base/overrides.py,sha256=543hP4_y2JRThUOamCE0dPfgucbepVV8e_YF-_PJk6U,993
542
- omlish/marshal/base/registries.py,sha256=NRH5X4nE_aF7vcTi4_5qqQpYbYru2Ud6aD0eKfuJ_Ws,5903
543
- omlish/marshal/base/types.py,sha256=YcA8smfVkIWNfMV4y6FEqQBJoFfwz1AOiHvbaaD27kE,3032
542
+ omlish/marshal/base/registries.py,sha256=dl4AyOXI-_HN4TKLwj48tdAgkgH9oZo-rBBb-P-F7t8,6441
543
+ omlish/marshal/base/types.py,sha256=4GU0T842oIfOYKOif25IVn5vVqWzXPtlYHRahdVgbjs,3561
544
544
  omlish/marshal/base/values.py,sha256=QF6OateG5kjRPHYza08wscThhg20oryf-aVQrxjfkC0,212
545
545
  omlish/marshal/composite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
546
- omlish/marshal/composite/iterables.py,sha256=b9REKCYhbPSj2VwUG8wRjonrENExIE1fjHTd3hHYsYc,2974
547
- omlish/marshal/composite/literals.py,sha256=jbPi5A7xgRja3GdiwPwFtIkP_Z-Smb1m3yDnEWIYU9w,1716
548
- omlish/marshal/composite/mappings.py,sha256=U1ONUxnJj9oaduJ4Gh2bOzAfcAtAdp-pn1RWndYJlng,3127
549
- omlish/marshal/composite/maybes.py,sha256=d2z2lrzbfMJ7Vtn7UmUk4BkbSSP-8sHt8K4d0Xbo3tc,2531
550
- omlish/marshal/composite/newtypes.py,sha256=uOPpcbq3Rb_0VavwqEREhxteNNNHZnUh7W3wcn_EWNk,923
551
- omlish/marshal/composite/optionals.py,sha256=Y0YkHoXhhUkmWhEyeevtq9tXS9UfGcKVGl--MvjB7iI,1570
552
- omlish/marshal/composite/special.py,sha256=u9jMgs_6ozyoFin8pLDsvjrEip98zxRlai0HliHmVjU,1314
546
+ omlish/marshal/composite/iterables.py,sha256=zswx4nmYPWNu1Ht7myjNwy_q5a4Sq-hH7Ky7rIYBqv4,3148
547
+ omlish/marshal/composite/literals.py,sha256=KrrvPuzGZGhlcY64Nt1_kNrCRWu671JIdTkIaNQGOPk,1854
548
+ omlish/marshal/composite/mappings.py,sha256=W2RKCa-7JEOvimiCR23sexV84hlFh7j5aNVQ4p9uMeQ,3319
549
+ omlish/marshal/composite/maybes.py,sha256=JCT1ZDd-x__Y2EM8BmNANVIC2k2eNxTN2MtPf7O-K0g,2705
550
+ omlish/marshal/composite/newtypes.py,sha256=t0YL76AIYk9jCwz6g6oZburVm2mZ0_m89XTfX1T022k,973
551
+ omlish/marshal/composite/optionals.py,sha256=MfHJ6w43OzWJKcO94JOZX1b6HTCvexys5BEEoYtJrGg,1708
552
+ omlish/marshal/composite/special.py,sha256=34I0IsUrZjtTrk0qgPAcvyT-lkHNCkvAIkjgl6ulYhw,1364
553
553
  omlish/marshal/composite/wrapped.py,sha256=xC8k21wJOpSkpAn7794hBTPBRw-HPC9sOF3WRlUh_BA,785
554
554
  omlish/marshal/composite/unions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
555
- omlish/marshal/composite/unions/literals.py,sha256=nDEseg440hPNZy0avkTzlTWuEJlBH2Z729wAtpSvZf0,2648
556
- omlish/marshal/composite/unions/primitives.py,sha256=vsWNjtjjy49Z-WX3hZzRGUHfmToh4-7A8KT7plIzcZ8,2821
555
+ omlish/marshal/composite/unions/literals.py,sha256=__8oTce5sNbM-fDfQ8UhllQOdzu4fmvEIkYWcS6qr2U,2810
556
+ omlish/marshal/composite/unions/primitives.py,sha256=xP38hnQXkF0t2xaKyHilhqpAeLwCMl9K6a6ekI_VtW0,2961
557
557
  omlish/marshal/factories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
558
- omlish/marshal/factories/invalidate.py,sha256=DmnyOaVSMmlHRjoLtxbpPynCI6vxIeSE6K6Gt2CzHhY,1959
559
- omlish/marshal/factories/method.py,sha256=ZyyLTn7y7K1yLZI-UowWZHa_hTs1F93v3Jc5sdPMg4E,884
560
- omlish/marshal/factories/multi.py,sha256=TBabfvqNe9z94egP8z3CGmcx21-c_aVEEA6-IJj-rp0,1251
561
- omlish/marshal/factories/recursive.py,sha256=W24-Td1TylXxDjOCz9So-GYAtOhkNzuO78NKHo5GBgs,2868
562
- omlish/marshal/factories/typecache.py,sha256=JwRRTnTgTa-AEtPbfjJg2t4n2TAmvxvFOI5UerUeRZc,1659
563
- omlish/marshal/factories/typemap.py,sha256=aNxAHsdwuaeACR3Ll0WZ2EMqJN-pnSiZ5g45Rq4QQ5k,1967
558
+ omlish/marshal/factories/invalidate.py,sha256=qoI5BI6tsTmrZc1ahz5c_YjMpHKzlc0Fo-n9lCJbUeQ,1987
559
+ omlish/marshal/factories/method.py,sha256=Uk92_AGnEdH5P4CrebuFWPhONDk4ydteW7hSRfI6ZtI,884
560
+ omlish/marshal/factories/multi.py,sha256=IbsUbzPiIho55CzZtPQk2ub9eAdvwoFy2Q8XliBaK5o,1279
561
+ omlish/marshal/factories/recursive.py,sha256=spoPD0w7kyq3tiXFxlNSh2SYCFrPNzM6zPm3234sEHI,2984
562
+ omlish/marshal/factories/typecache.py,sha256=8DwgyAKEA7scdhSxndPbC3NltkFViM_C4nP8xViSUKc,1598
563
+ omlish/marshal/factories/typemap.py,sha256=-Dl3Z-MvssSP_oPj3i32_72A9nSHNM1HtpTuys7tDHg,1995
564
564
  omlish/marshal/factories/moduleimport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
565
565
  omlish/marshal/factories/moduleimport/configs.py,sha256=8g6FSPmyo0IOYSWYp5kqfJACZxL9SvzlHzrSzucNZyg,538
566
- omlish/marshal/factories/moduleimport/factories.py,sha256=PaXmv83xIBqWB8fwJglXMM9Mr2tzLmK_nhjsKSKUVCA,2376
566
+ omlish/marshal/factories/moduleimport/factories.py,sha256=Y-K7l6lhU1oFXWP83qnPU1Qp4jGp3eEDRERHuK-1nOE,2388
567
567
  omlish/marshal/objects/__init__.py,sha256=F4wej8L_tedC8ETYxAnmKfdPR9TjsqIus9Z3nZofYuc,182
568
- omlish/marshal/objects/dataclasses.py,sha256=R_rxgmo5qo3XoC7h00VbFWtCkEBgY-UzigHDYDgwYC4,10014
568
+ omlish/marshal/objects/dataclasses.py,sha256=wQ6s7z6zuoPJfUN4TqQSeDjxj0MzUJyH4vwYORnrxUY,10431
569
569
  omlish/marshal/objects/helpers.py,sha256=hj5I1pILt3QFSVkYJNrSO3wiCaalAopEYWPL17Ip4zs,1102
570
- omlish/marshal/objects/marshal.py,sha256=KNxAUUzwJs3Ttn4hELjy_9NRUugtW9zXQI8Nz4vVNiE,2744
570
+ omlish/marshal/objects/marshal.py,sha256=KhS2ZTW1X5N-mK1qYlb-qIpEqU5ZEp8TLTXLhttEoMU,2818
571
571
  omlish/marshal/objects/metadata.py,sha256=maGqyQl0GE9xWK17DQjXxhZWRh3nRwH4fgklrA8XVQI,3392
572
- omlish/marshal/objects/namedtuples.py,sha256=FHJFi84462vrkDvEsBAb9B7FmAS7I_ACx4vm4HnT5xU,3118
573
- omlish/marshal/objects/unmarshal.py,sha256=LI0HKaCvUpoERFs2Mmi8g37P2WweWXrVLiZgYzJg7Vo,3734
572
+ omlish/marshal/objects/namedtuples.py,sha256=YohP58NraqI9SZzMtLk6s0CrWVow417fxjA2Aqq-7vA,3168
573
+ omlish/marshal/objects/unmarshal.py,sha256=91wxKiMsPaJHYYUfImGkEcsg4cycIEw8_xGsZ6QrrZQ,3812
574
574
  omlish/marshal/polymorphism/__init__.py,sha256=e2UTrSL0qp7w_1vkdxDWd7sXlWhep2KPV49-BB64ma8,130
575
- omlish/marshal/polymorphism/marshal.py,sha256=YgxQKDKC2Jq3mD3IYbBwzT6zsW8Lbi-zibbOK_noABc,2221
575
+ omlish/marshal/polymorphism/marshal.py,sha256=Xsos29MvL7umwgO3ReNu7KMPYGyJ-qrgFIUJGYdmT70,2295
576
576
  omlish/marshal/polymorphism/metadata.py,sha256=s5lNTzvP487niVorDUy6RFeTB7hde89ENgm-7I_MQg0,3622
577
577
  omlish/marshal/polymorphism/standard.py,sha256=sfxKVjFG8tUam_U75_rFMY2-JSWw_l1_HBg2MrXjQHE,1096
578
- omlish/marshal/polymorphism/unions.py,sha256=tYE5hJBqd5NRAWsw93hnWJdjzp0wVR9pdIgMr2I9oX4,2163
579
- omlish/marshal/polymorphism/unmarshal.py,sha256=Zu65a26OttpMi1udRe32i1l1das-_Om_L-af_XbathU,2434
578
+ omlish/marshal/polymorphism/unions.py,sha256=JyXhQOV9bHbCfuHq94QU8TnHROS_eRbXycfwBvG0mzw,2141
579
+ omlish/marshal/polymorphism/unmarshal.py,sha256=v_bZe6jDH5Y04csfQe76hDTY25H-kEzTSzQZjhjsZrQ,2512
580
580
  omlish/marshal/singular/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
581
581
  omlish/marshal/singular/base64.py,sha256=OZ3Ydwy64S0M-xlktYy5MagzyzTOVYayUXblq8ZK-AE,1164
582
582
  omlish/marshal/singular/datetimes.py,sha256=nzOf8LRwAB08X80N_NmWuE3rOrYG80ZgIaZO3549WnE,3784
583
- omlish/marshal/singular/enums.py,sha256=l7qaW68dGjUQ6JfB8KQSoPOglDRFGzCJGNv6hj0Nxug,1377
583
+ omlish/marshal/singular/enums.py,sha256=RzP9R9NhPfo-Yq-yF-Awg-_dnnJoqAeAlIYGZoDKz4A,1493
584
584
  omlish/marshal/singular/numbers.py,sha256=32_lSiaQc796u0WsPyiYORiJoaI5qh2IZxiIfF8n360,1746
585
585
  omlish/marshal/singular/primitives.py,sha256=T1mRNMin7OOBjsBkAh1xVbHa-VBmtMfL55mhCfiruIg,1360
586
586
  omlish/marshal/singular/uuids.py,sha256=J6Swxzm0rFvAMCmErJb4WpSPmnQyts7qOqy43Y1BugI,984
587
587
  omlish/marshal/trivial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
588
- omlish/marshal/trivial/any.py,sha256=XaqSW0fyq2FVE4PQ4IG0UaXr59kRVGccgZDlsNHrd_Q,852
589
- omlish/marshal/trivial/forbidden.py,sha256=v56LLiXA9ZeYASE4bI56yZTRpyrQIKRGJWVjcPQNCNo,1194
588
+ omlish/marshal/trivial/any.py,sha256=9SmivhlphEn8kdUNsu7qRhQITrcHfkT6JmipAtMzb1k,886
589
+ omlish/marshal/trivial/forbidden.py,sha256=_-tSgy2UpDKHERsRm8Alg1FvU7vg4YrwvKB-JI2CrRg,1222
590
590
  omlish/marshal/trivial/nop.py,sha256=PDXT0B9RR-ghG6ExuK9BH2J-nHEnoTYGNdVaNAyRzSk,506
591
591
  omlish/math/__init__.py,sha256=bcdEEM3l4YNPJvTY_gD-7ARa5HEBNFTfvkVDTTzaNOQ,1531
592
592
  omlish/math/bits.py,sha256=pcTuWxNXXfG-CtTITNNbW3YConAkCeU8PLNcglCc43E,533
@@ -664,7 +664,7 @@ omlish/specs/jmespath/parser.py,sha256=uNk9_xQ9cZJC1h5naoH1HMbCs4B0WhV2jN5AvhdKT
664
664
  omlish/specs/jmespath/scope.py,sha256=gsVjmAVF0b7s2SevWb0rBbURayiMSIuXfzO4v1ONIrY,1595
665
665
  omlish/specs/jmespath/visitor.py,sha256=6OCi7oa4IsGW5fCqAeFuXYEwn-aLKuMrNMFtQKSpJWo,16951
666
666
  omlish/specs/jsonrpc/__init__.py,sha256=u2kcJeo6YWEvFYf7OqDNKThszGLSmXYFNJpqXmXgm1M,504
667
- omlish/specs/jsonrpc/_marshal.py,sha256=Z85o3XHUlzPN37J6CcM2yqhHNtX6pARHf9VfV2cv5Ds,2058
667
+ omlish/specs/jsonrpc/_marshal.py,sha256=RQZC1KEmI4tbPieRZ2rAcn0QDN_a6mhSVirdB57XewA,2102
668
668
  omlish/specs/jsonrpc/conns.py,sha256=zvWnBHuSoGnvbGVk72Usp4IFsLscrzPozqR2hmFjnDI,7029
669
669
  omlish/specs/jsonrpc/errors.py,sha256=WxEU7k1TqeZAo_H6eU0LcrXSd-Gi_3fTvtxjXZ9qKww,712
670
670
  omlish/specs/jsonrpc/types.py,sha256=Se9ecG-_k-kY_Qlt9QD2t3y26oY4sXTcskp6XZfVans,3054
@@ -694,7 +694,7 @@ omlish/specs/jsonschema/schemas/draft202012/vocabularies/meta-data.json,sha256=j
694
694
  omlish/specs/jsonschema/schemas/draft202012/vocabularies/unevaluated.json,sha256=Lb-8tzmUtnCwl2SSre4f_7RsIWgnhNL1pMpWH54tDLQ,506
695
695
  omlish/specs/jsonschema/schemas/draft202012/vocabularies/validation.json,sha256=cBCjHlQfMtK-ch4t40jfdcmzaHaj7TBId_wKvaHTelg,2834
696
696
  omlish/specs/openapi/__init__.py,sha256=KS7OHPBlXwBeTvmsUQy0VMzKYdz2RyH3qLF3bU0NXUw,147
697
- omlish/specs/openapi/_marshal.py,sha256=DFO1dbUnaxg_G9ke24vIGAU-4IgJcBR1mtIIcsVL6so,4510
697
+ omlish/specs/openapi/_marshal.py,sha256=DpI0ibKPIpOA1AsxrCawPHaJfPmGmexnqUjtLb64UbI,4712
698
698
  omlish/specs/openapi/openapi.py,sha256=6KGY_d8HOyG7ssHIWM40MCXgIMzNLiLKHYNggTSpAYM,12027
699
699
  omlish/sql/__init__.py,sha256=JjgIiP2YfiHHIANP7qgkJUG0IMIRzzvKntyhdDKeNdY,384
700
700
  omlish/sql/abc.py,sha256=3hrCjB4jnPVMef_YXClCblzYUZ9l9yaxJJdd5_Nu9GM,4043
@@ -822,13 +822,13 @@ omlish/typedvalues/collection.py,sha256=CK4Vk9kJqAt2V8o6I4zGyv2u9DKov12uSvsGdqEd
822
822
  omlish/typedvalues/consumer.py,sha256=lDOE-O_sgGbOvbcBg2g5ZRaV2WixnuEYxFsJBaj18oU,4690
823
823
  omlish/typedvalues/generic.py,sha256=ft-x4X3k1oFirtYnDfsvrI3ZQikWM8lGLrvrOEbcGq0,742
824
824
  omlish/typedvalues/holder.py,sha256=vu-umn-h1nvUqmtV5T9ZfQ_OoOYsERu8PhI2N48Ryns,1133
825
- omlish/typedvalues/marshal.py,sha256=HKlUzFhOfJgxLADRHOIcwlr-UbGSSuUHkNgUX070k0E,5954
825
+ omlish/typedvalues/marshal.py,sha256=2xqX6JllhtGpmeYkU7C-qzgU__0x-vd6CzYbAsocQlc,6058
826
826
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
827
827
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
828
828
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
829
- omlish-0.0.0.dev454.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
830
- omlish-0.0.0.dev454.dist-info/METADATA,sha256=N5zehQbu1WtUkkeeT84dmZqYu8lVV354n5GZT0MZmd8,19003
831
- omlish-0.0.0.dev454.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
832
- omlish-0.0.0.dev454.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
833
- omlish-0.0.0.dev454.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
834
- omlish-0.0.0.dev454.dist-info/RECORD,,
829
+ omlish-0.0.0.dev456.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
830
+ omlish-0.0.0.dev456.dist-info/METADATA,sha256=9A5eDRKfxCtCY62s2IEBnZe_SsoG4y8e8H2-LFsO_64,19003
831
+ omlish-0.0.0.dev456.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
832
+ omlish-0.0.0.dev456.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
833
+ omlish-0.0.0.dev456.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
834
+ omlish-0.0.0.dev456.dist-info/RECORD,,