omlish 0.0.0.dev484__py3-none-any.whl → 0.0.0.dev506__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.

Potentially problematic release.


This version of omlish might be problematic. Click here for more details.

Files changed (93) hide show
  1. omlish/CODESTYLE.md +345 -0
  2. omlish/README.md +199 -0
  3. omlish/__about__.py +12 -5
  4. omlish/_check.cc +209 -0
  5. omlish/check.py +11 -0
  6. omlish/dataclasses/__init__.py +4 -0
  7. omlish/dataclasses/impl/concerns/frozen.py +4 -1
  8. omlish/dataclasses/impl/generation/plans.py +2 -17
  9. omlish/dataclasses/impl/generation/processor.py +2 -2
  10. omlish/dataclasses/impl/processing/driving.py +13 -1
  11. omlish/dataclasses/tools/replace.py +27 -0
  12. omlish/diag/_pycharm/runhack.py +1 -1
  13. omlish/dispatch/functions.py +1 -1
  14. omlish/formats/json/stream/lexing.py +13 -5
  15. omlish/formats/json/stream/parsing.py +1 -1
  16. omlish/inject/README.md +430 -0
  17. omlish/inject/__init__.py +20 -11
  18. omlish/inject/_dataclasses.py +1545 -1383
  19. omlish/inject/binder.py +7 -4
  20. omlish/inject/eagers.py +2 -4
  21. omlish/inject/elements.py +4 -0
  22. omlish/inject/helpers/late.py +76 -0
  23. omlish/inject/{managed.py → helpers/managed.py} +37 -34
  24. omlish/inject/impl/elements.py +7 -4
  25. omlish/inject/impl/injector.py +14 -26
  26. omlish/inject/impl/inspect.py +0 -8
  27. omlish/inject/impl/origins.py +1 -0
  28. omlish/inject/impl/privates.py +2 -6
  29. omlish/inject/impl/providers.py +0 -4
  30. omlish/inject/impl/scopes.py +14 -18
  31. omlish/inject/inspect.py +10 -1
  32. omlish/inject/multis.py +0 -3
  33. omlish/inject/scopes.py +7 -5
  34. omlish/io/buffers.py +35 -8
  35. omlish/lang/__init__.py +10 -0
  36. omlish/lang/classes/simple.py +2 -1
  37. omlish/lang/iterables.py +6 -0
  38. omlish/lang/objects.py +13 -0
  39. omlish/lang/outcomes.py +1 -1
  40. omlish/lang/recursion.py +1 -1
  41. omlish/lang/sequences.py +33 -0
  42. omlish/lifecycles/README.md +30 -0
  43. omlish/lifecycles/__init__.py +87 -13
  44. omlish/lifecycles/_dataclasses.py +1388 -0
  45. omlish/lifecycles/base.py +178 -64
  46. omlish/lifecycles/contextmanagers.py +113 -4
  47. omlish/lifecycles/controller.py +150 -87
  48. omlish/lifecycles/injection.py +143 -0
  49. omlish/lifecycles/listeners.py +56 -0
  50. omlish/lifecycles/managed.py +142 -0
  51. omlish/lifecycles/manager.py +218 -93
  52. omlish/lifecycles/states.py +2 -0
  53. omlish/lifecycles/transitions.py +3 -0
  54. omlish/lifecycles/unwrap.py +57 -0
  55. omlish/lite/maybes.py +7 -0
  56. omlish/lite/typing.py +33 -0
  57. omlish/logs/_amalg.py +1 -1
  58. omlish/logs/all.py +36 -11
  59. omlish/logs/asyncs.py +73 -0
  60. omlish/logs/base.py +101 -12
  61. omlish/logs/bisync.py +99 -0
  62. omlish/logs/contexts.py +4 -1
  63. omlish/logs/lists.py +125 -0
  64. omlish/logs/modules.py +19 -1
  65. omlish/logs/std/loggers.py +6 -1
  66. omlish/logs/std/noisy.py +11 -9
  67. omlish/logs/{standard.py → std/standard.py} +3 -4
  68. omlish/logs/utils.py +16 -1
  69. omlish/marshal/_dataclasses.py +813 -813
  70. omlish/reflect/__init__.py +43 -26
  71. omlish/reflect/ops.py +10 -1
  72. omlish/specs/jmespath/_dataclasses.py +597 -597
  73. omlish/specs/jsonschema/keywords/_dataclasses.py +244 -244
  74. omlish/sql/__init__.py +24 -5
  75. omlish/sql/api/dbapi.py +1 -1
  76. omlish/sql/dbapi/__init__.py +15 -0
  77. omlish/sql/{dbapi.py → dbapi/drivers.py} +2 -2
  78. omlish/sql/queries/__init__.py +3 -0
  79. omlish/testing/pytest/plugins/asyncs/plugin.py +2 -0
  80. omlish/text/docwrap/cli.py +5 -0
  81. omlish/typedvalues/_collection.cc +500 -0
  82. omlish/typedvalues/collection.py +159 -62
  83. omlish/typedvalues/generic.py +5 -4
  84. omlish/typedvalues/values.py +6 -0
  85. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/METADATA +14 -9
  86. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/RECORD +92 -77
  87. omlish/lifecycles/abstract.py +0 -86
  88. /omlish/inject/{impl → helpers}/proxy.py +0 -0
  89. /omlish/sql/{abc.py → dbapi/abc.py} +0 -0
  90. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/WHEEL +0 -0
  91. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/entry_points.txt +0 -0
  92. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/licenses/LICENSE +0 -0
  93. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/top_level.txt +0 -0
@@ -25,35 +25,46 @@ def _register(**kwargs):
25
25
 
26
26
  @_register(
27
27
  plan_repr=(
28
- "Plans(tup=(CopyPlan(fields=('dct', 'specials')), EqPlan(fields=('dct', 'specials')), FrozenPlan(fields=('dct',"
29
- " 'specials'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('dct', 'specials'), cache=Fals"
30
- "e), InitPlan(fields=(InitPlan.Field(name='dct', annotation=OpRef(name='init.fields.0.annotation'), default=Non"
31
- "e, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
32
- " check_type=None), InitPlan.Field(name='specials', annotation=OpRef(name='init.fields.1.annotation'), default="
33
- "OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INS"
34
- "TANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=('dct',), kw_only_params=("
35
- "'specials',), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields="
36
- "(ReprPlan.Field(name='dct', kw_only=False, fn=None), ReprPlan.Field(name='specials', kw_only=True, fn=None)), "
37
- "id=False, terse=False, default_fn=None)))"
28
+ "Plans(tup=(CopyPlan(fields=('impls', 'tt', 'allow_partial')), EqPlan(fields=('impls', 'tt', 'allow_partial')),"
29
+ " FrozenPlan(fields=('impls', 'tt', 'allow_partial'), allow_dynamic_dunder_attrs=False), HashPlan(action='add',"
30
+ " fields=('impls', 'tt', 'allow_partial'), cache=False), InitPlan(fields=(InitPlan.Field(name='impls', annotati"
31
+ "on=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fiel"
32
+ "d_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='tt', annotation="
33
+ "OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, ini"
34
+ "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
35
+ "Field(name='allow_partial', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields"
36
+ ".2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, val"
37
+ "idate=None, check_type=None)), self_param='self', std_params=('impls', 'tt'), kw_only_params=('allow_partial',"
38
+ "), frozen=True, slots=False, post_init_params=None, init_fns=(OpRef(name='init.init_fns.0'),), validate_fns=()"
39
+ "), ReprPlan(fields=(ReprPlan.Field(name='impls', kw_only=False, fn=None), ReprPlan.Field(name='tt', kw_only=Fa"
40
+ "lse, fn=None), ReprPlan.Field(name='allow_partial', kw_only=True, fn=None)), id=False, terse=False, default_fn"
41
+ "=None)))"
38
42
  ),
39
- plan_repr_sha1='1be8e124c66f00c82a764169ffbcb93f04b0b647',
43
+ plan_repr_sha1='330f034b24c077e4e7e82f9f8846225a1064a3bf',
40
44
  op_ref_idents=(
41
45
  '__dataclass__init__fields__0__annotation',
42
46
  '__dataclass__init__fields__1__annotation',
43
47
  '__dataclass__init__fields__1__default',
48
+ '__dataclass__init__fields__2__annotation',
49
+ '__dataclass__init__fields__2__default',
50
+ '__dataclass__init__init_fns__0',
44
51
  ),
45
52
  cls_names=(
46
- ('omlish.marshal.standard', 'SimpleObjectMarshalerFactory'),
47
- ('omlish.marshal.standard', 'SimpleObjectUnmarshalerFactory'),
53
+ ('omlish.marshal.polymorphism.standard', 'PolymorphismUnionMarshalerFactory'),
54
+ ('omlish.marshal.polymorphism.standard', 'PolymorphismUnionUnmarshalerFactory'),
55
+ ('omlish.marshal.polymorphism.standard', '_BasePolymorphismUnionFactory'),
48
56
  ),
49
57
  )
