omdev 0.0.0.dev134__py3-none-any.whl → 0.0.0.dev135__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 omdev might be problematic. Click here for more details.

@@ -3207,6 +3207,13 @@ class PolymorphicObjMarshaler(ObjMarshaler):
3207
3207
  impls_by_ty: ta.Mapping[type, Impl]
3208
3208
  impls_by_tag: ta.Mapping[str, Impl]
3209
3209
 
3210
+ @classmethod
3211
+ def of(cls, impls: ta.Iterable[Impl]) -> 'PolymorphicObjMarshaler':
3212
+ return cls(
3213
+ {i.ty: i for i in impls},
3214
+ {i.tag: i for i in impls},
3215
+ )
3216
+
3210
3217
  def marshal(self, o: ta.Any) -> ta.Any:
3211
3218
  impl = self.impls_by_ty[type(o)]
3212
3219
  return {impl.tag: impl.m.marshal(o)}
@@ -3294,7 +3301,7 @@ def _make_obj_marshaler(
3294
3301
  ) -> ObjMarshaler:
3295
3302
  if isinstance(ty, type):
3296
3303
  if abc.ABC in ty.__bases__:
3297
- impls = [ # type: ignore
3304
+ return PolymorphicObjMarshaler.of([ # type: ignore
3298
3305
  PolymorphicObjMarshaler.Impl(
3299
3306
  ity,
3300
3307
  ity.__qualname__,
@@ -3302,11 +3309,7 @@ def _make_obj_marshaler(
3302
3309
  )
3303
3310
  for ity in deep_subclasses(ty)
3304
3311
  if abc.ABC not in ity.__bases__
3305
- ]
3306
- return PolymorphicObjMarshaler(
3307
- {i.ty: i for i in impls},
3308
- {i.tag: i for i in impls},
3309
- )
3312
+ ])
3310
3313
 
3311
3314
  if issubclass(ty, enum.Enum):
3312
3315
  return EnumObjMarshaler(ty)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev134
3
+ Version: 0.0.0.dev135
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev134
15
+ Requires-Dist: omlish==0.0.0.dev135
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -123,7 +123,7 @@ omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
123
123
  omdev/scripts/exectime.py,sha256=sFb376GflU6s9gNX-2-we8hgH6w5MuQNS9g6i4SqJIo,610
124
124
  omdev/scripts/importtrace.py,sha256=oa7CtcWJVMNDbyIEiRHej6ICfABfErMeo4_haIqe18Q,14041
125
125
  omdev/scripts/interp.py,sha256=8R3jVdmf8Fyl8B4KI-dctatXmFHEAAzsXpNRiCDVdqQ,73800
126
- omdev/scripts/pyproject.py,sha256=BRYHKwZiuIPgUjXvBMRVioPSGg_8Uyb992iAGmjyDtU,175112
126
+ omdev/scripts/pyproject.py,sha256=TXTlKLyTb9Auj5kJMhhGoec5Yi-hvYOi_WnZJH9E0xQ,175193
127
127
  omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
128
128
  omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
129
129
  omdev/toml/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
@@ -143,9 +143,9 @@ omdev/tools/sqlrepl.py,sha256=tmFZh80-xsGM62dyQ7_UGLebChrj7IHbIPYBWDJMgVk,5741
143
143
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
144
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
145
145
  omdev/tools/pawk/pawk.py,sha256=Eckymn22GfychCQcQi96BFqRo_LmiJ-EPhC8TTUJdB4,11446
146
- omdev-0.0.0.dev134.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
147
- omdev-0.0.0.dev134.dist-info/METADATA,sha256=B83esqnHaDxCc8wSkpBSuSoeJD0pQsUaYhcv1eL4SmM,1760
148
- omdev-0.0.0.dev134.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
149
- omdev-0.0.0.dev134.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
150
- omdev-0.0.0.dev134.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
151
- omdev-0.0.0.dev134.dist-info/RECORD,,
146
+ omdev-0.0.0.dev135.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
147
+ omdev-0.0.0.dev135.dist-info/METADATA,sha256=3EnPWvtCGkOsFN8UkDHvSreOI-4XnPwZFBWQECGAcPQ,1760
148
+ omdev-0.0.0.dev135.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
149
+ omdev-0.0.0.dev135.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
150
+ omdev-0.0.0.dev135.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
151
+ omdev-0.0.0.dev135.dist-info/RECORD,,