50
- def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
58
+ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
51
59
  def _process_dataclass(
52
60
  *,
53
61
  __dataclass__cls,
54
62
  __dataclass__init__fields__0__annotation,
55
63
  __dataclass__init__fields__1__annotation,
56
64
  __dataclass__init__fields__1__default,
65
+ __dataclass__init__fields__2__annotation,
66
+ __dataclass__init__fields__2__default,
67
+ __dataclass__init__init_fns__0,
57
68
  __dataclass__FieldFnValidationError, # noqa
58
69
  __dataclass__FieldTypeValidationError, # noqa
59
70
  __dataclass__FnValidationError, # noqa
@@ -72,8 +83,9 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
72
83
  if self.__class__ is not __dataclass__cls:
73
84
  raise TypeError(self)
74
85
  return __dataclass__cls( # noqa
75
- dct=self.dct,
76
- specials=self.specials,
86
+ impls=self.impls,
87
+ tt=self.tt,
88
+ allow_partial=self.allow_partial,
77
89
  )
78
90
 
79
91
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -87,8 +99,9 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
87
99
  if self.__class__ is not other.__class__:
88
100
  return NotImplemented
89
101
  return (
90
- self.dct == other.dct and
91
- self.specials == other.specials
102
+ self.impls == other.impls and
103
+ self.tt == other.tt and
104
+ self.allow_partial == other.allow_partial
92
105
  )
93
106
 
94
107
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -97,14 +110,15 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
97
110
  setattr(__dataclass__cls, '__eq__', __eq__)
98
111
 
99
112
  __dataclass___setattr_frozen_fields = {
100
- 'dct',
101
- 'specials',
113
+ 'impls',
114
+ 'tt',
115
+ 'allow_partial',
102
116
  }
103
117
 
104
118
  def __setattr__(self, name, value):
105
119
  if (
106
120
  type(self) is __dataclass__cls
107
- or name in __dataclass___setattr_frozen_fields
121
+ or name in __dataclass___setattr_frozen_fields
108
122
  ):
109
123
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
110
124
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -115,14 +129,15 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
115
129
  setattr(__dataclass__cls, '__setattr__', __setattr__)
116
130
 
117
131
  __dataclass___delattr_frozen_fields = {
118
- 'dct',
119
- 'specials',
132
+ 'impls',
133
+ 'tt',
134
+ 'allow_partial',
120
135
  }
121
136
 
122
137
  def __delattr__(self, name):
123
138
  if (
124
139
  type(self) is __dataclass__cls
125
- or name in __dataclass___delattr_frozen_fields
140
+ or name in __dataclass___delattr_frozen_fields
126
141
  ):
127
142
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
128
143
  super(__dataclass__cls, self).__delattr__(name)
@@ -134,8 +149,9 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
134
149
 
135
150
  def __hash__(self):
136
151
  return hash((
137
- self.dct,
138
- self.specials,
152
+ self.impls,
153
+ self.tt,
154
+ self.allow_partial,
139
155
  ))
140
156
 
141
157
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -143,12 +159,15 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
143
159
 
144
160
  def __init__(
145
161
  self,
146
- dct: __dataclass__init__fields__0__annotation,
162
+ impls: __dataclass__init__fields__0__annotation,
163
+ tt: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
147
164
  *,
148
- specials: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
165
+ allow_partial: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
149
166
  ) -> __dataclass__None:
150
- __dataclass__object_setattr(self, 'dct', dct)
151
- __dataclass__object_setattr(self, 'specials', specials)
167
+ __dataclass__object_setattr(self, 'impls', impls)
168
+ __dataclass__object_setattr(self, 'tt', tt)
169
+ __dataclass__object_setattr(self, 'allow_partial', allow_partial)
170
+ __dataclass__init__init_fns__0(self)
152
171
 
153
172
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
154
173
  if '__init__' in __dataclass__cls.__dict__:
@@ -158,8 +177,9 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
158
177
  @__dataclass___recursive_repr()
159
178
  def __repr__(self):
160
179
  parts = []
161
- parts.append(f"dct={self.dct!r}")
162
- parts.append(f"specials={self.specials!r}")
180
+ parts.append(f"impls={self.impls!r}")
181
+ parts.append(f"tt={self.tt!r}")
182
+ parts.append(f"allow_partial={self.allow_partial!r}")
163
183
  return (
164
184
  f"{self.__class__.__qualname__}("
165
185
  f"{', '.join(parts)}"
@@ -176,69 +196,28 @@ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
176
196
 
177
197
  @_register(
178
198
  plan_repr=(
179
- "Plans(tup=(CopyPlan(fields=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal')), "
180
- "EqPlan(fields=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal')), FrozenPlan(fi"
181
- "elds=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal'), allow_dynamic_dunder_at"
182
- "trs=False), HashPlan(action='add', fields=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no"
183
- "_unmarshal'), cache=False), InitPlan(fields=(InitPlan.Field(name='omit_if', annotation=OpRef(name='init.fields"
184
- ".0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False,"
185
- " field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='default', a"
186
- "nnotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory"
187
- "=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=OpRef("
188
- "name='init.fields.1.check_type')), InitPlan.Field(name='embed', annotation=OpRef(name='init.fields.2.annotatio"
189
- "n'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_type="
190
- "FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='generic_replace', annot"
191
- "ation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory=Non"
192
- "e, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Ini"
193
- "tPlan.Field(name='no_marshal', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fie"
194
- "lds.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
195
- "validate=None, check_type=None), InitPlan.Field(name='no_unmarshal', annotation=OpRef(name='init.fields.5.anno"
196
- "tation'), default=OpRef(name='init.fields.5.default'), default_factory=None, init=True, override=False, field_"
197
- "type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_o"
198
- "nly_params=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal'), frozen=True, slot"
199
- "s=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='omit_if',"
200
- " kw_only=True, fn=None), ReprPlan.Field(name='default', kw_only=True, fn=None), ReprPlan.Field(name='embed', k"
201
- "w_only=True, fn=None), ReprPlan.Field(name='generic_replace', kw_only=True, fn=None), ReprPlan.Field(name='no_"
202
- "marshal', kw_only=True, fn=None), ReprPlan.Field(name='no_unmarshal', kw_only=True, fn=None)), id=False, terse"
203
- "=False, default_fn=None)))"
199
+ "Plans(tup=(CopyPlan(fields=('ty',)), EqPlan(fields=('ty',)), FrozenPlan(fields=('ty',), allow_dynamic_dunder_a"
200
+ "ttrs=False), HashPlan(action='add', fields=('ty',), cache=False), InitPlan(fields=(InitPlan.Field(name='ty', a"
201
+ "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
202
+ "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
203
+ "s=('ty',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
204
+ "ReprPlan(fields=(ReprPlan.Field(name='ty', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
205
+ ")"
204
206
  ),
205
- plan_repr_sha1='2c74992a67cabe7397fb3d1cc57b660ca4f1462c',
207
+ plan_repr_sha1='5fb811b6a8837cb3b84359f812a39e560d257d5f',
206
208
  op_ref_idents=(
207
209
  '__dataclass__init__fields__0__annotation',
208
- '__dataclass__init__fields__0__default',
209
- '__dataclass__init__fields__1__annotation',
210
- '__dataclass__init__fields__1__check_type',
211
- '__dataclass__init__fields__1__default',
212
- '__dataclass__init__fields__2__annotation',
213
- '__dataclass__init__fields__2__default',
214
- '__dataclass__init__fields__3__annotation',
215
- '__dataclass__init__fields__3__default',
216
- '__dataclass__init__fields__4__annotation',
217
- '__dataclass__init__fields__4__default',
218
- '__dataclass__init__fields__5__annotation',
219
- '__dataclass__init__fields__5__default',
220
210
  ),
221
211
  cls_names=(
222
- ('omlish.marshal.standard', 'FieldOptions'),
212
+ ('omlish.marshal.singular.base64', 'Base64MarshalerUnmarshaler'),
213
+ ('omlish.marshal.standard', 'PrimitiveMarshalerUnmarshaler'),
223
214
  ),
224
215
  )
225
- def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
216
+ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
226
217
  def _process_dataclass(
227
218
  *,
228
219
  __dataclass__cls,
229
220
  __dataclass__init__fields__0__annotation,
230
- __dataclass__init__fields__0__default,
231
- __dataclass__init__fields__1__annotation,
232
- __dataclass__init__fields__1__check_type,
233
- __dataclass__init__fields__1__default,
234
- __dataclass__init__fields__2__annotation,
235
- __dataclass__init__fields__2__default,
236
- __dataclass__init__fields__3__annotation,
237
- __dataclass__init__fields__3__default,
238
- __dataclass__init__fields__4__annotation,
239
- __dataclass__init__fields__4__default,
240
- __dataclass__init__fields__5__annotation,
241
- __dataclass__init__fields__5__default,
242
221
  __dataclass__FieldFnValidationError, # noqa
243
222
  __dataclass__FieldTypeValidationError, # noqa
244
223
  __dataclass__FnValidationError, # noqa
@@ -257,12 +236,7 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
257
236
  if self.__class__ is not __dataclass__cls:
258
237
  raise TypeError(self)
259
238
  return __dataclass__cls( # noqa
260
- omit_if=self.omit_if,
261
- default=self.default,
262
- embed=self.embed,
263
- generic_replace=self.generic_replace,
264
- no_marshal=self.no_marshal,
265
- no_unmarshal=self.no_unmarshal,
239
+ ty=self.ty,
266
240
  )
267
241
 
268
242
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -276,12 +250,7 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
276
250
  if self.__class__ is not other.__class__:
277
251
  return NotImplemented
278
252
  return (
279
- self.omit_if == other.omit_if and
280
- self.default == other.default and
281
- self.embed == other.embed and
282
- self.generic_replace == other.generic_replace and
283
- self.no_marshal == other.no_marshal and
284
- self.no_unmarshal == other.no_unmarshal
253
+ self.ty == other.ty
285
254
  )
286
255
 
287
256
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -290,18 +259,13 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
290
259
  setattr(__dataclass__cls, '__eq__', __eq__)
291
260
 
292
261
  __dataclass___setattr_frozen_fields = {
293
- 'omit_if',
294
- 'default',
295
- 'embed',
296
- 'generic_replace',
297
- 'no_marshal',
298
- 'no_unmarshal',
262
+ 'ty',
299
263
  }
300
264
 
301
265
  def __setattr__(self, name, value):
302
266
  if (
303
267
  type(self) is __dataclass__cls
304
- or name in __dataclass___setattr_frozen_fields
268
+ or name in __dataclass___setattr_frozen_fields
305
269
  ):
306
270
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
307
271
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -312,18 +276,13 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
312
276
  setattr(__dataclass__cls, '__setattr__', __setattr__)
313
277
 
314
278
  __dataclass___delattr_frozen_fields = {
315
- 'omit_if',
316
- 'default',
317
- 'embed',
318
- 'generic_replace',
319
- 'no_marshal',
320
- 'no_unmarshal',
279
+ 'ty',
321
280
  }
322
281
 
323
282
  def __delattr__(self, name):
324
283
  if (
325
284
  type(self) is __dataclass__cls
326
- or name in __dataclass___delattr_frozen_fields
285
+ or name in __dataclass___delattr_frozen_fields
327
286
  ):
328
287
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
329
288
  super(__dataclass__cls, self).__delattr__(name)
@@ -335,12 +294,7 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
335
294
 
336
295
  def __hash__(self):
337
296
  return hash((
338
- self.omit_if,
339
- self.default,
340
- self.embed,
341
- self.generic_replace,
342
- self.no_marshal,
343
- self.no_unmarshal,
297
+ self.ty,
344
298
  ))
345
299
 
346
300
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -348,27 +302,9 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
348
302
 
349
303
  def __init__(
350
304
  self,
351
- *,
352
- omit_if: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
353
- default: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
354
- embed: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
355
- generic_replace: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
356
- no_marshal: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
357
- no_unmarshal: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
305
+ ty: __dataclass__init__fields__0__annotation,
358
306
  ) -> __dataclass__None:
359
- if not __dataclass__isinstance(default, __dataclass__init__fields__1__check_type):
360
- raise __dataclass__FieldTypeValidationError(
361
- obj=self,
362
- type=__dataclass__init__fields__1__check_type,
363
- field='default',
364
- value=default,
365
- )
366
- __dataclass__object_setattr(self, 'omit_if', omit_if)
367
- __dataclass__object_setattr(self, 'default', default)
368
- __dataclass__object_setattr(self, 'embed', embed)
369
- __dataclass__object_setattr(self, 'generic_replace', generic_replace)
370
- __dataclass__object_setattr(self, 'no_marshal', no_marshal)
371
- __dataclass__object_setattr(self, 'no_unmarshal', no_unmarshal)
307
+ __dataclass__object_setattr(self, 'ty', ty)
372
308
 
373
309
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
374
310
  if '__init__' in __dataclass__cls.__dict__:
@@ -378,12 +314,7 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
378
314
  @__dataclass___recursive_repr()
379
315
  def __repr__(self):
380
316
  parts = []
381
- parts.append(f"omit_if={self.omit_if!r}")
382
- parts.append(f"default={self.default!r}")
383
- parts.append(f"embed={self.embed!r}")
384
- parts.append(f"generic_replace={self.generic_replace!r}")
385
- parts.append(f"no_marshal={self.no_marshal!r}")
386
- parts.append(f"no_unmarshal={self.no_unmarshal!r}")
317
+ parts.append(f"ty={self.ty!r}")
387
318
  return (
388
319
  f"{self.__class__.__qualname__}("
389
320
  f"{', '.join(parts)}"
@@ -400,46 +331,57 @@ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
400
331
 
401
332
  @_register(
402
333
  plan_repr=(
403
- "Plans(tup=(CopyPlan(fields=('impls', 'tt', 'allow_partial')), EqPlan(fields=('impls', 'tt', 'allow_partial')),"
404
- " FrozenPlan(fields=('impls', 'tt', 'allow_partial'), allow_dynamic_dunder_attrs=False), HashPlan(action='add',"
405
- " fields=('impls', 'tt', 'allow_partial'), cache=False), InitPlan(fields=(InitPlan.Field(name='impls', annotati"
406
- "on=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fiel"
407
- "d_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='tt', annotation="
408
- "OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, ini"
409
- "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
410
- "Field(name='allow_partial', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields"
411
- ".2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, val"
412
- "idate=None, check_type=None)), self_param='self', std_params=('impls', 'tt'), kw_only_params=('allow_partial',"
413
- "), frozen=True, slots=False, post_init_params=None, init_fns=(OpRef(name='init.init_fns.0'),), validate_fns=()"
414
- "), ReprPlan(fields=(ReprPlan.Field(name='impls', kw_only=False, fn=None), ReprPlan.Field(name='tt', kw_only=Fa"
415
- "lse, fn=None), ReprPlan.Field(name='allow_partial', kw_only=True, fn=None)), id=False, terse=False, default_fn"
416
- "=None)))"
334
+ "Plans(tup=(CopyPlan(fields=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options')), EqPlan"
335
+ "(fields=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options')), FrozenPlan(fields=('name'"
336
+ ", 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options'), allow_dynamic_dunder_attrs=False), HashPl"
337
+ "an(action='add', fields=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options'), cache=Fals"
338
+ "e), InitPlan(fields=(InitPlan.Field(name='name', annotation=OpRef(name='init.fields.0.annotation'), default=No"
339
+ "ne, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None"
340
+ ", check_type=None), InitPlan.Field(name='type', annotation=OpRef(name='init.fields.1.annotation'), default=Non"
341
+ "e, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
342
+ " check_type=None), InitPlan.Field(name='marshal_name', annotation=OpRef(name='init.fields.2.annotation'), defa"
343
+ "ult=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validat"
344
+ "e=None, check_type=None), InitPlan.Field(name='unmarshal_names', annotation=OpRef(name='init.fields.3.annotati"
345
+ "on'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=Non"
346
+ "e, validate=None, check_type=None), InitPlan.Field(name='metadata', annotation=OpRef(name='init.fields.4.annot"
347
+ "ation'), default=OpRef(name='init.fields.4.default'), default_factory=None, init=True, override=False, field_t"
348
+ "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='options', annotatio"
349
+ "n=OpRef(name='init.fields.5.annotation'), default=OpRef(name='init.fields.5.default'), default_factory=None, i"
350
+ "nit=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_p"
351
+ "aram='self', std_params=(), kw_only_params=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'op"
352
+ "tions'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Repr"
353
+ "Plan.Field(name='name', kw_only=True, fn=None), ReprPlan.Field(name='type', kw_only=True, fn=None), ReprPlan.F"
354
+ "ield(name='marshal_name', kw_only=True, fn=None), ReprPlan.Field(name='unmarshal_names', kw_only=True, fn=None"
355
+ "), ReprPlan.Field(name='metadata', kw_only=True, fn=None), ReprPlan.Field(name='options', kw_only=True, fn=Non"
356
+ "e)), id=False, terse=False, default_fn=None)))"
417
357
  ),
418
- plan_repr_sha1='330f034b24c077e4e7e82f9f8846225a1064a3bf',
358
+ plan_repr_sha1='52efba591171513abf94b0833a0c230d4abd829e',
419
359
  op_ref_idents=(
420
360
  '__dataclass__init__fields__0__annotation',
421
361
  '__dataclass__init__fields__1__annotation',
422
- '__dataclass__init__fields__1__default',
423
362
  '__dataclass__init__fields__2__annotation',
424
- '__dataclass__init__fields__2__default',
425
- '__dataclass__init__init_fns__0',
363
+ '__dataclass__init__fields__3__annotation',
364
+ '__dataclass__init__fields__4__annotation',
365
+ '__dataclass__init__fields__4__default',
366
+ '__dataclass__init__fields__5__annotation',
367
+ '__dataclass__init__fields__5__default',
426
368
  ),
427
369
  cls_names=(
428
- ('omlish.marshal.polymorphism.standard', 'PolymorphismUnionMarshalerFactory'),
429
- ('omlish.marshal.polymorphism.standard', 'PolymorphismUnionUnmarshalerFactory'),
430
- ('omlish.marshal.polymorphism.standard', '_BasePolymorphismUnionFactory'),
370
+ ('omlish.marshal.standard', 'FieldInfo'),
431
371
  ),
432
372
  )
433
- def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
373
+ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
434
374
  def _process_dataclass(
435
375
  *,
436
376
  __dataclass__cls,
437
377
  __dataclass__init__fields__0__annotation,
438
378
  __dataclass__init__fields__1__annotation,
439
- __dataclass__init__fields__1__default,
440
379
  __dataclass__init__fields__2__annotation,
441
- __dataclass__init__fields__2__default,
442
- __dataclass__init__init_fns__0,
380
+ __dataclass__init__fields__3__annotation,
381
+ __dataclass__init__fields__4__annotation,
382
+ __dataclass__init__fields__4__default,
383
+ __dataclass__init__fields__5__annotation,
384
+ __dataclass__init__fields__5__default,
443
385
  __dataclass__FieldFnValidationError, # noqa
444
386
  __dataclass__FieldTypeValidationError, # noqa
445
387
  __dataclass__FnValidationError, # noqa
@@ -458,9 +400,12 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
458
400
  if self.__class__ is not __dataclass__cls:
459
401
  raise TypeError(self)
460
402
  return __dataclass__cls( # noqa
461
- impls=self.impls,
462
- tt=self.tt,
463
- allow_partial=self.allow_partial,
403
+ name=self.name,
404
+ type=self.type,
405
+ marshal_name=self.marshal_name,
406
+ unmarshal_names=self.unmarshal_names,
407
+ metadata=self.metadata,
408
+ options=self.options,
464
409
  )
465
410
 
466
411
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -474,9 +419,12 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
474
419
  if self.__class__ is not other.__class__:
475
420
  return NotImplemented
476
421
  return (
477
- self.impls == other.impls and
478
- self.tt == other.tt and
479
- self.allow_partial == other.allow_partial
422
+ self.name == other.name and
423
+ self.type == other.type and
424
+ self.marshal_name == other.marshal_name and
425
+ self.unmarshal_names == other.unmarshal_names and
426
+ self.metadata == other.metadata and
427
+ self.options == other.options
480
428
  )
481
429
 
482
430
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -485,15 +433,18 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
485
433
  setattr(__dataclass__cls, '__eq__', __eq__)
486
434
 
487
435
  __dataclass___setattr_frozen_fields = {
488
- 'impls',
489
- 'tt',
490
- 'allow_partial',
436
+ 'name',
437
+ 'type',
438
+ 'marshal_name',
439
+ 'unmarshal_names',
440
+ 'metadata',
441
+ 'options',
491
442
  }
492
443
 
493
444
  def __setattr__(self, name, value):
494
445
  if (
495
446
  type(self) is __dataclass__cls
496
- or name in __dataclass___setattr_frozen_fields
447
+ or name in __dataclass___setattr_frozen_fields
497
448
  ):
498
449
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
499
450
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -504,15 +455,18 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
504
455
  setattr(__dataclass__cls, '__setattr__', __setattr__)
505
456
 
506
457
  __dataclass___delattr_frozen_fields = {
507
- 'impls',
508
- 'tt',
509
- 'allow_partial',
458
+ 'name',
459
+ 'type',
460
+ 'marshal_name',
461
+ 'unmarshal_names',
462
+ 'metadata',
463
+ 'options',
510
464
  }
511
465
 
512
466
  def __delattr__(self, name):
513
467
  if (
514
468
  type(self) is __dataclass__cls
515
- or name in __dataclass___delattr_frozen_fields
469
+ or name in __dataclass___delattr_frozen_fields
516
470
  ):
517
471
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
518
472
  super(__dataclass__cls, self).__delattr__(name)
@@ -524,9 +478,12 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
524
478
 
525
479
  def __hash__(self):
526
480
  return hash((
527
- self.impls,
528
- self.tt,
529
- self.allow_partial,
481
+ self.name,
482
+ self.type,
483
+ self.marshal_name,
484
+ self.unmarshal_names,
485
+ self.metadata,
486
+ self.options,
530
487
  ))
531
488
 
532
489
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -534,15 +491,20 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
534
491
 
535
492
  def __init__(
536
493
  self,
537
- impls: __dataclass__init__fields__0__annotation,
538
- tt: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
539
494
  *,
540
- allow_partial: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
495
+ name: __dataclass__init__fields__0__annotation,
496
+ type: __dataclass__init__fields__1__annotation,
497
+ marshal_name: __dataclass__init__fields__2__annotation,
498
+ unmarshal_names: __dataclass__init__fields__3__annotation,
499
+ metadata: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
500
+ options: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
541
501
  ) -> __dataclass__None:
542
- __dataclass__object_setattr(self, 'impls', impls)
543
- __dataclass__object_setattr(self, 'tt', tt)
544
- __dataclass__object_setattr(self, 'allow_partial', allow_partial)
545
- __dataclass__init__init_fns__0(self)
502
+ __dataclass__object_setattr(self, 'name', name)
503
+ __dataclass__object_setattr(self, 'type', type)
504
+ __dataclass__object_setattr(self, 'marshal_name', marshal_name)
505
+ __dataclass__object_setattr(self, 'unmarshal_names', unmarshal_names)
506
+ __dataclass__object_setattr(self, 'metadata', metadata)
507
+ __dataclass__object_setattr(self, 'options', options)
546
508
 
547
509
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
548
510
  if '__init__' in __dataclass__cls.__dict__:
@@ -552,9 +514,12 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
552
514
  @__dataclass___recursive_repr()
553
515
  def __repr__(self):
554
516
  parts = []
555
- parts.append(f"impls={self.impls!r}")
556
- parts.append(f"tt={self.tt!r}")
557
- parts.append(f"allow_partial={self.allow_partial!r}")
517
+ parts.append(f"name={self.name!r}")
518
+ parts.append(f"type={self.type!r}")
519
+ parts.append(f"marshal_name={self.marshal_name!r}")
520
+ parts.append(f"unmarshal_names={self.unmarshal_names!r}")
521
+ parts.append(f"metadata={self.metadata!r}")
522
+ parts.append(f"options={self.options!r}")
558
523
  return (
559
524
  f"{self.__class__.__qualname__}("
560
525
  f"{', '.join(parts)}"
@@ -571,60 +536,33 @@ def _process_dataclass__330f034b24c077e4e7e82f9f8846225a1064a3bf():
571
536
 
572
537
  @_register(
573
538
  plan_repr=(
574
- "Plans(tup=(CopyPlan(fields=('field_naming', 'unknown_field', 'source_field', 'field_defaults', 'ignore_unknown"
575
- "')), EqPlan(fields=('field_naming', 'unknown_field', 'source_field', 'field_defaults', 'ignore_unknown')), Fro"
576
- "zenPlan(fields=('field_naming', 'unknown_field', 'source_field', 'field_defaults', 'ignore_unknown'), allow_dy"
577
- "namic_dunder_attrs=False), HashPlan(action='add', fields=('field_naming', 'unknown_field', 'source_field', 'fi"
578
- "eld_defaults', 'ignore_unknown'), cache=False), InitPlan(fields=(InitPlan.Field(name='field_naming', annotatio"
579
- "n=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, i"
580
- "nit=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPla"
581
- "n.Field(name='unknown_field', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fiel"
582
- "ds.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, v"
583
- "alidate=None, check_type=None), InitPlan.Field(name='source_field', annotation=OpRef(name='init.fields.2.annot"
584
- "ation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_t"
585
- "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='field_defaults', an"
586
- "notation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory="
587
- "None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), "
588
- "InitPlan.Field(name='ignore_unknown', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='i"
589
- "nit.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce"
590
- "=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('field_naming', 'un"
591
- "known_field', 'source_field', 'field_defaults', 'ignore_unknown'), frozen=True, slots=False, post_init_params="
592
- "None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='field_naming', kw_only=True, fn=Non"
593
- "e), ReprPlan.Field(name='unknown_field', kw_only=True, fn=None), ReprPlan.Field(name='source_field', kw_only=T"
594
- "rue, fn=None), ReprPlan.Field(name='field_defaults', kw_only=True, fn=None), ReprPlan.Field(name='ignore_unkno"
595
- "wn', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
539
+ "Plans(tup=(CopyPlan(fields=('lst',)), EqPlan(fields=('lst',)), FrozenPlan(fields=('lst',), allow_dynamic_dunde"
540
+ "r_attrs=False), HashPlan(action='add', fields=('lst',), cache=False), InitPlan(fields=(InitPlan.Field(name='ls"
541
+ "t', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override"
542
+ "=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_"
543
+ "params=('lst',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(OpRef(name='ini"
544
+ "t.init_fns.0'), OpRef(name='init.init_fns.1'), OpRef(name='init.init_fns.2')), validate_fns=()), ReprPlan(fiel"
545
+ "ds=(ReprPlan.Field(name='lst', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
596
546
  ),
597
- plan_repr_sha1='3a02ae2ce08461319189d2ccea7ecf32459e24c3',
547
+ plan_repr_sha1='d79af82ecd003199ceaa4594c2592f2dbb8ba386',
598
548
  op_ref_idents=(
599
549
  '__dataclass__init__fields__0__annotation',
600
- '__dataclass__init__fields__0__default',
601
- '__dataclass__init__fields__1__annotation',
602
- '__dataclass__init__fields__1__default',
603
- '__dataclass__init__fields__2__annotation',
604
- '__dataclass__init__fields__2__default',
605
- '__dataclass__init__fields__3__annotation',
606
- '__dataclass__init__fields__3__default',
607
- '__dataclass__init__fields__4__annotation',
608
- '__dataclass__init__fields__4__default',
550
+ '__dataclass__init__init_fns__0',
551
+ '__dataclass__init__init_fns__1',
552
+ '__dataclass__init__init_fns__2',
609
553
  ),
610
554
  cls_names=(
611
- ('omlish.marshal.standard', 'ObjectMetadata'),
555
+ ('omlish.marshal.standard', 'FieldInfos'),
612
556
  ),
613
557
  )
614
- def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
558
+ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
615
559
  def _process_dataclass(
616
560
  *,
617
561
  __dataclass__cls,
618
562
  __dataclass__init__fields__0__annotation,
619
- __dataclass__init__fields__0__default,
620
- __dataclass__init__fields__1__annotation,
621
- __dataclass__init__fields__1__default,
622
- __dataclass__init__fields__2__annotation,
623
- __dataclass__init__fields__2__default,
624
- __dataclass__init__fields__3__annotation,
625
- __dataclass__init__fields__3__default,
626
- __dataclass__init__fields__4__annotation,
627
- __dataclass__init__fields__4__default,
563
+ __dataclass__init__init_fns__0,
564
+ __dataclass__init__init_fns__1,
565
+ __dataclass__init__init_fns__2,
628
566
  __dataclass__FieldFnValidationError, # noqa
629
567
  __dataclass__FieldTypeValidationError, # noqa
630
568
  __dataclass__FnValidationError, # noqa
@@ -643,11 +581,7 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
643
581
  if self.__class__ is not __dataclass__cls:
644
582
  raise TypeError(self)
645
583
  return __dataclass__cls( # noqa
646
- field_naming=self.field_naming,
647
- unknown_field=self.unknown_field,
648
- source_field=self.source_field,
649
- field_defaults=self.field_defaults,
650
- ignore_unknown=self.ignore_unknown,
584
+ lst=self.lst,
651
585
  )
652
586
 
653
587
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -661,11 +595,7 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
661
595
  if self.__class__ is not other.__class__:
662
596
  return NotImplemented
663
597
  return (
664
- self.field_naming == other.field_naming and
665
- self.unknown_field == other.unknown_field and
666
- self.source_field == other.source_field and
667
- self.field_defaults == other.field_defaults and
668
- self.ignore_unknown == other.ignore_unknown
598
+ self.lst == other.lst
669
599
  )
670
600
 
671
601
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -674,17 +604,13 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
674
604
  setattr(__dataclass__cls, '__eq__', __eq__)
675
605
 
676
606
  __dataclass___setattr_frozen_fields = {
677
- 'field_naming',
678
- 'unknown_field',
679
- 'source_field',
680
- 'field_defaults',
681
- 'ignore_unknown',
607
+ 'lst',
682
608
  }
683
609
 
684
610
  def __setattr__(self, name, value):
685
611
  if (
686
612
  type(self) is __dataclass__cls
687
- or name in __dataclass___setattr_frozen_fields
613
+ or name in __dataclass___setattr_frozen_fields
688
614
  ):
689
615
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
690
616
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -695,17 +621,13 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
695
621
  setattr(__dataclass__cls, '__setattr__', __setattr__)
696
622
 
697
623
  __dataclass___delattr_frozen_fields = {
698
- 'field_naming',
699
- 'unknown_field',
700
- 'source_field',
701
- 'field_defaults',
702
- 'ignore_unknown',
624
+ 'lst',
703
625
  }
704
626
 
705
627
  def __delattr__(self, name):
706
628
  if (
707
629
  type(self) is __dataclass__cls
708
- or name in __dataclass___delattr_frozen_fields
630
+ or name in __dataclass___delattr_frozen_fields
709
631
  ):
710
632
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
711
633
  super(__dataclass__cls, self).__delattr__(name)
@@ -717,11 +639,7 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
717
639
 
718
640
  def __hash__(self):
719
641
  return hash((
720
- self.field_naming,
721
- self.unknown_field,
722
- self.source_field,
723
- self.field_defaults,
724
- self.ignore_unknown,
642
+ self.lst,
725
643
  ))
726
644
 
727
645
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -729,18 +647,12 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
729
647
 
730
648
  def __init__(
731
649
  self,
732
- *,
733
- field_naming: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
734
- unknown_field: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
735
- source_field: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
736
- field_defaults: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
737
- ignore_unknown: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
650
+ lst: __dataclass__init__fields__0__annotation,
738
651
  ) -> __dataclass__None:
739
- __dataclass__object_setattr(self, 'field_naming', field_naming)
740
- __dataclass__object_setattr(self, 'unknown_field', unknown_field)
741
- __dataclass__object_setattr(self, 'source_field', source_field)
742
- __dataclass__object_setattr(self, 'field_defaults', field_defaults)
743
- __dataclass__object_setattr(self, 'ignore_unknown', ignore_unknown)
652
+ __dataclass__object_setattr(self, 'lst', lst)
653
+ __dataclass__init__init_fns__0(self)
654
+ __dataclass__init__init_fns__1(self)
655
+ __dataclass__init__init_fns__2(self)
744
656
 
745
657
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
746
658
  if '__init__' in __dataclass__cls.__dict__:
@@ -750,11 +662,7 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
750
662
  @__dataclass___recursive_repr()
751
663
  def __repr__(self):
752
664
  parts = []
753
- parts.append(f"field_naming={self.field_naming!r}")
754
- parts.append(f"unknown_field={self.unknown_field!r}")
755
- parts.append(f"source_field={self.source_field!r}")
756
- parts.append(f"field_defaults={self.field_defaults!r}")
757
- parts.append(f"ignore_unknown={self.ignore_unknown!r}")
665
+ parts.append(f"lst={self.lst!r}")
758
666
  return (
759
667
  f"{self.__class__.__qualname__}("
760
668
  f"{', '.join(parts)}"
@@ -771,31 +679,79 @@ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
771
679
 
772
680
  @_register(
773
681
  plan_repr=(
774
- "Plans(tup=(CopyPlan(fields=('m',)), EqPlan(fields=('m',)), FrozenPlan(fields=('m',), allow_dynamic_dunder_attr"
775
- "s=False), HashPlan(action='add', fields=('m',), cache=False), InitPlan(fields=(InitPlan.Field(name='m', annota"
776
- "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=OpRef(name='init.fields.0.default_f"
777
- "actory'), init=True, override=False, field_type=FieldType.INSTANCE, coerce=OpRef(name='init.fields.0.coerce'),"
778
- " validate=None, check_type=None),), self_param='self', std_params=('m',), kw_only_params=(), frozen=True, slot"
779
- "s=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='m', kw_on"
780
- "ly=False, fn=None),), id=False, terse=False, default_fn=None)))"
682
+ "Plans(tup=(CopyPlan(fields=('name', 'alts', 'options', 'marshaler', 'marshaler_factory', 'unmarshaler', 'unmar"
683
+ "shaler_factory')), EqPlan(fields=('name', 'alts', 'options', 'marshaler', 'marshaler_factory', 'unmarshaler', "
684
+ "'unmarshaler_factory')), FrozenPlan(fields=('name', 'alts', 'options', 'marshaler', 'marshaler_factory', 'unma"
685
+ "rshaler', 'unmarshaler_factory'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('name', 'a"
686
+ "lts', 'options', 'marshaler', 'marshaler_factory', 'unmarshaler', 'unmarshaler_factory'), cache=False), InitPl"
687
+ "an(fields=(InitPlan.Field(name='name', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='"
688
+ "init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerc"
689
+ "e=None, validate=None, check_type=None), InitPlan.Field(name='alts', annotation=OpRef(name='init.fields.1.anno"
690
+ "tation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_"
691
+ "type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='options', annotati"
692
+ "on=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, "
693
+ "init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPl"
694
+ "an.Field(name='marshaler', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields."
695
+ "3.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, vali"
696
+ "date=None, check_type=OpRef(name='init.fields.3.check_type')), InitPlan.Field(name='marshaler_factory', annota"
697
+ "tion=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_factory=None"
698
+ ", init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Init"
699
+ "Plan.Field(name='unmarshaler', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name='init.fie"
700
+ "lds.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
701
+ "validate=None, check_type=OpRef(name='init.fields.5.check_type')), InitPlan.Field(name='unmarshaler_factory', "
702
+ "annotation=OpRef(name='init.fields.6.annotation'), default=OpRef(name='init.fields.6.default'), default_factor"
703
+ "y=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)"
704
+ "), self_param='self', std_params=(), kw_only_params=('name', 'alts', 'options', 'marshaler', 'marshaler_factor"
705
+ "y', 'unmarshaler', 'unmarshaler_factory'), frozen=True, slots=False, post_init_params=None, init_fns=(), valid"
706
+ "ate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='name', kw_only=True, fn=None), ReprPlan.Field(name='alts', "
707
+ "kw_only=True, fn=None), ReprPlan.Field(name='options', kw_only=True, fn=None), ReprPlan.Field(name='marshaler'"
708
+ ", kw_only=True, fn=None), ReprPlan.Field(name='marshaler_factory', kw_only=True, fn=None), ReprPlan.Field(name"
709
+ "='unmarshaler', kw_only=True, fn=None), ReprPlan.Field(name='unmarshaler_factory', kw_only=True, fn=None)), id"
710
+ "=False, terse=False, default_fn=None)))"
781
711
  ),
782
- plan_repr_sha1='473310c5275aa58689237746102f8285e35fbee6',
712
+ plan_repr_sha1='bad93a176f34458732d6dbbd403a7930767b3796',
783
713
  op_ref_idents=(
784
714
  '__dataclass__init__fields__0__annotation',
785
- '__dataclass__init__fields__0__coerce',
786
- '__dataclass__init__fields__0__default_factory',
715
+ '__dataclass__init__fields__0__default',
716
+ '__dataclass__init__fields__1__annotation',
717
+ '__dataclass__init__fields__1__default',
718
+ '__dataclass__init__fields__2__annotation',
719
+ '__dataclass__init__fields__2__default',
720
+ '__dataclass__init__fields__3__annotation',
721
+ '__dataclass__init__fields__3__check_type',
722
+ '__dataclass__init__fields__3__default',
723
+ '__dataclass__init__fields__4__annotation',
724
+ '__dataclass__init__fields__4__default',
725
+ '__dataclass__init__fields__5__annotation',
726
+ '__dataclass__init__fields__5__check_type',
727
+ '__dataclass__init__fields__5__default',
728
+ '__dataclass__init__fields__6__annotation',
729
+ '__dataclass__init__fields__6__default',
787
730
  ),
788
731
  cls_names=(
789
- ('omlish.marshal.standard', 'TypeMapMarshalerFactory'),
732
+ ('omlish.marshal.standard', 'FieldMetadata'),
790
733
  ),
791
734
  )
792
- def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
735
+ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
793
736
  def _process_dataclass(
794
737
  *,
795
738
  __dataclass__cls,
796
739
  __dataclass__init__fields__0__annotation,
797
- __dataclass__init__fields__0__coerce,
798
- __dataclass__init__fields__0__default_factory,
740
+ __dataclass__init__fields__0__default,
741
+ __dataclass__init__fields__1__annotation,
742
+ __dataclass__init__fields__1__default,
743
+ __dataclass__init__fields__2__annotation,
744
+ __dataclass__init__fields__2__default,
745
+ __dataclass__init__fields__3__annotation,
746
+ __dataclass__init__fields__3__check_type,
747
+ __dataclass__init__fields__3__default,
748
+ __dataclass__init__fields__4__annotation,
749
+ __dataclass__init__fields__4__default,
750
+ __dataclass__init__fields__5__annotation,
751
+ __dataclass__init__fields__5__check_type,
752
+ __dataclass__init__fields__5__default,
753
+ __dataclass__init__fields__6__annotation,
754
+ __dataclass__init__fields__6__default,
799
755
  __dataclass__FieldFnValidationError, # noqa
800
756
  __dataclass__FieldTypeValidationError, # noqa
801
757
  __dataclass__FnValidationError, # noqa
@@ -814,7 +770,13 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
814
770
  if self.__class__ is not __dataclass__cls:
815
771
  raise TypeError(self)
816
772
  return __dataclass__cls( # noqa
817
- m=self.m,
773
+ name=self.name,
774
+ alts=self.alts,
775
+ options=self.options,
776
+ marshaler=self.marshaler,
777
+ marshaler_factory=self.marshaler_factory,
778
+ unmarshaler=self.unmarshaler,
779
+ unmarshaler_factory=self.unmarshaler_factory,
818
780
  )
819
781
 
820
782
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -828,7 +790,13 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
828
790
  if self.__class__ is not other.__class__:
829
791
  return NotImplemented
830
792
  return (
831
- self.m == other.m
793
+ self.name == other.name and
794
+ self.alts == other.alts and
795
+ self.options == other.options and
796
+ self.marshaler == other.marshaler and
797
+ self.marshaler_factory == other.marshaler_factory and
798
+ self.unmarshaler == other.unmarshaler and
799
+ self.unmarshaler_factory == other.unmarshaler_factory
832
800
  )
833
801
 
834
802
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -837,13 +805,19 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
837
805
  setattr(__dataclass__cls, '__eq__', __eq__)
838
806
 
839
807
  __dataclass___setattr_frozen_fields = {
840
- 'm',
808
+ 'name',
809
+ 'alts',
810
+ 'options',
811
+ 'marshaler',
812
+ 'marshaler_factory',
813
+ 'unmarshaler',
814
+ 'unmarshaler_factory',
841
815
  }
842
816
 
843
817
  def __setattr__(self, name, value):
844
818
  if (
845
819
  type(self) is __dataclass__cls
846
- or name in __dataclass___setattr_frozen_fields
820
+ or name in __dataclass___setattr_frozen_fields
847
821
  ):
848
822
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
849
823
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -854,13 +828,19 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
854
828
  setattr(__dataclass__cls, '__setattr__', __setattr__)
855
829
 
856
830
  __dataclass___delattr_frozen_fields = {
857
- 'm',
831
+ 'name',
832
+ 'alts',
833
+ 'options',
834
+ 'marshaler',
835
+ 'marshaler_factory',
836
+ 'unmarshaler',
837
+ 'unmarshaler_factory',
858
838
  }
859
839
 
860
840
  def __delattr__(self, name):
861
841
  if (
862
842
  type(self) is __dataclass__cls
863
- or name in __dataclass___delattr_frozen_fields
843
+ or name in __dataclass___delattr_frozen_fields
864
844
  ):
865
845
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
866
846
  super(__dataclass__cls, self).__delattr__(name)
@@ -872,7 +852,13 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
872
852
 
873
853
  def __hash__(self):
874
854
  return hash((
875
- self.m,
855
+ self.name,
856
+ self.alts,
857
+ self.options,
858
+ self.marshaler,
859
+ self.marshaler_factory,
860
+ self.unmarshaler,
861
+ self.unmarshaler_factory,
876
862
  ))
877
863
 
878
864
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -880,12 +866,36 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
880
866
 
881
867
  def __init__(
882
868
  self,
883
- m: __dataclass__init__fields__0__annotation = __dataclass__HAS_DEFAULT_FACTORY,
869
+ *,
870
+ name: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
871
+ alts: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
872
+ options: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
873
+ marshaler: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
874
+ marshaler_factory: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
875
+ unmarshaler: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
876
+ unmarshaler_factory: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
884
877
  ) -> __dataclass__None:
885
- if m is __dataclass__HAS_DEFAULT_FACTORY:
886
- m = __dataclass__init__fields__0__default_factory()
887
- m = __dataclass__init__fields__0__coerce(m)
888
- __dataclass__object_setattr(self, 'm', m)
878
+ if not __dataclass__isinstance(marshaler, __dataclass__init__fields__3__check_type):
879
+ raise __dataclass__FieldTypeValidationError(
880
+ obj=self,
881
+ type=__dataclass__init__fields__3__check_type,
882
+ field='marshaler',
883
+ value=marshaler,
884
+ )
885
+ if not __dataclass__isinstance(unmarshaler, __dataclass__init__fields__5__check_type):
886
+ raise __dataclass__FieldTypeValidationError(
887
+ obj=self,
888
+ type=__dataclass__init__fields__5__check_type,
889
+ field='unmarshaler',
890
+ value=unmarshaler,
891
+ )
892
+ __dataclass__object_setattr(self, 'name', name)
893
+ __dataclass__object_setattr(self, 'alts', alts)
894
+ __dataclass__object_setattr(self, 'options', options)
895
+ __dataclass__object_setattr(self, 'marshaler', marshaler)
896
+ __dataclass__object_setattr(self, 'marshaler_factory', marshaler_factory)
897
+ __dataclass__object_setattr(self, 'unmarshaler', unmarshaler)
898
+ __dataclass__object_setattr(self, 'unmarshaler_factory', unmarshaler_factory)
889
899
 
890
900
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
891
901
  if '__init__' in __dataclass__cls.__dict__:
@@ -895,7 +905,13 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
895
905
  @__dataclass___recursive_repr()
896
906
  def __repr__(self):
897
907
  parts = []
898
- parts.append(f"m={self.m!r}")
908
+ parts.append(f"name={self.name!r}")
909
+ parts.append(f"alts={self.alts!r}")
910
+ parts.append(f"options={self.options!r}")
911
+ parts.append(f"marshaler={self.marshaler!r}")
912
+ parts.append(f"marshaler_factory={self.marshaler_factory!r}")
913
+ parts.append(f"unmarshaler={self.unmarshaler!r}")
914
+ parts.append(f"unmarshaler_factory={self.unmarshaler_factory!r}")
899
915
  return (
900
916
  f"{self.__class__.__qualname__}("
901
917
  f"{', '.join(parts)}"
@@ -912,53 +928,65 @@ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
912
928
 
913
929
  @_register(
914
930
  plan_repr=(
915
- "Plans(tup=(CopyPlan(fields=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options')), EqPlan"
916
- "(fields=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options')), FrozenPlan(fields=('name'"
917
- ", 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options'), allow_dynamic_dunder_attrs=False), HashPl"
918
- "an(action='add', fields=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'options'), cache=Fals"
919
- "e), InitPlan(fields=(InitPlan.Field(name='name', annotation=OpRef(name='init.fields.0.annotation'), default=No"
920
- "ne, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None"
921
- ", check_type=None), InitPlan.Field(name='type', annotation=OpRef(name='init.fields.1.annotation'), default=Non"
922
- "e, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
923
- " check_type=None), InitPlan.Field(name='marshal_name', annotation=OpRef(name='init.fields.2.annotation'), defa"
924
- "ult=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validat"
925
- "e=None, check_type=None), InitPlan.Field(name='unmarshal_names', annotation=OpRef(name='init.fields.3.annotati"
926
- "on'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=Non"
927
- "e, validate=None, check_type=None), InitPlan.Field(name='metadata', annotation=OpRef(name='init.fields.4.annot"
928
- "ation'), default=OpRef(name='init.fields.4.default'), default_factory=None, init=True, override=False, field_t"
929
- "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='options', annotatio"
930
- "n=OpRef(name='init.fields.5.annotation'), default=OpRef(name='init.fields.5.default'), default_factory=None, i"
931
- "nit=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_p"
932
- "aram='self', std_params=(), kw_only_params=('name', 'type', 'marshal_name', 'unmarshal_names', 'metadata', 'op"
933
- "tions'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Repr"
934
- "Plan.Field(name='name', kw_only=True, fn=None), ReprPlan.Field(name='type', kw_only=True, fn=None), ReprPlan.F"
935
- "ield(name='marshal_name', kw_only=True, fn=None), ReprPlan.Field(name='unmarshal_names', kw_only=True, fn=None"
936
- "), ReprPlan.Field(name='metadata', kw_only=True, fn=None), ReprPlan.Field(name='options', kw_only=True, fn=Non"
937
- "e)), id=False, terse=False, default_fn=None)))"
931
+ "Plans(tup=(CopyPlan(fields=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal')), "
932
+ "EqPlan(fields=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal')), FrozenPlan(fi"
933
+ "elds=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal'), allow_dynamic_dunder_at"
934
+ "trs=False), HashPlan(action='add', fields=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no"
935
+ "_unmarshal'), cache=False), InitPlan(fields=(InitPlan.Field(name='omit_if', annotation=OpRef(name='init.fields"
936
+ ".0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False,"
937
+ " field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='default', a"
938
+ "nnotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory"
939
+ "=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=OpRef("
940
+ "name='init.fields.1.check_type')), InitPlan.Field(name='embed', annotation=OpRef(name='init.fields.2.annotatio"
941
+ "n'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_type="
942
+ "FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='generic_replace', annot"
943
+ "ation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory=Non"
944
+ "e, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Ini"
945
+ "tPlan.Field(name='no_marshal', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fie"
946
+ "lds.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
947
+ "validate=None, check_type=None), InitPlan.Field(name='no_unmarshal', annotation=OpRef(name='init.fields.5.anno"
948
+ "tation'), default=OpRef(name='init.fields.5.default'), default_factory=None, init=True, override=False, field_"
949
+ "type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_o"
950
+ "nly_params=('omit_if', 'default', 'embed', 'generic_replace', 'no_marshal', 'no_unmarshal'), frozen=True, slot"
951
+ "s=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='omit_if',"
952
+ " kw_only=True, fn=None), ReprPlan.Field(name='default', kw_only=True, fn=None), ReprPlan.Field(name='embed', k"
953
+ "w_only=True, fn=None), ReprPlan.Field(name='generic_replace', kw_only=True, fn=None), ReprPlan.Field(name='no_"
954
+ "marshal', kw_only=True, fn=None), ReprPlan.Field(name='no_unmarshal', kw_only=True, fn=None)), id=False, terse"
955
+ "=False, default_fn=None)))"
938
956
  ),
939
- plan_repr_sha1='52efba591171513abf94b0833a0c230d4abd829e',
957
+ plan_repr_sha1='2c74992a67cabe7397fb3d1cc57b660ca4f1462c',
940
958
  op_ref_idents=(
941
959
  '__dataclass__init__fields__0__annotation',
960
+ '__dataclass__init__fields__0__default',
942
961
  '__dataclass__init__fields__1__annotation',
962
+ '__dataclass__init__fields__1__check_type',
963
+ '__dataclass__init__fields__1__default',
943
964
  '__dataclass__init__fields__2__annotation',
965
+ '__dataclass__init__fields__2__default',
944
966
  '__dataclass__init__fields__3__annotation',
967
+ '__dataclass__init__fields__3__default',
945
968
  '__dataclass__init__fields__4__annotation',
946
969
  '__dataclass__init__fields__4__default',
947
970
  '__dataclass__init__fields__5__annotation',
948
971
  '__dataclass__init__fields__5__default',
949
972
  ),
950
973
  cls_names=(
951
- ('omlish.marshal.standard', 'FieldInfo'),
974
+ ('omlish.marshal.standard', 'FieldOptions'),
952
975
  ),
953
976
  )
954
- def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
977
+ def _process_dataclass__2c74992a67cabe7397fb3d1cc57b660ca4f1462c():
955
978
  def _process_dataclass(
956
979
  *,
957
980
  __dataclass__cls,
958
981
  __dataclass__init__fields__0__annotation,
982
+ __dataclass__init__fields__0__default,
959
983
  __dataclass__init__fields__1__annotation,
984
+ __dataclass__init__fields__1__check_type,
985
+ __dataclass__init__fields__1__default,
960
986
  __dataclass__init__fields__2__annotation,
987
+ __dataclass__init__fields__2__default,
961
988
  __dataclass__init__fields__3__annotation,
989
+ __dataclass__init__fields__3__default,
962
990
  __dataclass__init__fields__4__annotation,
963
991
  __dataclass__init__fields__4__default,
964
992
  __dataclass__init__fields__5__annotation,
@@ -981,12 +1009,12 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
981
1009
  if self.__class__ is not __dataclass__cls:
982
1010
  raise TypeError(self)
983
1011
  return __dataclass__cls( # noqa
984
- name=self.name,
985
- type=self.type,
986
- marshal_name=self.marshal_name,
987
- unmarshal_names=self.unmarshal_names,
988
- metadata=self.metadata,
989
- options=self.options,
1012
+ omit_if=self.omit_if,
1013
+ default=self.default,
1014
+ embed=self.embed,
1015
+ generic_replace=self.generic_replace,
1016
+ no_marshal=self.no_marshal,
1017
+ no_unmarshal=self.no_unmarshal,
990
1018
  )
991
1019
 
992
1020
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1000,12 +1028,12 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1000
1028
  if self.__class__ is not other.__class__:
1001
1029
  return NotImplemented
1002
1030
  return (
1003
- self.name == other.name and
1004
- self.type == other.type and
1005
- self.marshal_name == other.marshal_name and
1006
- self.unmarshal_names == other.unmarshal_names and
1007
- self.metadata == other.metadata and
1008
- self.options == other.options
1031
+ self.omit_if == other.omit_if and
1032
+ self.default == other.default and
1033
+ self.embed == other.embed and
1034
+ self.generic_replace == other.generic_replace and
1035
+ self.no_marshal == other.no_marshal and
1036
+ self.no_unmarshal == other.no_unmarshal
1009
1037
  )
1010
1038
 
1011
1039
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1014,18 +1042,18 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1014
1042
  setattr(__dataclass__cls, '__eq__', __eq__)
1015
1043
 
1016
1044
  __dataclass___setattr_frozen_fields = {
1017
- 'name',
1018
- 'type',
1019
- 'marshal_name',
1020
- 'unmarshal_names',
1021
- 'metadata',
1022
- 'options',
1045
+ 'omit_if',
1046
+ 'default',
1047
+ 'embed',
1048
+ 'generic_replace',
1049
+ 'no_marshal',
1050
+ 'no_unmarshal',
1023
1051
  }
1024
1052
 
1025
1053
  def __setattr__(self, name, value):
1026
1054
  if (
1027
1055
  type(self) is __dataclass__cls
1028
- or name in __dataclass___setattr_frozen_fields
1056
+ or name in __dataclass___setattr_frozen_fields
1029
1057
  ):
1030
1058
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1031
1059
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1036,18 +1064,18 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1036
1064
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1037
1065
 
1038
1066
  __dataclass___delattr_frozen_fields = {
1039
- 'name',
1040
- 'type',
1041
- 'marshal_name',
1042
- 'unmarshal_names',
1043
- 'metadata',
1044
- 'options',
1067
+ 'omit_if',
1068
+ 'default',
1069
+ 'embed',
1070
+ 'generic_replace',
1071
+ 'no_marshal',
1072
+ 'no_unmarshal',
1045
1073
  }
1046
1074
 
1047
1075
  def __delattr__(self, name):
1048
1076
  if (
1049
1077
  type(self) is __dataclass__cls
1050
- or name in __dataclass___delattr_frozen_fields
1078
+ or name in __dataclass___delattr_frozen_fields
1051
1079
  ):
1052
1080
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1053
1081
  super(__dataclass__cls, self).__delattr__(name)
@@ -1059,12 +1087,12 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1059
1087
 
1060
1088
  def __hash__(self):
1061
1089
  return hash((
1062
- self.name,
1063
- self.type,
1064
- self.marshal_name,
1065
- self.unmarshal_names,
1066
- self.metadata,
1067
- self.options,
1090
+ self.omit_if,
1091
+ self.default,
1092
+ self.embed,
1093
+ self.generic_replace,
1094
+ self.no_marshal,
1095
+ self.no_unmarshal,
1068
1096
  ))
1069
1097
 
1070
1098
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1073,19 +1101,26 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1073
1101
  def __init__(
1074
1102
  self,
1075
1103
  *,
1076
- name: __dataclass__init__fields__0__annotation,
1077
- type: __dataclass__init__fields__1__annotation,
1078
- marshal_name: __dataclass__init__fields__2__annotation,
1079
- unmarshal_names: __dataclass__init__fields__3__annotation,
1080
- metadata: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
1081
- options: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
1104
+ omit_if: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1105
+ default: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1106
+ embed: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1107
+ generic_replace: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1108
+ no_marshal: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
1109
+ no_unmarshal: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
1082
1110
  ) -> __dataclass__None:
1083
- __dataclass__object_setattr(self, 'name', name)
1084
- __dataclass__object_setattr(self, 'type', type)
1085
- __dataclass__object_setattr(self, 'marshal_name', marshal_name)
1086
- __dataclass__object_setattr(self, 'unmarshal_names', unmarshal_names)
1087
- __dataclass__object_setattr(self, 'metadata', metadata)
1088
- __dataclass__object_setattr(self, 'options', options)
1111
+ if not __dataclass__isinstance(default, __dataclass__init__fields__1__check_type):
1112
+ raise __dataclass__FieldTypeValidationError(
1113
+ obj=self,
1114
+ type=__dataclass__init__fields__1__check_type,
1115
+ field='default',
1116
+ value=default,
1117
+ )
1118
+ __dataclass__object_setattr(self, 'omit_if', omit_if)
1119
+ __dataclass__object_setattr(self, 'default', default)
1120
+ __dataclass__object_setattr(self, 'embed', embed)
1121
+ __dataclass__object_setattr(self, 'generic_replace', generic_replace)
1122
+ __dataclass__object_setattr(self, 'no_marshal', no_marshal)
1123
+ __dataclass__object_setattr(self, 'no_unmarshal', no_unmarshal)
1089
1124
 
1090
1125
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1091
1126
  if '__init__' in __dataclass__cls.__dict__:
@@ -1095,12 +1130,12 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1095
1130
  @__dataclass___recursive_repr()
1096
1131
  def __repr__(self):
1097
1132
  parts = []
1098
- parts.append(f"name={self.name!r}")
1099
- parts.append(f"type={self.type!r}")
1100
- parts.append(f"marshal_name={self.marshal_name!r}")
1101
- parts.append(f"unmarshal_names={self.unmarshal_names!r}")
1102
- parts.append(f"metadata={self.metadata!r}")
1103
- parts.append(f"options={self.options!r}")
1133
+ parts.append(f"omit_if={self.omit_if!r}")
1134
+ parts.append(f"default={self.default!r}")
1135
+ parts.append(f"embed={self.embed!r}")
1136
+ parts.append(f"generic_replace={self.generic_replace!r}")
1137
+ parts.append(f"no_marshal={self.no_marshal!r}")
1138
+ parts.append(f"no_unmarshal={self.no_unmarshal!r}")
1104
1139
  return (
1105
1140
  f"{self.__class__.__qualname__}("
1106
1141
  f"{', '.join(parts)}"
@@ -1117,28 +1152,37 @@ def _process_dataclass__52efba591171513abf94b0833a0c230d4abd829e():
1117
1152
 
1118
1153
  @_register(
1119
1154
  plan_repr=(
1120
- "Plans(tup=(CopyPlan(fields=('ty',)), EqPlan(fields=('ty',)), FrozenPlan(fields=('ty',), allow_dynamic_dunder_a"
1121
- "ttrs=False), HashPlan(action='add', fields=('ty',), cache=False), InitPlan(fields=(InitPlan.Field(name='ty', a"
1122
- "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
1123
- "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
1124
- "s=('ty',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
1125
- "ReprPlan(fields=(ReprPlan.Field(name='ty', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
1126
- ")"
1155
+ "Plans(tup=(CopyPlan(fields=('v_ty', 'l', 'x')), EqPlan(fields=('v_ty', 'l', 'x')), FrozenPlan(fields=('v_ty', "
1156
+ "'l', 'x'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('v_ty', 'l', 'x'), cache=False), "
1157
+ "InitPlan(fields=(InitPlan.Field(name='v_ty', annotation=OpRef(name='init.fields.0.annotation'), default=None, "
1158
+ "default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, ch"
1159
+ "eck_type=None), InitPlan.Field(name='l', annotation=OpRef(name='init.fields.1.annotation'), default=None, defa"
1160
+ "ult_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_"
1161
+ "type=None), InitPlan.Field(name='x', annotation=OpRef(name='init.fields.2.annotation'), default=None, default_"
1162
+ "factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type"
1163
+ "=None)), self_param='self', std_params=('v_ty', 'l', 'x'), kw_only_params=(), frozen=True, slots=False, post_i"
1164
+ "nit_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='v_ty', kw_only=False, fn"
1165
+ "=None), ReprPlan.Field(name='l', kw_only=False, fn=None), ReprPlan.Field(name='x', kw_only=False, fn=None)), i"
1166
+ "d=False, terse=False, default_fn=None)))"
1127
1167
  ),
1128
- plan_repr_sha1='5fb811b6a8837cb3b84359f812a39e560d257d5f',
1168
+ plan_repr_sha1='aa08307883613da816f90047c1bb03f6cdc155a2',
1129
1169
  op_ref_idents=(
1130
1170
  '__dataclass__init__fields__0__annotation',
1171
+ '__dataclass__init__fields__1__annotation',
1172
+ '__dataclass__init__fields__2__annotation',
1131
1173
  ),
1132
1174
  cls_names=(
1133
- ('omlish.marshal.singular.base64', 'Base64MarshalerUnmarshaler'),
1134
- ('omlish.marshal.standard', 'PrimitiveMarshalerUnmarshaler'),
1175
+ ('omlish.marshal.standard', 'LiteralUnionMarshaler'),
1176
+ ('omlish.marshal.standard', 'LiteralUnionUnmarshaler'),
1135
1177
  ),
1136
1178
  )
1137
- def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1179
+ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1138
1180
  def _process_dataclass(
1139
1181
  *,
1140
1182
  __dataclass__cls,
1141
1183
  __dataclass__init__fields__0__annotation,
1184
+ __dataclass__init__fields__1__annotation,
1185
+ __dataclass__init__fields__2__annotation,
1142
1186
  __dataclass__FieldFnValidationError, # noqa
1143
1187
  __dataclass__FieldTypeValidationError, # noqa
1144
1188
  __dataclass__FnValidationError, # noqa
@@ -1157,7 +1201,9 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1157
1201
  if self.__class__ is not __dataclass__cls:
1158
1202
  raise TypeError(self)
1159
1203
  return __dataclass__cls( # noqa
1160
- ty=self.ty,
1204
+ v_ty=self.v_ty,
1205
+ l=self.l,
1206
+ x=self.x,
1161
1207
  )
1162
1208
 
1163
1209
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1171,7 +1217,9 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1171
1217
  if self.__class__ is not other.__class__:
1172
1218
  return NotImplemented
1173
1219
  return (
1174
- self.ty == other.ty
1220
+ self.v_ty == other.v_ty and
1221
+ self.l == other.l and
1222
+ self.x == other.x
1175
1223
  )
1176
1224
 
1177
1225
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1180,13 +1228,15 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1180
1228
  setattr(__dataclass__cls, '__eq__', __eq__)
1181
1229
 
1182
1230
  __dataclass___setattr_frozen_fields = {
1183
- 'ty',
1231
+ 'v_ty',
1232
+ 'l',
1233
+ 'x',
1184
1234
  }
1185
1235
 
1186
1236
  def __setattr__(self, name, value):
1187
1237
  if (
1188
1238
  type(self) is __dataclass__cls
1189
- or name in __dataclass___setattr_frozen_fields
1239
+ or name in __dataclass___setattr_frozen_fields
1190
1240
  ):
1191
1241
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1192
1242
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1197,13 +1247,15 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1197
1247
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1198
1248
 
1199
1249
  __dataclass___delattr_frozen_fields = {
1200
- 'ty',
1250
+ 'v_ty',
1251
+ 'l',
1252
+ 'x',
1201
1253
  }
1202
1254
 
1203
1255
  def __delattr__(self, name):
1204
1256
  if (
1205
1257
  type(self) is __dataclass__cls
1206
- or name in __dataclass___delattr_frozen_fields
1258
+ or name in __dataclass___delattr_frozen_fields
1207
1259
  ):
1208
1260
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1209
1261
  super(__dataclass__cls, self).__delattr__(name)
@@ -1215,7 +1267,9 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1215
1267
 
1216
1268
  def __hash__(self):
1217
1269
  return hash((
1218
- self.ty,
1270
+ self.v_ty,
1271
+ self.l,
1272
+ self.x,
1219
1273
  ))
1220
1274
 
1221
1275
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1223,9 +1277,13 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1223
1277
 
1224
1278
  def __init__(
1225
1279
  self,
1226
- ty: __dataclass__init__fields__0__annotation,
1280
+ v_ty: __dataclass__init__fields__0__annotation,
1281
+ l: __dataclass__init__fields__1__annotation,
1282
+ x: __dataclass__init__fields__2__annotation,
1227
1283
  ) -> __dataclass__None:
1228
- __dataclass__object_setattr(self, 'ty', ty)
1284
+ __dataclass__object_setattr(self, 'v_ty', v_ty)
1285
+ __dataclass__object_setattr(self, 'l', l)
1286
+ __dataclass__object_setattr(self, 'x', x)
1229
1287
 
1230
1288
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1231
1289
  if '__init__' in __dataclass__cls.__dict__:
@@ -1235,7 +1293,9 @@ def _process_dataclass__5fb811b6a8837cb3b84359f812a39e560d257d5f():
1235
1293
  @__dataclass___recursive_repr()
1236
1294
  def __repr__(self):
1237
1295
  parts = []
1238
- parts.append(f"ty={self.ty!r}")
1296
+ parts.append(f"v_ty={self.v_ty!r}")
1297
+ parts.append(f"l={self.l!r}")
1298
+ parts.append(f"x={self.x!r}")
1239
1299
  return (
1240
1300
  f"{self.__class__.__qualname__}("
1241
1301
  f"{', '.join(parts)}"
@@ -1341,7 +1401,7 @@ def _process_dataclass__8efaa231a8242879f7cbb39c769901e1908abe12():
1341
1401
  def __setattr__(self, name, value):
1342
1402
  if (
1343
1403
  type(self) is __dataclass__cls
1344
- or name in __dataclass___setattr_frozen_fields
1404
+ or name in __dataclass___setattr_frozen_fields
1345
1405
  ):
1346
1406
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1347
1407
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1360,7 +1420,7 @@ def _process_dataclass__8efaa231a8242879f7cbb39c769901e1908abe12():
1360
1420
  def __delattr__(self, name):
1361
1421
  if (
1362
1422
  type(self) is __dataclass__cls
1363
- or name in __dataclass___delattr_frozen_fields
1423
+ or name in __dataclass___delattr_frozen_fields
1364
1424
  ):
1365
1425
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1366
1426
  super(__dataclass__cls, self).__delattr__(name)
@@ -1418,37 +1478,60 @@ def _process_dataclass__8efaa231a8242879f7cbb39c769901e1908abe12():
1418
1478
 
1419
1479
  @_register(
1420
1480
  plan_repr=(
1421
- "Plans(tup=(CopyPlan(fields=('v_ty', 'l', 'x')), EqPlan(fields=('v_ty', 'l', 'x')), FrozenPlan(fields=('v_ty', "
1422
- "'l', 'x'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('v_ty', 'l', 'x'), cache=False), "
1423
- "InitPlan(fields=(InitPlan.Field(name='v_ty', annotation=OpRef(name='init.fields.0.annotation'), default=None, "
1424
- "default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, ch"
1425
- "eck_type=None), InitPlan.Field(name='l', annotation=OpRef(name='init.fields.1.annotation'), default=None, defa"
1426
- "ult_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_"
1427
- "type=None), InitPlan.Field(name='x', annotation=OpRef(name='init.fields.2.annotation'), default=None, default_"
1428
- "factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type"
1429
- "=None)), self_param='self', std_params=('v_ty', 'l', 'x'), kw_only_params=(), frozen=True, slots=False, post_i"
1430
- "nit_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='v_ty', kw_only=False, fn"
1431
- "=None), ReprPlan.Field(name='l', kw_only=False, fn=None), ReprPlan.Field(name='x', kw_only=False, fn=None)), i"
1432
- "d=False, terse=False, default_fn=None)))"
1481
+ "Plans(tup=(CopyPlan(fields=('field_naming', 'unknown_field', 'source_field', 'field_defaults', 'ignore_unknown"
1482
+ "')), EqPlan(fields=('field_naming', 'unknown_field', 'source_field', 'field_defaults', 'ignore_unknown')), Fro"
1483
+ "zenPlan(fields=('field_naming', 'unknown_field', 'source_field', 'field_defaults', 'ignore_unknown'), allow_dy"
1484
+ "namic_dunder_attrs=False), HashPlan(action='add', fields=('field_naming', 'unknown_field', 'source_field', 'fi"
1485
+ "eld_defaults', 'ignore_unknown'), cache=False), InitPlan(fields=(InitPlan.Field(name='field_naming', annotatio"
1486
+ "n=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, i"
1487
+ "nit=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPla"
1488
+ "n.Field(name='unknown_field', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fiel"
1489
+ "ds.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, v"
1490
+ "alidate=None, check_type=None), InitPlan.Field(name='source_field', annotation=OpRef(name='init.fields.2.annot"
1491
+ "ation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_t"
1492
+ "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='field_defaults', an"
1493
+ "notation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory="
1494
+ "None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), "
1495
+ "InitPlan.Field(name='ignore_unknown', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='i"
1496
+ "nit.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce"
1497
+ "=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('field_naming', 'un"
1498
+ "known_field', 'source_field', 'field_defaults', 'ignore_unknown'), frozen=True, slots=False, post_init_params="
1499
+ "None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='field_naming', kw_only=True, fn=Non"
1500
+ "e), ReprPlan.Field(name='unknown_field', kw_only=True, fn=None), ReprPlan.Field(name='source_field', kw_only=T"
1501
+ "rue, fn=None), ReprPlan.Field(name='field_defaults', kw_only=True, fn=None), ReprPlan.Field(name='ignore_unkno"
1502
+ "wn', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1433
1503
  ),
1434
- plan_repr_sha1='aa08307883613da816f90047c1bb03f6cdc155a2',
1504
+ plan_repr_sha1='3a02ae2ce08461319189d2ccea7ecf32459e24c3',
1435
1505
  op_ref_idents=(
1436
1506
  '__dataclass__init__fields__0__annotation',
1507
+ '__dataclass__init__fields__0__default',
1437
1508
  '__dataclass__init__fields__1__annotation',
1509
+ '__dataclass__init__fields__1__default',
1438
1510
  '__dataclass__init__fields__2__annotation',
1511
+ '__dataclass__init__fields__2__default',
1512
+ '__dataclass__init__fields__3__annotation',
1513
+ '__dataclass__init__fields__3__default',
1514
+ '__dataclass__init__fields__4__annotation',
1515
+ '__dataclass__init__fields__4__default',
1439
1516
  ),
1440
1517
  cls_names=(
1441
- ('omlish.marshal.standard', 'LiteralUnionMarshaler'),
1442
- ('omlish.marshal.standard', 'LiteralUnionUnmarshaler'),
1518
+ ('omlish.marshal.standard', 'ObjectMetadata'),
1443
1519
  ),
1444
1520
  )
1445
- def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1521
+ def _process_dataclass__3a02ae2ce08461319189d2ccea7ecf32459e24c3():
1446
1522
  def _process_dataclass(
1447
1523
  *,
1448
1524
  __dataclass__cls,
1449
1525
  __dataclass__init__fields__0__annotation,
1526
+ __dataclass__init__fields__0__default,
1450
1527
  __dataclass__init__fields__1__annotation,
1528
+ __dataclass__init__fields__1__default,
1451
1529
  __dataclass__init__fields__2__annotation,
1530
+ __dataclass__init__fields__2__default,
1531
+ __dataclass__init__fields__3__annotation,
1532
+ __dataclass__init__fields__3__default,
1533
+ __dataclass__init__fields__4__annotation,
1534
+ __dataclass__init__fields__4__default,
1452
1535
  __dataclass__FieldFnValidationError, # noqa
1453
1536
  __dataclass__FieldTypeValidationError, # noqa
1454
1537
  __dataclass__FnValidationError, # noqa
@@ -1467,9 +1550,11 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1467
1550
  if self.__class__ is not __dataclass__cls:
1468
1551
  raise TypeError(self)
1469
1552
  return __dataclass__cls( # noqa
1470
- v_ty=self.v_ty,
1471
- l=self.l,
1472
- x=self.x,
1553
+ field_naming=self.field_naming,
1554
+ unknown_field=self.unknown_field,
1555
+ source_field=self.source_field,
1556
+ field_defaults=self.field_defaults,
1557
+ ignore_unknown=self.ignore_unknown,
1473
1558
  )
1474
1559
 
1475
1560
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1483,9 +1568,11 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1483
1568
  if self.__class__ is not other.__class__:
1484
1569
  return NotImplemented
1485
1570
  return (
1486
- self.v_ty == other.v_ty and
1487
- self.l == other.l and
1488
- self.x == other.x
1571
+ self.field_naming == other.field_naming and
1572
+ self.unknown_field == other.unknown_field and
1573
+ self.source_field == other.source_field and
1574
+ self.field_defaults == other.field_defaults and
1575
+ self.ignore_unknown == other.ignore_unknown
1489
1576
  )
1490
1577
 
1491
1578
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1494,15 +1581,17 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1494
1581
  setattr(__dataclass__cls, '__eq__', __eq__)
1495
1582
 
1496
1583
  __dataclass___setattr_frozen_fields = {
1497
- 'v_ty',
1498
- 'l',
1499
- 'x',
1584
+ 'field_naming',
1585
+ 'unknown_field',
1586
+ 'source_field',
1587
+ 'field_defaults',
1588
+ 'ignore_unknown',
1500
1589
  }
1501
1590
 
1502
1591
  def __setattr__(self, name, value):
1503
1592
  if (
1504
1593
  type(self) is __dataclass__cls
1505
- or name in __dataclass___setattr_frozen_fields
1594
+ or name in __dataclass___setattr_frozen_fields
1506
1595
  ):
1507
1596
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1508
1597
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1513,15 +1602,17 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1513
1602
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1514
1603
 
1515
1604
  __dataclass___delattr_frozen_fields = {
1516
- 'v_ty',
1517
- 'l',
1518
- 'x',
1605
+ 'field_naming',
1606
+ 'unknown_field',
1607
+ 'source_field',
1608
+ 'field_defaults',
1609
+ 'ignore_unknown',
1519
1610
  }
1520
1611
 
1521
1612
  def __delattr__(self, name):
1522
1613
  if (
1523
1614
  type(self) is __dataclass__cls
1524
- or name in __dataclass___delattr_frozen_fields
1615
+ or name in __dataclass___delattr_frozen_fields
1525
1616
  ):
1526
1617
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1527
1618
  super(__dataclass__cls, self).__delattr__(name)
@@ -1533,9 +1624,11 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1533
1624
 
1534
1625
  def __hash__(self):
1535
1626
  return hash((
1536
- self.v_ty,
1537
- self.l,
1538
- self.x,
1627
+ self.field_naming,
1628
+ self.unknown_field,
1629
+ self.source_field,
1630
+ self.field_defaults,
1631
+ self.ignore_unknown,
1539
1632
  ))
1540
1633
 
1541
1634
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1543,13 +1636,18 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1543
1636
 
1544
1637
  def __init__(
1545
1638
  self,
1546
- v_ty: __dataclass__init__fields__0__annotation,
1547
- l: __dataclass__init__fields__1__annotation,
1548
- x: __dataclass__init__fields__2__annotation,
1639
+ *,
1640
+ field_naming: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1641
+ unknown_field: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1642
+ source_field: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1643
+ field_defaults: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1644
+ ignore_unknown: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
1549
1645
  ) -> __dataclass__None:
1550
- __dataclass__object_setattr(self, 'v_ty', v_ty)
1551
- __dataclass__object_setattr(self, 'l', l)
1552
- __dataclass__object_setattr(self, 'x', x)
1646
+ __dataclass__object_setattr(self, 'field_naming', field_naming)
1647
+ __dataclass__object_setattr(self, 'unknown_field', unknown_field)
1648
+ __dataclass__object_setattr(self, 'source_field', source_field)
1649
+ __dataclass__object_setattr(self, 'field_defaults', field_defaults)
1650
+ __dataclass__object_setattr(self, 'ignore_unknown', ignore_unknown)
1553
1651
 
1554
1652
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1555
1653
  if '__init__' in __dataclass__cls.__dict__:
@@ -1559,9 +1657,11 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1559
1657
  @__dataclass___recursive_repr()
1560
1658
  def __repr__(self):
1561
1659
  parts = []
1562
- parts.append(f"v_ty={self.v_ty!r}")
1563
- parts.append(f"l={self.l!r}")
1564
- parts.append(f"x={self.x!r}")
1660
+ parts.append(f"field_naming={self.field_naming!r}")
1661
+ parts.append(f"unknown_field={self.unknown_field!r}")
1662
+ parts.append(f"source_field={self.source_field!r}")
1663
+ parts.append(f"field_defaults={self.field_defaults!r}")
1664
+ parts.append(f"ignore_unknown={self.ignore_unknown!r}")
1565
1665
  return (
1566
1666
  f"{self.__class__.__qualname__}("
1567
1667
  f"{', '.join(parts)}"
@@ -1578,30 +1678,36 @@ def _process_dataclass__aa08307883613da816f90047c1bb03f6cdc155a2():
1578
1678
 
1579
1679
  @_register(
1580
1680
  plan_repr=(
1581
- "Plans(tup=(CopyPlan(fields=('tys',)), EqPlan(fields=('tys',)), FrozenPlan(fields=('tys',), allow_dynamic_dunde"
1582
- "r_attrs=False), HashPlan(action='add', fields=('tys',), cache=False), InitPlan(fields=(InitPlan.Field(name='ty"
1583
- "s', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_fa"
1584
- "ctory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=N"
1585
- "one),), self_param='self', std_params=('tys',), kw_only_params=(), frozen=True, slots=False, post_init_params="
1586
- "None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='tys', kw_only=False, fn=None),), id"
1587
- "=False, terse=False, default_fn=None)))"
1681
+ "Plans(tup=(CopyPlan(fields=('unknown', 'source')), EqPlan(fields=('unknown', 'source')), FrozenPlan(fields=('u"
1682
+ "nknown', 'source'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('unknown', 'source'), ca"
1683
+ "che=False), InitPlan(fields=(InitPlan.Field(name='unknown', annotation=OpRef(name='init.fields.0.annotation'),"
1684
+ " default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=Fiel"
1685
+ "dType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='source', annotation=OpRef(n"
1686
+ "ame='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True,"
1687
+ " override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='sel"
1688
+ "f', std_params=(), kw_only_params=('unknown', 'source'), frozen=True, slots=False, post_init_params=None, init"
1689
+ "_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='unknown', kw_only=True, fn=None), ReprPlan.Fi"
1690
+ "eld(name='source', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1588
1691
  ),
1589
- plan_repr_sha1='b5727e74a7047b8747632a1bea03a771a8a8aef4',
1692
+ plan_repr_sha1='ffbfe43830279fbce3d0d2196bd9c1e581bc796f',
1590
1693
  op_ref_idents=(
1591
1694
  '__dataclass__init__fields__0__annotation',
1592
1695
  '__dataclass__init__fields__0__default',
1696
+ '__dataclass__init__fields__1__annotation',
1697
+ '__dataclass__init__fields__1__default',
1593
1698
  ),
1594
1699
  cls_names=(
1595
- ('omlish.marshal.standard', 'PrimitiveUnionMarshalerFactory'),
1596
- ('omlish.marshal.standard', 'PrimitiveUnionUnmarshalerFactory'),
1700
+ ('omlish.marshal.standard', 'ObjectSpecials'),
1597
1701
  ),
1598
1702
  )
1599
- def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1703
+ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
1600
1704
  def _process_dataclass(
1601
1705
  *,
1602
1706
  __dataclass__cls,
1603
1707
  __dataclass__init__fields__0__annotation,
1604
1708
  __dataclass__init__fields__0__default,
1709
+ __dataclass__init__fields__1__annotation,
1710
+ __dataclass__init__fields__1__default,
1605
1711
  __dataclass__FieldFnValidationError, # noqa
1606
1712
  __dataclass__FieldTypeValidationError, # noqa
1607
1713
  __dataclass__FnValidationError, # noqa
@@ -1620,7 +1726,8 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1620
1726
  if self.__class__ is not __dataclass__cls:
1621
1727
  raise TypeError(self)
1622
1728
  return __dataclass__cls( # noqa
1623
- tys=self.tys,
1729
+ unknown=self.unknown,
1730
+ source=self.source,
1624
1731
  )
1625
1732
 
1626
1733
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1634,7 +1741,8 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1634
1741
  if self.__class__ is not other.__class__:
1635
1742
  return NotImplemented
1636
1743
  return (
1637
- self.tys == other.tys
1744
+ self.unknown == other.unknown and
1745
+ self.source == other.source
1638
1746
  )
1639
1747
 
1640
1748
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1643,13 +1751,14 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1643
1751
  setattr(__dataclass__cls, '__eq__', __eq__)
1644
1752
 
1645
1753
  __dataclass___setattr_frozen_fields = {
1646
- 'tys',
1754
+ 'unknown',
1755
+ 'source',
1647
1756
  }
1648
1757
 
1649
1758
  def __setattr__(self, name, value):
1650
1759
  if (
1651
1760
  type(self) is __dataclass__cls
1652
- or name in __dataclass___setattr_frozen_fields
1761
+ or name in __dataclass___setattr_frozen_fields
1653
1762
  ):
1654
1763
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1655
1764
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1660,13 +1769,14 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1660
1769
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1661
1770
 
1662
1771
  __dataclass___delattr_frozen_fields = {
1663
- 'tys',
1772
+ 'unknown',
1773
+ 'source',
1664
1774
  }
1665
1775
 
1666
1776
  def __delattr__(self, name):
1667
1777
  if (
1668
1778
  type(self) is __dataclass__cls
1669
- or name in __dataclass___delattr_frozen_fields
1779
+ or name in __dataclass___delattr_frozen_fields
1670
1780
  ):
1671
1781
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1672
1782
  super(__dataclass__cls, self).__delattr__(name)
@@ -1678,7 +1788,8 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1678
1788
 
1679
1789
  def __hash__(self):
1680
1790
  return hash((
1681
- self.tys,
1791
+ self.unknown,
1792
+ self.source,
1682
1793
  ))
1683
1794
 
1684
1795
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1686,9 +1797,12 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1686
1797
 
1687
1798
  def __init__(
1688
1799
  self,
1689
- tys: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1800
+ *,
1801
+ unknown: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1802
+ source: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1690
1803
  ) -> __dataclass__None:
1691
- __dataclass__object_setattr(self, 'tys', tys)
1804
+ __dataclass__object_setattr(self, 'unknown', unknown)
1805
+ __dataclass__object_setattr(self, 'source', source)
1692
1806
 
1693
1807
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1694
1808
  if '__init__' in __dataclass__cls.__dict__:
@@ -1698,7 +1812,8 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1698
1812
  @__dataclass___recursive_repr()
1699
1813
  def __repr__(self):
1700
1814
  parts = []
1701
- parts.append(f"tys={self.tys!r}")
1815
+ parts.append(f"unknown={self.unknown!r}")
1816
+ parts.append(f"source={self.source!r}")
1702
1817
  return (
1703
1818
  f"{self.__class__.__qualname__}("
1704
1819
  f"{', '.join(parts)}"
@@ -1715,76 +1830,68 @@ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
1715
1830
 
1716
1831
  @_register(
1717
1832
  plan_repr=(
1718
- "Plans(tup=(CopyPlan(fields=('name', 'alts', 'options', 'marshaler', 'marshaler_factory', 'unmarshaler', 'unmar"
1719
- "shaler_factory')), EqPlan(fields=('name', 'alts', 'options', 'marshaler', 'marshaler_factory', 'unmarshaler', "
1720
- "'unmarshaler_factory')), FrozenPlan(fields=('name', 'alts', 'options', 'marshaler', 'marshaler_factory', 'unma"
1721
- "rshaler', 'unmarshaler_factory'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('name', 'a"
1722
- "lts', 'options', 'marshaler', 'marshaler_factory', 'unmarshaler', 'unmarshaler_factory'), cache=False), InitPl"
1723
- "an(fields=(InitPlan.Field(name='name', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='"
1724
- "init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerc"
1725
- "e=None, validate=None, check_type=None), InitPlan.Field(name='alts', annotation=OpRef(name='init.fields.1.anno"
1726
- "tation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_"
1727
- "type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='options', annotati"
1728
- "on=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, "
1729
- "init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPl"
1730
- "an.Field(name='marshaler', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields."
1731
- "3.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, vali"
1732
- "date=None, check_type=OpRef(name='init.fields.3.check_type')), InitPlan.Field(name='marshaler_factory', annota"
1733
- "tion=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_factory=None"
1734
- ", init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Init"
1735
- "Plan.Field(name='unmarshaler', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name='init.fie"
1736
- "lds.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
1737
- "validate=None, check_type=OpRef(name='init.fields.5.check_type')), InitPlan.Field(name='unmarshaler_factory', "
1738
- "annotation=OpRef(name='init.fields.6.annotation'), default=OpRef(name='init.fields.6.default'), default_factor"
1833
+ "Plans(tup=(CopyPlan(fields=('factory', 'fields_by_unmarshal_name', 'specials', 'defaults', 'embeds', 'embeds_b"
1834
+ "y_unmarshal_name', 'ignore_unknown')), EqPlan(fields=('factory', 'fields_by_unmarshal_name', 'specials', 'defa"
1835
+ "ults', 'embeds', 'embeds_by_unmarshal_name', 'ignore_unknown')), FrozenPlan(fields=('factory', 'fields_by_unma"
1836
+ "rshal_name', 'specials', 'defaults', 'embeds', 'embeds_by_unmarshal_name', 'ignore_unknown'), allow_dynamic_du"
1837
+ "nder_attrs=False), HashPlan(action='add', fields=('factory', 'fields_by_unmarshal_name', 'specials', 'defaults"
1838
+ "', 'embeds', 'embeds_by_unmarshal_name', 'ignore_unknown'), cache=False), InitPlan(fields=(InitPlan.Field(name"
1839
+ "='factory', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, "
1840
+ "override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(na"
1841
+ "me='fields_by_unmarshal_name', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_factor"
1739
1842
  "y=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)"
1740
- "), self_param='self', std_params=(), kw_only_params=('name', 'alts', 'options', 'marshaler', 'marshaler_factor"
1741
- "y', 'unmarshaler', 'unmarshaler_factory'), frozen=True, slots=False, post_init_params=None, init_fns=(), valid"
1742
- "ate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='name', kw_only=True, fn=None), ReprPlan.Field(name='alts', "
1743
- "kw_only=True, fn=None), ReprPlan.Field(name='options', kw_only=True, fn=None), ReprPlan.Field(name='marshaler'"
1744
- ", kw_only=True, fn=None), ReprPlan.Field(name='marshaler_factory', kw_only=True, fn=None), ReprPlan.Field(name"
1745
- "='unmarshaler', kw_only=True, fn=None), ReprPlan.Field(name='unmarshaler_factory', kw_only=True, fn=None)), id"
1746
- "=False, terse=False, default_fn=None)))"
1843
+ ", InitPlan.Field(name='specials', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init."
1844
+ "fields.2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=Non"
1845
+ "e, validate=None, check_type=None), InitPlan.Field(name='defaults', annotation=OpRef(name='init.fields.3.annot"
1846
+ "ation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=False, field_t"
1847
+ "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='embeds', annotation"
1848
+ "=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_factory=None, in"
1849
+ "it=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan"
1850
+ ".Field(name='embeds_by_unmarshal_name', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name="
1851
+ "'init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coer"
1852
+ "ce=None, validate=None, check_type=None), InitPlan.Field(name='ignore_unknown', annotation=OpRef(name='init.fi"
1853
+ "elds.6.annotation'), default=OpRef(name='init.fields.6.default'), default_factory=None, init=True, override=Fa"
1854
+ "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_para"
1855
+ "ms=('factory', 'fields_by_unmarshal_name'), kw_only_params=('specials', 'defaults', 'embeds', 'embeds_by_unmar"
1856
+ "shal_name', 'ignore_unknown'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()),"
1857
+ " ReprPlan(fields=(ReprPlan.Field(name='factory', kw_only=False, fn=None), ReprPlan.Field(name='fields_by_unmar"
1858
+ "shal_name', kw_only=False, fn=None), ReprPlan.Field(name='specials', kw_only=True, fn=None), ReprPlan.Field(na"
1859
+ "me='defaults', kw_only=True, fn=None), ReprPlan.Field(name='embeds', kw_only=True, fn=None), ReprPlan.Field(na"
1860
+ "me='embeds_by_unmarshal_name', kw_only=True, fn=None), ReprPlan.Field(name='ignore_unknown', kw_only=True, fn="
1861
+ "None)), id=False, terse=False, default_fn=None)))"
1747
1862
  ),
1748
- plan_repr_sha1='bad93a176f34458732d6dbbd403a7930767b3796',
1863
+ plan_repr_sha1='e171c973cbb0e4f2e398aefc90142b250947e15b',
1749
1864
  op_ref_idents=(
1750
1865
  '__dataclass__init__fields__0__annotation',
1751
- '__dataclass__init__fields__0__default',
1752
1866
  '__dataclass__init__fields__1__annotation',
1753
- '__dataclass__init__fields__1__default',
1754
1867
  '__dataclass__init__fields__2__annotation',
1755
1868
  '__dataclass__init__fields__2__default',
1756
1869
  '__dataclass__init__fields__3__annotation',
1757
- '__dataclass__init__fields__3__check_type',
1758
1870
  '__dataclass__init__fields__3__default',
1759
1871
  '__dataclass__init__fields__4__annotation',
1760
1872
  '__dataclass__init__fields__4__default',
1761
1873
  '__dataclass__init__fields__5__annotation',
1762
- '__dataclass__init__fields__5__check_type',
1763
1874
  '__dataclass__init__fields__5__default',
1764
1875
  '__dataclass__init__fields__6__annotation',
1765
1876
  '__dataclass__init__fields__6__default',
1766
1877
  ),
1767
1878
  cls_names=(
1768
- ('omlish.marshal.standard', 'FieldMetadata'),
1879
+ ('omlish.marshal.standard', 'ObjectUnmarshaler'),
1769
1880
  ),
1770
1881
  )
1771
- def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1882
+ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
1772
1883
  def _process_dataclass(
1773
1884
  *,
1774
1885
  __dataclass__cls,
1775
1886
  __dataclass__init__fields__0__annotation,
1776
- __dataclass__init__fields__0__default,
1777
1887
  __dataclass__init__fields__1__annotation,
1778
- __dataclass__init__fields__1__default,
1779
1888
  __dataclass__init__fields__2__annotation,
1780
1889
  __dataclass__init__fields__2__default,
1781
1890
  __dataclass__init__fields__3__annotation,
1782
- __dataclass__init__fields__3__check_type,
1783
1891
  __dataclass__init__fields__3__default,
1784
1892
  __dataclass__init__fields__4__annotation,
1785
1893
  __dataclass__init__fields__4__default,
1786
1894
  __dataclass__init__fields__5__annotation,
1787
- __dataclass__init__fields__5__check_type,
1788
1895
  __dataclass__init__fields__5__default,
1789
1896
  __dataclass__init__fields__6__annotation,
1790
1897
  __dataclass__init__fields__6__default,
@@ -1806,13 +1913,13 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1806
1913
  if self.__class__ is not __dataclass__cls:
1807
1914
  raise TypeError(self)
1808
1915
  return __dataclass__cls( # noqa
1809
- name=self.name,
1810
- alts=self.alts,
1811
- options=self.options,
1812
- marshaler=self.marshaler,
1813
- marshaler_factory=self.marshaler_factory,
1814
- unmarshaler=self.unmarshaler,
1815
- unmarshaler_factory=self.unmarshaler_factory,
1916
+ factory=self.factory,
1917
+ fields_by_unmarshal_name=self.fields_by_unmarshal_name,
1918
+ specials=self.specials,
1919
+ defaults=self.defaults,
1920
+ embeds=self.embeds,
1921
+ embeds_by_unmarshal_name=self.embeds_by_unmarshal_name,
1922
+ ignore_unknown=self.ignore_unknown,
1816
1923
  )
1817
1924
 
1818
1925
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1826,13 +1933,13 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1826
1933
  if self.__class__ is not other.__class__:
1827
1934
  return NotImplemented
1828
1935
  return (
1829
- self.name == other.name and
1830
- self.alts == other.alts and
1831
- self.options == other.options and
1832
- self.marshaler == other.marshaler and
1833
- self.marshaler_factory == other.marshaler_factory and
1834
- self.unmarshaler == other.unmarshaler and
1835
- self.unmarshaler_factory == other.unmarshaler_factory
1936
+ self.factory == other.factory and
1937
+ self.fields_by_unmarshal_name == other.fields_by_unmarshal_name and
1938
+ self.specials == other.specials and
1939
+ self.defaults == other.defaults and
1940
+ self.embeds == other.embeds and
1941
+ self.embeds_by_unmarshal_name == other.embeds_by_unmarshal_name and
1942
+ self.ignore_unknown == other.ignore_unknown
1836
1943
  )
1837
1944
 
1838
1945
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1841,19 +1948,19 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1841
1948
  setattr(__dataclass__cls, '__eq__', __eq__)
1842
1949
 
1843
1950
  __dataclass___setattr_frozen_fields = {
1844
- 'name',
1845
- 'alts',
1846
- 'options',
1847
- 'marshaler',
1848
- 'marshaler_factory',
1849
- 'unmarshaler',
1850
- 'unmarshaler_factory',
1951
+ 'factory',
1952
+ 'fields_by_unmarshal_name',
1953
+ 'specials',
1954
+ 'defaults',
1955
+ 'embeds',
1956
+ 'embeds_by_unmarshal_name',
1957
+ 'ignore_unknown',
1851
1958
  }
1852
1959
 
1853
1960
  def __setattr__(self, name, value):
1854
1961
  if (
1855
1962
  type(self) is __dataclass__cls
1856
- or name in __dataclass___setattr_frozen_fields
1963
+ or name in __dataclass___setattr_frozen_fields
1857
1964
  ):
1858
1965
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1859
1966
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1864,19 +1971,19 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1864
1971
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1865
1972
 
1866
1973
  __dataclass___delattr_frozen_fields = {
1867
- 'name',
1868
- 'alts',
1869
- 'options',
1870
- 'marshaler',
1871
- 'marshaler_factory',
1872
- 'unmarshaler',
1873
- 'unmarshaler_factory',
1974
+ 'factory',
1975
+ 'fields_by_unmarshal_name',
1976
+ 'specials',
1977
+ 'defaults',
1978
+ 'embeds',
1979
+ 'embeds_by_unmarshal_name',
1980
+ 'ignore_unknown',
1874
1981
  }
1875
1982
 
1876
1983
  def __delattr__(self, name):
1877
1984
  if (
1878
1985
  type(self) is __dataclass__cls
1879
- or name in __dataclass___delattr_frozen_fields
1986
+ or name in __dataclass___delattr_frozen_fields
1880
1987
  ):
1881
1988
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1882
1989
  super(__dataclass__cls, self).__delattr__(name)
@@ -1888,13 +1995,13 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1888
1995
 
1889
1996
  def __hash__(self):
1890
1997
  return hash((
1891
- self.name,
1892
- self.alts,
1893
- self.options,
1894
- self.marshaler,
1895
- self.marshaler_factory,
1896
- self.unmarshaler,
1897
- self.unmarshaler_factory,
1998
+ self.factory,
1999
+ self.fields_by_unmarshal_name,
2000
+ self.specials,
2001
+ self.defaults,
2002
+ self.embeds,
2003
+ self.embeds_by_unmarshal_name,
2004
+ self.ignore_unknown,
1898
2005
  ))
1899
2006
 
1900
2007
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1902,36 +2009,22 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1902
2009
 
1903
2010
  def __init__(
1904
2011
  self,
2012
+ factory: __dataclass__init__fields__0__annotation,
2013
+ fields_by_unmarshal_name: __dataclass__init__fields__1__annotation,
1905
2014
  *,
1906
- name: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1907
- alts: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1908
- options: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1909
- marshaler: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1910
- marshaler_factory: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
1911
- unmarshaler: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
1912
- unmarshaler_factory: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
2015
+ specials: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
2016
+ defaults: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
2017
+ embeds: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
2018
+ embeds_by_unmarshal_name: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
2019
+ ignore_unknown: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
1913
2020
  ) -> __dataclass__None:
1914
- if not __dataclass__isinstance(marshaler, __dataclass__init__fields__3__check_type):
1915
- raise __dataclass__FieldTypeValidationError(
1916
- obj=self,
1917
- type=__dataclass__init__fields__3__check_type,
1918
- field='marshaler',
1919
- value=marshaler,
1920
- )
1921
- if not __dataclass__isinstance(unmarshaler, __dataclass__init__fields__5__check_type):
1922
- raise __dataclass__FieldTypeValidationError(
1923
- obj=self,
1924
- type=__dataclass__init__fields__5__check_type,
1925
- field='unmarshaler',
1926
- value=unmarshaler,
1927
- )
1928
- __dataclass__object_setattr(self, 'name', name)
1929
- __dataclass__object_setattr(self, 'alts', alts)
1930
- __dataclass__object_setattr(self, 'options', options)
1931
- __dataclass__object_setattr(self, 'marshaler', marshaler)
1932
- __dataclass__object_setattr(self, 'marshaler_factory', marshaler_factory)
1933
- __dataclass__object_setattr(self, 'unmarshaler', unmarshaler)
1934
- __dataclass__object_setattr(self, 'unmarshaler_factory', unmarshaler_factory)
2021
+ __dataclass__object_setattr(self, 'factory', factory)
2022
+ __dataclass__object_setattr(self, 'fields_by_unmarshal_name', fields_by_unmarshal_name)
2023
+ __dataclass__object_setattr(self, 'specials', specials)
2024
+ __dataclass__object_setattr(self, 'defaults', defaults)
2025
+ __dataclass__object_setattr(self, 'embeds', embeds)
2026
+ __dataclass__object_setattr(self, 'embeds_by_unmarshal_name', embeds_by_unmarshal_name)
2027
+ __dataclass__object_setattr(self, 'ignore_unknown', ignore_unknown)
1935
2028
 
1936
2029
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1937
2030
  if '__init__' in __dataclass__cls.__dict__:
@@ -1941,13 +2034,13 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1941
2034
  @__dataclass___recursive_repr()
1942
2035
  def __repr__(self):
1943
2036
  parts = []
1944
- parts.append(f"name={self.name!r}")
1945
- parts.append(f"alts={self.alts!r}")
1946
- parts.append(f"options={self.options!r}")
1947
- parts.append(f"marshaler={self.marshaler!r}")
1948
- parts.append(f"marshaler_factory={self.marshaler_factory!r}")
1949
- parts.append(f"unmarshaler={self.unmarshaler!r}")
1950
- parts.append(f"unmarshaler_factory={self.unmarshaler_factory!r}")
2037
+ parts.append(f"factory={self.factory!r}")
2038
+ parts.append(f"fields_by_unmarshal_name={self.fields_by_unmarshal_name!r}")
2039
+ parts.append(f"specials={self.specials!r}")
2040
+ parts.append(f"defaults={self.defaults!r}")
2041
+ parts.append(f"embeds={self.embeds!r}")
2042
+ parts.append(f"embeds_by_unmarshal_name={self.embeds_by_unmarshal_name!r}")
2043
+ parts.append(f"ignore_unknown={self.ignore_unknown!r}")
1951
2044
  return (
1952
2045
  f"{self.__class__.__qualname__}("
1953
2046
  f"{', '.join(parts)}"
@@ -1964,31 +2057,34 @@ def _process_dataclass__bad93a176f34458732d6dbbd403a7930767b3796():
1964
2057
 
1965
2058
  @_register(
1966
2059
  plan_repr=(
1967
- "Plans(tup=(CopyPlan(fields=('u',)), EqPlan(fields=('u',)), FrozenPlan(fields=('u',), allow_dynamic_dunder_attr"
1968
- "s=False), HashPlan(action='add', fields=('u',), cache=False), InitPlan(fields=(InitPlan.Field(name='u', annota"
1969
- "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=OpRef(name='init.fields.0.default_f"
1970
- "actory'), init=True, override=False, field_type=FieldType.INSTANCE, coerce=OpRef(name='init.fields.0.coerce'),"
1971
- " validate=None, check_type=None),), self_param='self', std_params=('u',), kw_only_params=(), frozen=True, slot"
1972
- "s=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='u', kw_on"
1973
- "ly=False, fn=None),), id=False, terse=False, default_fn=None)))"
2060
+ "Plans(tup=(CopyPlan(fields=('tys', 'x')), EqPlan(fields=('tys', 'x')), FrozenPlan(fields=('tys', 'x'), allow_d"
2061
+ "ynamic_dunder_attrs=False), HashPlan(action='add', fields=('tys', 'x'), cache=False), InitPlan(fields=(InitPla"
2062
+ "n.Field(name='tys', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, ini"
2063
+ "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
2064
+ "Field(name='x', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default')"
2065
+ ", default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, "
2066
+ "check_type=None)), self_param='self', std_params=('tys', 'x'), kw_only_params=(), frozen=True, slots=False, po"
2067
+ "st_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='tys', kw_only=False,"
2068
+ " fn=None), ReprPlan.Field(name='x', kw_only=False, fn=None)), id=False, terse=False, default_fn=None)))"
1974
2069
  ),
1975
- plan_repr_sha1='c94d23c43d187cd3725f98ba417a2d32b630defb',
2070
+ plan_repr_sha1='f2f290d474e5d287d38623cbc2f347779aa70a7a',
1976
2071
  op_ref_idents=(
1977
2072
  '__dataclass__init__fields__0__annotation',
1978
- '__dataclass__init__fields__0__coerce',
1979
- '__dataclass__init__fields__0__default_factory',
2073
+ '__dataclass__init__fields__1__annotation',
2074
+ '__dataclass__init__fields__1__default',
1980
2075
  ),
1981
2076
  cls_names=(
1982
- ('omlish.marshal.standard', 'TypeMapUnmarshalerFactory'),
2077
+ ('omlish.marshal.standard', 'PrimitiveUnionMarshaler'),
2078
+ ('omlish.marshal.standard', 'PrimitiveUnionUnmarshaler'),
1983
2079
  ),
1984
2080
  )
1985
- def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2081
+ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
1986
2082
  def _process_dataclass(
1987
2083
  *,
1988
2084
  __dataclass__cls,
1989
2085
  __dataclass__init__fields__0__annotation,
1990
- __dataclass__init__fields__0__coerce,
1991
- __dataclass__init__fields__0__default_factory,
2086
+ __dataclass__init__fields__1__annotation,
2087
+ __dataclass__init__fields__1__default,
1992
2088
  __dataclass__FieldFnValidationError, # noqa
1993
2089
  __dataclass__FieldTypeValidationError, # noqa
1994
2090
  __dataclass__FnValidationError, # noqa
@@ -2007,7 +2103,8 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2007
2103
  if self.__class__ is not __dataclass__cls:
2008
2104
  raise TypeError(self)
2009
2105
  return __dataclass__cls( # noqa
2010
- u=self.u,
2106
+ tys=self.tys,
2107
+ x=self.x,
2011
2108
  )
2012
2109
 
2013
2110
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2021,7 +2118,8 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2021
2118
  if self.__class__ is not other.__class__:
2022
2119
  return NotImplemented
2023
2120
  return (
2024
- self.u == other.u
2121
+ self.tys == other.tys and
2122
+ self.x == other.x
2025
2123
  )
2026
2124
 
2027
2125
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2030,13 +2128,14 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2030
2128
  setattr(__dataclass__cls, '__eq__', __eq__)
2031
2129
 
2032
2130
  __dataclass___setattr_frozen_fields = {
2033
- 'u',
2131
+ 'tys',
2132
+ 'x',
2034
2133
  }
2035
2134
 
2036
2135
  def __setattr__(self, name, value):
2037
2136
  if (
2038
2137
  type(self) is __dataclass__cls
2039
- or name in __dataclass___setattr_frozen_fields
2138
+ or name in __dataclass___setattr_frozen_fields
2040
2139
  ):
2041
2140
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2042
2141
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -2047,13 +2146,14 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2047
2146
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2048
2147
 
2049
2148
  __dataclass___delattr_frozen_fields = {
2050
- 'u',
2149
+ 'tys',
2150
+ 'x',
2051
2151
  }
2052
2152
 
2053
2153
  def __delattr__(self, name):
2054
2154
  if (
2055
2155
  type(self) is __dataclass__cls
2056
- or name in __dataclass___delattr_frozen_fields
2156
+ or name in __dataclass___delattr_frozen_fields
2057
2157
  ):
2058
2158
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2059
2159
  super(__dataclass__cls, self).__delattr__(name)
@@ -2065,7 +2165,8 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2065
2165
 
2066
2166
  def __hash__(self):
2067
2167
  return hash((
2068
- self.u,
2168
+ self.tys,
2169
+ self.x,
2069
2170
  ))
2070
2171
 
2071
2172
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2073,12 +2174,11 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2073
2174
 
2074
2175
  def __init__(
2075
2176
  self,
2076
- u: __dataclass__init__fields__0__annotation = __dataclass__HAS_DEFAULT_FACTORY,
2177
+ tys: __dataclass__init__fields__0__annotation,
2178
+ x: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
2077
2179
  ) -> __dataclass__None:
2078
- if u is __dataclass__HAS_DEFAULT_FACTORY:
2079
- u = __dataclass__init__fields__0__default_factory()
2080
- u = __dataclass__init__fields__0__coerce(u)
2081
- __dataclass__object_setattr(self, 'u', u)
2180
+ __dataclass__object_setattr(self, 'tys', tys)
2181
+ __dataclass__object_setattr(self, 'x', x)
2082
2182
 
2083
2183
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2084
2184
  if '__init__' in __dataclass__cls.__dict__:
@@ -2088,7 +2188,8 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2088
2188
  @__dataclass___recursive_repr()
2089
2189
  def __repr__(self):
2090
2190
  parts = []
2091
- parts.append(f"u={self.u!r}")
2191
+ parts.append(f"tys={self.tys!r}")
2192
+ parts.append(f"x={self.x!r}")
2092
2193
  return (
2093
2194
  f"{self.__class__.__qualname__}("
2094
2195
  f"{', '.join(parts)}"
@@ -2105,33 +2206,30 @@ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2105
2206
 
2106
2207
  @_register(
2107
2208
  plan_repr=(
2108
- "Plans(tup=(CopyPlan(fields=('lst',)), EqPlan(fields=('lst',)), FrozenPlan(fields=('lst',), allow_dynamic_dunde"
2109
- "r_attrs=False), HashPlan(action='add', fields=('lst',), cache=False), InitPlan(fields=(InitPlan.Field(name='ls"
2110
- "t', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override"
2111
- "=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_"
2112
- "params=('lst',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(OpRef(name='ini"
2113
- "t.init_fns.0'), OpRef(name='init.init_fns.1'), OpRef(name='init.init_fns.2')), validate_fns=()), ReprPlan(fiel"
2114
- "ds=(ReprPlan.Field(name='lst', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
2209
+ "Plans(tup=(CopyPlan(fields=('tys',)), EqPlan(fields=('tys',)), FrozenPlan(fields=('tys',), allow_dynamic_dunde"
2210
+ "r_attrs=False), HashPlan(action='add', fields=('tys',), cache=False), InitPlan(fields=(InitPlan.Field(name='ty"
2211
+ "s', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_fa"
2212
+ "ctory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=N"
2213
+ "one),), self_param='self', std_params=('tys',), kw_only_params=(), frozen=True, slots=False, post_init_params="
2214
+ "None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='tys', kw_only=False, fn=None),), id"
2215
+ "=False, terse=False, default_fn=None)))"
2115
2216
  ),
2116
- plan_repr_sha1='d79af82ecd003199ceaa4594c2592f2dbb8ba386',
2217
+ plan_repr_sha1='b5727e74a7047b8747632a1bea03a771a8a8aef4',
2117
2218
  op_ref_idents=(
2118
2219
  '__dataclass__init__fields__0__annotation',
2119
- '__dataclass__init__init_fns__0',
2120
- '__dataclass__init__init_fns__1',
2121
- '__dataclass__init__init_fns__2',
2220
+ '__dataclass__init__fields__0__default',
2122
2221
  ),
2123
2222
  cls_names=(
2124
- ('omlish.marshal.standard', 'FieldInfos'),
2223
+ ('omlish.marshal.standard', 'PrimitiveUnionMarshalerFactory'),
2224
+ ('omlish.marshal.standard', 'PrimitiveUnionUnmarshalerFactory'),
2125
2225
  ),
2126
2226
  )
2127
- def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2227
+ def _process_dataclass__b5727e74a7047b8747632a1bea03a771a8a8aef4():
2128
2228
  def _process_dataclass(
2129
2229
  *,
2130
2230
  __dataclass__cls,
2131
2231
  __dataclass__init__fields__0__annotation,
2132
- __dataclass__init__init_fns__0,
2133
- __dataclass__init__init_fns__1,
2134
- __dataclass__init__init_fns__2,
2232
+ __dataclass__init__fields__0__default,
2135
2233
  __dataclass__FieldFnValidationError, # noqa
2136
2234
  __dataclass__FieldTypeValidationError, # noqa
2137
2235
  __dataclass__FnValidationError, # noqa
@@ -2150,7 +2248,7 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2150
2248
  if self.__class__ is not __dataclass__cls:
2151
2249
  raise TypeError(self)
2152
2250
  return __dataclass__cls( # noqa
2153
- lst=self.lst,
2251
+ tys=self.tys,
2154
2252
  )
2155
2253
 
2156
2254
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2164,7 +2262,7 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2164
2262
  if self.__class__ is not other.__class__:
2165
2263
  return NotImplemented
2166
2264
  return (
2167
- self.lst == other.lst
2265
+ self.tys == other.tys
2168
2266
  )
2169
2267
 
2170
2268
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2173,13 +2271,13 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2173
2271
  setattr(__dataclass__cls, '__eq__', __eq__)
2174
2272
 
2175
2273
  __dataclass___setattr_frozen_fields = {
2176
- 'lst',
2274
+ 'tys',
2177
2275
  }
2178
2276
 
2179
2277
  def __setattr__(self, name, value):
2180
2278
  if (
2181
2279
  type(self) is __dataclass__cls
2182
- or name in __dataclass___setattr_frozen_fields
2280
+ or name in __dataclass___setattr_frozen_fields
2183
2281
  ):
2184
2282
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2185
2283
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -2190,13 +2288,13 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2190
2288
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2191
2289
 
2192
2290
  __dataclass___delattr_frozen_fields = {
2193
- 'lst',
2291
+ 'tys',
2194
2292
  }
2195
2293
 
2196
2294
  def __delattr__(self, name):
2197
2295
  if (
2198
2296
  type(self) is __dataclass__cls
2199
- or name in __dataclass___delattr_frozen_fields
2297
+ or name in __dataclass___delattr_frozen_fields
2200
2298
  ):
2201
2299
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2202
2300
  super(__dataclass__cls, self).__delattr__(name)
@@ -2208,7 +2306,7 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2208
2306
 
2209
2307
  def __hash__(self):
2210
2308
  return hash((
2211
- self.lst,
2309
+ self.tys,
2212
2310
  ))
2213
2311
 
2214
2312
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2216,12 +2314,9 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2216
2314
 
2217
2315
  def __init__(
2218
2316
  self,
2219
- lst: __dataclass__init__fields__0__annotation,
2317
+ tys: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
2220
2318
  ) -> __dataclass__None:
2221
- __dataclass__object_setattr(self, 'lst', lst)
2222
- __dataclass__init__init_fns__0(self)
2223
- __dataclass__init__init_fns__1(self)
2224
- __dataclass__init__init_fns__2(self)
2319
+ __dataclass__object_setattr(self, 'tys', tys)
2225
2320
 
2226
2321
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2227
2322
  if '__init__' in __dataclass__cls.__dict__:
@@ -2231,7 +2326,7 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2231
2326
  @__dataclass___recursive_repr()
2232
2327
  def __repr__(self):
2233
2328
  parts = []
2234
- parts.append(f"lst={self.lst!r}")
2329
+ parts.append(f"tys={self.tys!r}")
2235
2330
  return (
2236
2331
  f"{self.__class__.__qualname__}("
2237
2332
  f"{', '.join(parts)}"
@@ -2248,71 +2343,35 @@ def _process_dataclass__d79af82ecd003199ceaa4594c2592f2dbb8ba386():
2248
2343
 
2249
2344
  @_register(
2250
2345
  plan_repr=(
2251
- "Plans(tup=(CopyPlan(fields=('factory', 'fields_by_unmarshal_name', 'specials', 'defaults', 'embeds', 'embeds_b"
2252
- "y_unmarshal_name', 'ignore_unknown')), EqPlan(fields=('factory', 'fields_by_unmarshal_name', 'specials', 'defa"
2253
- "ults', 'embeds', 'embeds_by_unmarshal_name', 'ignore_unknown')), FrozenPlan(fields=('factory', 'fields_by_unma"
2254
- "rshal_name', 'specials', 'defaults', 'embeds', 'embeds_by_unmarshal_name', 'ignore_unknown'), allow_dynamic_du"
2255
- "nder_attrs=False), HashPlan(action='add', fields=('factory', 'fields_by_unmarshal_name', 'specials', 'defaults"
2256
- "', 'embeds', 'embeds_by_unmarshal_name', 'ignore_unknown'), cache=False), InitPlan(fields=(InitPlan.Field(name"
2257
- "='factory', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, "
2258
- "override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(na"
2259
- "me='fields_by_unmarshal_name', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_factor"
2260
- "y=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)"
2261
- ", InitPlan.Field(name='specials', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init."
2262
- "fields.2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=Non"
2263
- "e, validate=None, check_type=None), InitPlan.Field(name='defaults', annotation=OpRef(name='init.fields.3.annot"
2264
- "ation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=False, field_t"
2265
- "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='embeds', annotation"
2266
- "=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_factory=None, in"
2267
- "it=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan"
2268
- ".Field(name='embeds_by_unmarshal_name', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name="
2269
- "'init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coer"
2270
- "ce=None, validate=None, check_type=None), InitPlan.Field(name='ignore_unknown', annotation=OpRef(name='init.fi"
2271
- "elds.6.annotation'), default=OpRef(name='init.fields.6.default'), default_factory=None, init=True, override=Fa"
2272
- "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_para"
2273
- "ms=('factory', 'fields_by_unmarshal_name'), kw_only_params=('specials', 'defaults', 'embeds', 'embeds_by_unmar"
2274
- "shal_name', 'ignore_unknown'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()),"
2275
- " ReprPlan(fields=(ReprPlan.Field(name='factory', kw_only=False, fn=None), ReprPlan.Field(name='fields_by_unmar"
2276
- "shal_name', kw_only=False, fn=None), ReprPlan.Field(name='specials', kw_only=True, fn=None), ReprPlan.Field(na"
2277
- "me='defaults', kw_only=True, fn=None), ReprPlan.Field(name='embeds', kw_only=True, fn=None), ReprPlan.Field(na"
2278
- "me='embeds_by_unmarshal_name', kw_only=True, fn=None), ReprPlan.Field(name='ignore_unknown', kw_only=True, fn="
2279
- "None)), id=False, terse=False, default_fn=None)))"
2346
+ "Plans(tup=(CopyPlan(fields=('dct', 'specials')), EqPlan(fields=('dct', 'specials')), FrozenPlan(fields=('dct',"
2347
+ " 'specials'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('dct', 'specials'), cache=Fals"
2348
+ "e), InitPlan(fields=(InitPlan.Field(name='dct', annotation=OpRef(name='init.fields.0.annotation'), default=Non"
2349
+ "e, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
2350
+ " check_type=None), InitPlan.Field(name='specials', annotation=OpRef(name='init.fields.1.annotation'), default="
2351
+ "OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INS"
2352
+ "TANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=('dct',), kw_only_params=("
2353
+ "'specials',), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields="
2354
+ "(ReprPlan.Field(name='dct', kw_only=False, fn=None), ReprPlan.Field(name='specials', kw_only=True, fn=None)), "
2355
+ "id=False, terse=False, default_fn=None)))"
2280
2356
  ),
2281
- plan_repr_sha1='e171c973cbb0e4f2e398aefc90142b250947e15b',
2357
+ plan_repr_sha1='1be8e124c66f00c82a764169ffbcb93f04b0b647',
2282
2358
  op_ref_idents=(
2283
2359
  '__dataclass__init__fields__0__annotation',
2284
2360
  '__dataclass__init__fields__1__annotation',
2285
- '__dataclass__init__fields__2__annotation',
2286
- '__dataclass__init__fields__2__default',
2287
- '__dataclass__init__fields__3__annotation',
2288
- '__dataclass__init__fields__3__default',
2289
- '__dataclass__init__fields__4__annotation',
2290
- '__dataclass__init__fields__4__default',
2291
- '__dataclass__init__fields__5__annotation',
2292
- '__dataclass__init__fields__5__default',
2293
- '__dataclass__init__fields__6__annotation',
2294
- '__dataclass__init__fields__6__default',
2361
+ '__dataclass__init__fields__1__default',
2295
2362
  ),
2296
2363
  cls_names=(
2297
- ('omlish.marshal.standard', 'ObjectUnmarshaler'),
2364
+ ('omlish.marshal.standard', 'SimpleObjectMarshalerFactory'),
2365
+ ('omlish.marshal.standard', 'SimpleObjectUnmarshalerFactory'),
2298
2366
  ),
2299
2367
  )
2300
- def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2368
+ def _process_dataclass__1be8e124c66f00c82a764169ffbcb93f04b0b647():
2301
2369
  def _process_dataclass(
2302
2370
  *,
2303
2371
  __dataclass__cls,
2304
2372
  __dataclass__init__fields__0__annotation,
2305
2373
  __dataclass__init__fields__1__annotation,
2306
- __dataclass__init__fields__2__annotation,
2307
- __dataclass__init__fields__2__default,
2308
- __dataclass__init__fields__3__annotation,
2309
- __dataclass__init__fields__3__default,
2310
- __dataclass__init__fields__4__annotation,
2311
- __dataclass__init__fields__4__default,
2312
- __dataclass__init__fields__5__annotation,
2313
- __dataclass__init__fields__5__default,
2314
- __dataclass__init__fields__6__annotation,
2315
- __dataclass__init__fields__6__default,
2374
+ __dataclass__init__fields__1__default,
2316
2375
  __dataclass__FieldFnValidationError, # noqa
2317
2376
  __dataclass__FieldTypeValidationError, # noqa
2318
2377
  __dataclass__FnValidationError, # noqa
@@ -2331,13 +2390,8 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2331
2390
  if self.__class__ is not __dataclass__cls:
2332
2391
  raise TypeError(self)
2333
2392
  return __dataclass__cls( # noqa
2334
- factory=self.factory,
2335
- fields_by_unmarshal_name=self.fields_by_unmarshal_name,
2393
+ dct=self.dct,
2336
2394
  specials=self.specials,
2337
- defaults=self.defaults,
2338
- embeds=self.embeds,
2339
- embeds_by_unmarshal_name=self.embeds_by_unmarshal_name,
2340
- ignore_unknown=self.ignore_unknown,
2341
2395
  )
2342
2396
 
2343
2397
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2351,13 +2405,8 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2351
2405
  if self.__class__ is not other.__class__:
2352
2406
  return NotImplemented
2353
2407
  return (
2354
- self.factory == other.factory and
2355
- self.fields_by_unmarshal_name == other.fields_by_unmarshal_name and
2356
- self.specials == other.specials and
2357
- self.defaults == other.defaults and
2358
- self.embeds == other.embeds and
2359
- self.embeds_by_unmarshal_name == other.embeds_by_unmarshal_name and
2360
- self.ignore_unknown == other.ignore_unknown
2408
+ self.dct == other.dct and
2409
+ self.specials == other.specials
2361
2410
  )
2362
2411
 
2363
2412
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2366,19 +2415,14 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2366
2415
  setattr(__dataclass__cls, '__eq__', __eq__)
2367
2416
 
2368
2417
  __dataclass___setattr_frozen_fields = {
2369
- 'factory',
2370
- 'fields_by_unmarshal_name',
2418
+ 'dct',
2371
2419
  'specials',
2372
- 'defaults',
2373
- 'embeds',
2374
- 'embeds_by_unmarshal_name',
2375
- 'ignore_unknown',
2376
2420
  }
2377
2421
 
2378
2422
  def __setattr__(self, name, value):
2379
2423
  if (
2380
2424
  type(self) is __dataclass__cls
2381
- or name in __dataclass___setattr_frozen_fields
2425
+ or name in __dataclass___setattr_frozen_fields
2382
2426
  ):
2383
2427
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2384
2428
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -2389,19 +2433,14 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2389
2433
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2390
2434
 
2391
2435
  __dataclass___delattr_frozen_fields = {
2392
- 'factory',
2393
- 'fields_by_unmarshal_name',
2436
+ 'dct',
2394
2437
  'specials',
2395
- 'defaults',
2396
- 'embeds',
2397
- 'embeds_by_unmarshal_name',
2398
- 'ignore_unknown',
2399
2438
  }
2400
2439
 
2401
2440
  def __delattr__(self, name):
2402
2441
  if (
2403
2442
  type(self) is __dataclass__cls
2404
- or name in __dataclass___delattr_frozen_fields
2443
+ or name in __dataclass___delattr_frozen_fields
2405
2444
  ):
2406
2445
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2407
2446
  super(__dataclass__cls, self).__delattr__(name)
@@ -2413,13 +2452,8 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2413
2452
 
2414
2453
  def __hash__(self):
2415
2454
  return hash((
2416
- self.factory,
2417
- self.fields_by_unmarshal_name,
2455
+ self.dct,
2418
2456
  self.specials,
2419
- self.defaults,
2420
- self.embeds,
2421
- self.embeds_by_unmarshal_name,
2422
- self.ignore_unknown,
2423
2457
  ))
2424
2458
 
2425
2459
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2427,22 +2461,12 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2427
2461
 
2428
2462
  def __init__(
2429
2463
  self,
2430
- factory: __dataclass__init__fields__0__annotation,
2431
- fields_by_unmarshal_name: __dataclass__init__fields__1__annotation,
2464
+ dct: __dataclass__init__fields__0__annotation,
2432
2465
  *,
2433
- specials: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
2434
- defaults: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
2435
- embeds: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
2436
- embeds_by_unmarshal_name: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
2437
- ignore_unknown: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
2466
+ specials: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
2438
2467
  ) -> __dataclass__None:
2439
- __dataclass__object_setattr(self, 'factory', factory)
2440
- __dataclass__object_setattr(self, 'fields_by_unmarshal_name', fields_by_unmarshal_name)
2468
+ __dataclass__object_setattr(self, 'dct', dct)
2441
2469
  __dataclass__object_setattr(self, 'specials', specials)
2442
- __dataclass__object_setattr(self, 'defaults', defaults)
2443
- __dataclass__object_setattr(self, 'embeds', embeds)
2444
- __dataclass__object_setattr(self, 'embeds_by_unmarshal_name', embeds_by_unmarshal_name)
2445
- __dataclass__object_setattr(self, 'ignore_unknown', ignore_unknown)
2446
2470
 
2447
2471
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2448
2472
  if '__init__' in __dataclass__cls.__dict__:
@@ -2452,13 +2476,8 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2452
2476
  @__dataclass___recursive_repr()
2453
2477
  def __repr__(self):
2454
2478
  parts = []
2455
- parts.append(f"factory={self.factory!r}")
2456
- parts.append(f"fields_by_unmarshal_name={self.fields_by_unmarshal_name!r}")
2479
+ parts.append(f"dct={self.dct!r}")
2457
2480
  parts.append(f"specials={self.specials!r}")
2458
- parts.append(f"defaults={self.defaults!r}")
2459
- parts.append(f"embeds={self.embeds!r}")
2460
- parts.append(f"embeds_by_unmarshal_name={self.embeds_by_unmarshal_name!r}")
2461
- parts.append(f"ignore_unknown={self.ignore_unknown!r}")
2462
2481
  return (
2463
2482
  f"{self.__class__.__qualname__}("
2464
2483
  f"{', '.join(parts)}"
@@ -2475,34 +2494,31 @@ def _process_dataclass__e171c973cbb0e4f2e398aefc90142b250947e15b():
2475
2494
 
2476
2495
  @_register(
2477
2496
  plan_repr=(
2478
- "Plans(tup=(CopyPlan(fields=('tys', 'x')), EqPlan(fields=('tys', 'x')), FrozenPlan(fields=('tys', 'x'), allow_d"
2479
- "ynamic_dunder_attrs=False), HashPlan(action='add', fields=('tys', 'x'), cache=False), InitPlan(fields=(InitPla"
2480
- "n.Field(name='tys', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, ini"
2481
- "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
2482
- "Field(name='x', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default')"
2483
- ", default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, "
2484
- "check_type=None)), self_param='self', std_params=('tys', 'x'), kw_only_params=(), frozen=True, slots=False, po"
2485
- "st_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='tys', kw_only=False,"
2486
- " fn=None), ReprPlan.Field(name='x', kw_only=False, fn=None)), id=False, terse=False, default_fn=None)))"
2497
+ "Plans(tup=(CopyPlan(fields=('m',)), EqPlan(fields=('m',)), FrozenPlan(fields=('m',), allow_dynamic_dunder_attr"
2498
+ "s=False), HashPlan(action='add', fields=('m',), cache=False), InitPlan(fields=(InitPlan.Field(name='m', annota"
2499
+ "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=OpRef(name='init.fields.0.default_f"
2500
+ "actory'), init=True, override=False, field_type=FieldType.INSTANCE, coerce=OpRef(name='init.fields.0.coerce'),"
2501
+ " validate=None, check_type=None),), self_param='self', std_params=('m',), kw_only_params=(), frozen=True, slot"
2502
+ "s=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='m', kw_on"
2503
+ "ly=False, fn=None),), id=False, terse=False, default_fn=None)))"
2487
2504
  ),
2488
- plan_repr_sha1='f2f290d474e5d287d38623cbc2f347779aa70a7a',
2505
+ plan_repr_sha1='473310c5275aa58689237746102f8285e35fbee6',
2489
2506
  op_ref_idents=(
2490
2507
  '__dataclass__init__fields__0__annotation',
2491
- '__dataclass__init__fields__1__annotation',
2492
- '__dataclass__init__fields__1__default',
2508
+ '__dataclass__init__fields__0__coerce',
2509
+ '__dataclass__init__fields__0__default_factory',
2493
2510
  ),
2494
2511
  cls_names=(
2495
- ('omlish.marshal.standard', 'PrimitiveUnionMarshaler'),
2496
- ('omlish.marshal.standard', 'PrimitiveUnionUnmarshaler'),
2512
+ ('omlish.marshal.standard', 'TypeMapMarshalerFactory'),
2497
2513
  ),
2498
2514
  )
2499
- def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2515
+ def _process_dataclass__473310c5275aa58689237746102f8285e35fbee6():
2500
2516
  def _process_dataclass(
2501
2517
  *,
2502
2518
  __dataclass__cls,
2503
2519
  __dataclass__init__fields__0__annotation,
2504
- __dataclass__init__fields__1__annotation,
2505
- __dataclass__init__fields__1__default,
2520
+ __dataclass__init__fields__0__coerce,
2521
+ __dataclass__init__fields__0__default_factory,
2506
2522
  __dataclass__FieldFnValidationError, # noqa
2507
2523
  __dataclass__FieldTypeValidationError, # noqa
2508
2524
  __dataclass__FnValidationError, # noqa
@@ -2521,8 +2537,7 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2521
2537
  if self.__class__ is not __dataclass__cls:
2522
2538
  raise TypeError(self)
2523
2539
  return __dataclass__cls( # noqa
2524
- tys=self.tys,
2525
- x=self.x,
2540
+ m=self.m,
2526
2541
  )
2527
2542
 
2528
2543
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2536,8 +2551,7 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2536
2551
  if self.__class__ is not other.__class__:
2537
2552
  return NotImplemented
2538
2553
  return (
2539
- self.tys == other.tys and
2540
- self.x == other.x
2554
+ self.m == other.m
2541
2555
  )
2542
2556
 
2543
2557
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2546,14 +2560,13 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2546
2560
  setattr(__dataclass__cls, '__eq__', __eq__)
2547
2561
 
2548
2562
  __dataclass___setattr_frozen_fields = {
2549
- 'tys',
2550
- 'x',
2563
+ 'm',
2551
2564
  }
2552
2565
 
2553
2566
  def __setattr__(self, name, value):
2554
2567
  if (
2555
2568
  type(self) is __dataclass__cls
2556
- or name in __dataclass___setattr_frozen_fields
2569
+ or name in __dataclass___setattr_frozen_fields
2557
2570
  ):
2558
2571
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2559
2572
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -2564,14 +2577,13 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2564
2577
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2565
2578
 
2566
2579
  __dataclass___delattr_frozen_fields = {
2567
- 'tys',
2568
- 'x',
2580
+ 'm',
2569
2581
  }
2570
2582
 
2571
2583
  def __delattr__(self, name):
2572
2584
  if (
2573
2585
  type(self) is __dataclass__cls
2574
- or name in __dataclass___delattr_frozen_fields
2586
+ or name in __dataclass___delattr_frozen_fields
2575
2587
  ):
2576
2588
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2577
2589
  super(__dataclass__cls, self).__delattr__(name)
@@ -2583,8 +2595,7 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2583
2595
 
2584
2596
  def __hash__(self):
2585
2597
  return hash((
2586
- self.tys,
2587
- self.x,
2598
+ self.m,
2588
2599
  ))
2589
2600
 
2590
2601
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2592,11 +2603,12 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2592
2603
 
2593
2604
  def __init__(
2594
2605
  self,
2595
- tys: __dataclass__init__fields__0__annotation,
2596
- x: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
2606
+ m: __dataclass__init__fields__0__annotation = __dataclass__HAS_DEFAULT_FACTORY,
2597
2607
  ) -> __dataclass__None:
2598
- __dataclass__object_setattr(self, 'tys', tys)
2599
- __dataclass__object_setattr(self, 'x', x)
2608
+ if m is __dataclass__HAS_DEFAULT_FACTORY:
2609
+ m = __dataclass__init__fields__0__default_factory()
2610
+ m = __dataclass__init__fields__0__coerce(m)
2611
+ __dataclass__object_setattr(self, 'm', m)
2600
2612
 
2601
2613
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2602
2614
  if '__init__' in __dataclass__cls.__dict__:
@@ -2606,8 +2618,7 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2606
2618
  @__dataclass___recursive_repr()
2607
2619
  def __repr__(self):
2608
2620
  parts = []
2609
- parts.append(f"tys={self.tys!r}")
2610
- parts.append(f"x={self.x!r}")
2621
+ parts.append(f"m={self.m!r}")
2611
2622
  return (
2612
2623
  f"{self.__class__.__qualname__}("
2613
2624
  f"{', '.join(parts)}"
@@ -2624,36 +2635,31 @@ def _process_dataclass__f2f290d474e5d287d38623cbc2f347779aa70a7a():
2624
2635
 
2625
2636
  @_register(
2626
2637
  plan_repr=(
2627
- "Plans(tup=(CopyPlan(fields=('unknown', 'source')), EqPlan(fields=('unknown', 'source')), FrozenPlan(fields=('u"
2628
- "nknown', 'source'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('unknown', 'source'), ca"
2629
- "che=False), InitPlan(fields=(InitPlan.Field(name='unknown', annotation=OpRef(name='init.fields.0.annotation'),"
2630
- " default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=Fiel"
2631
- "dType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='source', annotation=OpRef(n"
2632
- "ame='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True,"
2633
- " override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='sel"
2634
- "f', std_params=(), kw_only_params=('unknown', 'source'), frozen=True, slots=False, post_init_params=None, init"
2635
- "_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='unknown', kw_only=True, fn=None), ReprPlan.Fi"
2636
- "eld(name='source', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
2638
+ "Plans(tup=(CopyPlan(fields=('u',)), EqPlan(fields=('u',)), FrozenPlan(fields=('u',), allow_dynamic_dunder_attr"
2639
+ "s=False), HashPlan(action='add', fields=('u',), cache=False), InitPlan(fields=(InitPlan.Field(name='u', annota"
2640
+ "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=OpRef(name='init.fields.0.default_f"
2641
+ "actory'), init=True, override=False, field_type=FieldType.INSTANCE, coerce=OpRef(name='init.fields.0.coerce'),"
2642
+ " validate=None, check_type=None),), self_param='self', std_params=('u',), kw_only_params=(), frozen=True, slot"
2643
+ "s=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='u', kw_on"
2644
+ "ly=False, fn=None),), id=False, terse=False, default_fn=None)))"
2637
2645
  ),
2638
- plan_repr_sha1='ffbfe43830279fbce3d0d2196bd9c1e581bc796f',
2646
+ plan_repr_sha1='c94d23c43d187cd3725f98ba417a2d32b630defb',
2639
2647
  op_ref_idents=(
2640
2648
  '__dataclass__init__fields__0__annotation',
2641
- '__dataclass__init__fields__0__default',
2642
- '__dataclass__init__fields__1__annotation',
2643
- '__dataclass__init__fields__1__default',
2649
+ '__dataclass__init__fields__0__coerce',
2650
+ '__dataclass__init__fields__0__default_factory',
2644
2651
  ),
2645
2652
  cls_names=(
2646
- ('omlish.marshal.standard', 'ObjectSpecials'),
2653
+ ('omlish.marshal.standard', 'TypeMapUnmarshalerFactory'),
2647
2654
  ),
2648
2655
  )
2649
- def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2656
+ def _process_dataclass__c94d23c43d187cd3725f98ba417a2d32b630defb():
2650
2657
  def _process_dataclass(
2651
2658
  *,
2652
2659
  __dataclass__cls,
2653
2660
  __dataclass__init__fields__0__annotation,
2654
- __dataclass__init__fields__0__default,
2655
- __dataclass__init__fields__1__annotation,
2656
- __dataclass__init__fields__1__default,
2661
+ __dataclass__init__fields__0__coerce,
2662
+ __dataclass__init__fields__0__default_factory,
2657
2663
  __dataclass__FieldFnValidationError, # noqa
2658
2664
  __dataclass__FieldTypeValidationError, # noqa
2659
2665
  __dataclass__FnValidationError, # noqa
@@ -2672,8 +2678,7 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2672
2678
  if self.__class__ is not __dataclass__cls:
2673
2679
  raise TypeError(self)
2674
2680
  return __dataclass__cls( # noqa
2675
- unknown=self.unknown,
2676
- source=self.source,
2681
+ u=self.u,
2677
2682
  )
2678
2683
 
2679
2684
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2687,8 +2692,7 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2687
2692
  if self.__class__ is not other.__class__:
2688
2693
  return NotImplemented
2689
2694
  return (
2690
- self.unknown == other.unknown and
2691
- self.source == other.source
2695
+ self.u == other.u
2692
2696
  )
2693
2697
 
2694
2698
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2697,14 +2701,13 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2697
2701
  setattr(__dataclass__cls, '__eq__', __eq__)
2698
2702
 
2699
2703
  __dataclass___setattr_frozen_fields = {
2700
- 'unknown',
2701
- 'source',
2704
+ 'u',
2702
2705
  }
2703
2706
 
2704
2707
  def __setattr__(self, name, value):
2705
2708
  if (
2706
2709
  type(self) is __dataclass__cls
2707
- or name in __dataclass___setattr_frozen_fields
2710
+ or name in __dataclass___setattr_frozen_fields
2708
2711
  ):
2709
2712
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2710
2713
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -2715,14 +2718,13 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2715
2718
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2716
2719
 
2717
2720
  __dataclass___delattr_frozen_fields = {
2718
- 'unknown',
2719
- 'source',
2721
+ 'u',
2720
2722
  }
2721
2723
 
2722
2724
  def __delattr__(self, name):
2723
2725
  if (
2724
2726
  type(self) is __dataclass__cls
2725
- or name in __dataclass___delattr_frozen_fields
2727
+ or name in __dataclass___delattr_frozen_fields
2726
2728
  ):
2727
2729
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2728
2730
  super(__dataclass__cls, self).__delattr__(name)
@@ -2734,8 +2736,7 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2734
2736
 
2735
2737
  def __hash__(self):
2736
2738
  return hash((
2737
- self.unknown,
2738
- self.source,
2739
+ self.u,
2739
2740
  ))
2740
2741
 
2741
2742
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2743,12 +2744,12 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2743
2744
 
2744
2745
  def __init__(
2745
2746
  self,
2746
- *,
2747
- unknown: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
2748
- source: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
2747
+ u: __dataclass__init__fields__0__annotation = __dataclass__HAS_DEFAULT_FACTORY,
2749
2748
  ) -> __dataclass__None:
2750
- __dataclass__object_setattr(self, 'unknown', unknown)
2751
- __dataclass__object_setattr(self, 'source', source)
2749
+ if u is __dataclass__HAS_DEFAULT_FACTORY:
2750
+ u = __dataclass__init__fields__0__default_factory()
2751
+ u = __dataclass__init__fields__0__coerce(u)
2752
+ __dataclass__object_setattr(self, 'u', u)
2752
2753
 
2753
2754
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2754
2755
  if '__init__' in __dataclass__cls.__dict__:
@@ -2758,8 +2759,7 @@ def _process_dataclass__ffbfe43830279fbce3d0d2196bd9c1e581bc796f():
2758
2759
  @__dataclass___recursive_repr()
2759
2760
  def __repr__(self):
2760
2761
  parts = []
2761
- parts.append(f"unknown={self.unknown!r}")
2762
- parts.append(f"source={self.source!r}")
2762
+ parts.append(f"u={self.u!r}")
2763
2763
  return (
2764
2764
  f"{self.__class__.__qualname__}("
2765
2765
  f"{', '.join(parts)}"