omlish 0.0.0.dev453__py3-none-any.whl → 0.0.0.dev454__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.
- omlish/__about__.py +2 -2
- omlish/collections/identity.py +1 -0
- omlish/dataclasses/__init__.py +2 -0
- omlish/funcs/guard.py +27 -16
- omlish/lang/__init__.py +1 -0
- omlish/lang/iterables.py +8 -0
- omlish/lite/attrops.py +2 -0
- omlish/lite/dataclasses.py +30 -0
- omlish/marshal/__init__.py +12 -11
- omlish/marshal/base/contexts.py +4 -7
- omlish/marshal/base/funcs.py +16 -11
- omlish/marshal/base/types.py +17 -7
- omlish/marshal/composite/iterables.py +31 -20
- omlish/marshal/composite/literals.py +14 -18
- omlish/marshal/composite/mappings.py +34 -23
- omlish/marshal/composite/maybes.py +27 -19
- omlish/marshal/composite/newtypes.py +14 -14
- omlish/marshal/composite/optionals.py +12 -14
- omlish/marshal/composite/special.py +13 -13
- omlish/marshal/composite/unions/__init__.py +0 -0
- omlish/marshal/composite/unions/literals.py +91 -0
- omlish/marshal/composite/unions/primitives.py +101 -0
- omlish/marshal/factories/invalidate.py +16 -66
- omlish/marshal/factories/method.py +28 -0
- omlish/marshal/factories/moduleimport/factories.py +13 -54
- omlish/marshal/factories/multi.py +11 -23
- omlish/marshal/factories/recursive.py +40 -56
- omlish/marshal/factories/typecache.py +23 -75
- omlish/marshal/factories/typemap.py +40 -41
- omlish/marshal/objects/dataclasses.py +106 -97
- omlish/marshal/objects/marshal.py +15 -12
- omlish/marshal/objects/namedtuples.py +46 -40
- omlish/marshal/objects/unmarshal.py +16 -13
- omlish/marshal/polymorphism/marshal.py +6 -9
- omlish/marshal/polymorphism/unions.py +15 -9
- omlish/marshal/polymorphism/unmarshal.py +6 -8
- omlish/marshal/singular/enums.py +12 -18
- omlish/marshal/standard.py +8 -8
- omlish/marshal/trivial/forbidden.py +19 -24
- omlish/os/forkhooks.py +4 -0
- omlish/specs/jsonrpc/_marshal.py +33 -24
- omlish/specs/openapi/_marshal.py +20 -17
- omlish/typedvalues/marshal.py +81 -55
- {omlish-0.0.0.dev453.dist-info → omlish-0.0.0.dev454.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev453.dist-info → omlish-0.0.0.dev454.dist-info}/RECORD +49 -48
- omlish/marshal/composite/unions.py +0 -213
- omlish/marshal/factories/match.py +0 -34
- omlish/marshal/factories/simple.py +0 -28
- {omlish-0.0.0.dev453.dist-info → omlish-0.0.0.dev454.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev453.dist-info → omlish-0.0.0.dev454.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev453.dist-info → omlish-0.0.0.dev454.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev453.dist-info → omlish-0.0.0.dev454.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.omlish-manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=J8aygU4-P9CXE7Ipp0WIsYvR4qc9tWE54x0wZEXtc3o,3613
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=ZNIMl1kwg3qdei4DiUrJPQe5M81S1e76N-GuNSwLBAE,8683
|
5
5
|
omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
|
@@ -71,7 +71,7 @@ omlish/collections/bimap.py,sha256=3szDCscPJlFRtkpyVQNWneg4s50mr6Rd0jdTzVEIcnE,1
|
|
71
71
|
omlish/collections/coerce.py,sha256=tAls15v_7p5bUN33R7Zbko87KW5toWHl9fRialCqyNY,7030
|
72
72
|
omlish/collections/frozen.py,sha256=drarjcMFpwKhBM01b1Gh6XDcaRaUgpyuxEiqppaKRkU,4220
|
73
73
|
omlish/collections/hasheq.py,sha256=uHypfZlHhicQPvx9OOlpT9MSLwfc_mFil-WaxF9dTOo,3732
|
74
|
-
omlish/collections/identity.py,sha256=
|
74
|
+
omlish/collections/identity.py,sha256=Z6yfUg4PnqxWlMUzcy3MSGL7vckkzuMDBaujffQXjMw,4885
|
75
75
|
omlish/collections/mappings.py,sha256=c3ojUN9Ca3oGfmMXSFkDQYou5J15obDfgjCvzq3Url4,3833
|
76
76
|
omlish/collections/multimaps.py,sha256=azuif-PeLGvLpCE9_XX5zYx7XtVbsulWq0owvEKNy_g,3897
|
77
77
|
omlish/collections/ordered.py,sha256=jBSj5CamdKJAezXM8GlRd7jjaRDk6BHIeOhlxcC9lJI,2468
|
@@ -126,7 +126,7 @@ omlish/daemons/services.py,sha256=laoUeJU7eVHuWl1062FBjPSD7jchOjhpYDc5FT2B3dM,34
|
|
126
126
|
omlish/daemons/spawning.py,sha256=CsNhWDebyin_CYwWvLWNpY0djF010HjQTHATvw6dk-M,5349
|
127
127
|
omlish/daemons/targets.py,sha256=9nacraBQYPTnTvPwR4B_tdalF4nwFAXZeo4FSVcHoMg,3057
|
128
128
|
omlish/daemons/waiting.py,sha256=fuR51IHdBDRVtfdewcw_0qw8itoXqmtdR_qtkoBChuE,1702
|
129
|
-
omlish/dataclasses/__init__.py,sha256=
|
129
|
+
omlish/dataclasses/__init__.py,sha256=o4FsoqpLkVN55CPrANwpufRgfASxIFPACCpEOYWICpo,3677
|
130
130
|
omlish/dataclasses/_internals.py,sha256=_THiziiIslUyYC98Y_tZd5aZgvEF3FAGkDSwzRfcDuo,3247
|
131
131
|
omlish/dataclasses/debug.py,sha256=giBiv6aXvX0IagwNCW64qBzNjfOFr3-VmgDy_KYlb-k,29
|
132
132
|
omlish/dataclasses/errors.py,sha256=QeJVRmrZQer3m66jSDiuAyfAngCBtocMxfnsoSxzOVw,2520
|
@@ -288,7 +288,7 @@ omlish/formats/toml/writer.py,sha256=9NT8sRy3I9KubxFx56Qbislvrdtbd23rEuBT-GSdUYA
|
|
288
288
|
omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
289
289
|
omlish/funcs/builders.py,sha256=ZSBQS2xqriXp5x0t074EEZvuTmMp4Yue2YGBoTLAioo,4044
|
290
290
|
omlish/funcs/genmachine.py,sha256=BOxO1OTjxZ7ewv_WpqYkY8bwlGQIJIjwjvYMflEFa_M,2571
|
291
|
-
omlish/funcs/guard.py,sha256=
|
291
|
+
omlish/funcs/guard.py,sha256=OfxDQRJfnRmVrXOPK2QuUtJ3MN3dxMA_q0gIb7C8m2s,5958
|
292
292
|
omlish/funcs/match.py,sha256=cBtG7kdpWdxvHwlte5CWlBxXSoJSV48joV4bwJJC3pk,6352
|
293
293
|
omlish/funcs/pairs.py,sha256=XhYTJdqooAJKeoGZmEaiKYeFRq5-Dj2_y92IdBl_C20,4371
|
294
294
|
omlish/funcs/pipes.py,sha256=E1dQZMBmgT2qautG1vEqy5v3QBsO2Nzryv33j4YAngA,2520
|
@@ -411,7 +411,7 @@ omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,4
|
|
411
411
|
omlish/iterators/tools.py,sha256=M16LXrJhMdsz5ea2qH0vws30ZvhQuQSCVFSLpRf_gTg,2096
|
412
412
|
omlish/iterators/transforms.py,sha256=YHVdD9nBkS1k4kogi4Ba0UOTU_pKkuX9jGw1Tqj3UMw,3598
|
413
413
|
omlish/iterators/unique.py,sha256=BSE-eanva8byFCJi09Nt2zzTsVr8LnTqY1PIInGYRs0,1396
|
414
|
-
omlish/lang/__init__.py,sha256=
|
414
|
+
omlish/lang/__init__.py,sha256=FiAlQCNPHoJABATaW-eFLEe8h0crfDgt--VFhKDTIJ0,10720
|
415
415
|
omlish/lang/asyncs.py,sha256=iIHJp7nvgJVj7zS0Ji7NsVSzz54vkzrj0Snc83dxe9g,1965
|
416
416
|
omlish/lang/attrstorage.py,sha256=UUnoENCMQF3twBfxBcIKa5mpXsAxWnNYDayhU8xgmpU,5224
|
417
417
|
omlish/lang/casing.py,sha256=3_c7cxQOc4z_YezaU2B4NCTAsPh_kDL4wUTK5kZU6kg,4675
|
@@ -425,7 +425,7 @@ omlish/lang/enums.py,sha256=F9tflHfaAoV2MpyuhZzpfX9-H55M3zNa9hCszsngEo8,111
|
|
425
425
|
omlish/lang/errors.py,sha256=shcS-NCnEUudF8qC_SmO2TQyjivKlS4TDjaz_faqQ0c,44
|
426
426
|
omlish/lang/functions.py,sha256=f7K2SC-09veno_lsUGu0DkZks2gL8VpsmyQMB4Q_i6Q,5663
|
427
427
|
omlish/lang/generators.py,sha256=nJiSmDpsfPiypGzJ8qlOO7-BUnCsrAeDow9mhtGgBio,5196
|
428
|
-
omlish/lang/iterables.py,sha256=
|
428
|
+
omlish/lang/iterables.py,sha256=5CJNkLyY4Oq43UkiM7KCgV9F6jzrlr9SLiuNx3DAvm8,3608
|
429
429
|
omlish/lang/lazyglobals.py,sha256=YfPtWgNEa0ULtbIiQIQ12pbafUwd6INQRw_PFcAabjo,2282
|
430
430
|
omlish/lang/maybes.py,sha256=8GUpqJvyx9y5PQBQBBx6yTSE5WKsMbXMHPt4_vojKUw,209
|
431
431
|
omlish/lang/maysync.py,sha256=S2Q_rGC4AxRa1UsGJdSzZsYpgOcX9Y8ZmYGA9v8OWn8,1635
|
@@ -470,12 +470,12 @@ omlish/lite/__init__.py,sha256=cyZEpGob7XjU8DohyNxVe5CQRk4CQ5vrHL42OdhQb8w,148
|
|
470
470
|
omlish/lite/abstract.py,sha256=Z3kLviPNGLkmA8m8BZILzWxez_sP18OyzgMP3-c2-RI,4068
|
471
471
|
omlish/lite/args.py,sha256=ILJXAiN3KjIoJwY42aKpYPngUdxHIy9ssVIExFVz3fE,978
|
472
472
|
omlish/lite/asyncs.py,sha256=ITnHvg1gq4Wl6PmhwK6DTKriNLBfxFfiVLE9QL6LEHk,3254
|
473
|
-
omlish/lite/attrops.py,sha256=
|
473
|
+
omlish/lite/attrops.py,sha256=02DNBjOl27NjznkwolgPwtWpA1q3UPUuwOjHsgG4oLo,11381
|
474
474
|
omlish/lite/cached.py,sha256=AF0PdB2k4h2dyNc5tzrmnNrb9zKnoMPQU3WA8KrhS_o,3108
|
475
475
|
omlish/lite/check.py,sha256=ytCkwZoKfOlJqylL-AGm8C2WfsWJd2q3kFbnZCzX3_M,13844
|
476
476
|
omlish/lite/configs.py,sha256=4-1uVxo-aNV7vMKa7PVNhM610eejG1WepB42-Dw2xQI,914
|
477
477
|
omlish/lite/contextmanagers.py,sha256=usDzBoNqJi98AccVlwgZoMvoBXOe9wyx2MreZtWhJy4,5863
|
478
|
-
omlish/lite/dataclasses.py,sha256=
|
478
|
+
omlish/lite/dataclasses.py,sha256=sBsClTxr5nmoahgXzruyZS6GqEWYGmDs8YvAXOIMl74,4814
|
479
479
|
omlish/lite/imports.py,sha256=GyEDKL-WuHtdOKIL-cc8aFd0-bHwZFDEjAB52ItabX0,1341
|
480
480
|
omlish/lite/inject.py,sha256=BQgjBj2mzJgMimLam-loSpQzcb31-8NYPVRQgHVv3cQ,29159
|
481
481
|
omlish/lite/json.py,sha256=m0Ce9eqUZG23-H7-oOp8n1sf4fzno5vtK4AK_4Vc-Mg,706
|
@@ -528,64 +528,65 @@ omlish/manifests/globals.py,sha256=kVqQ-fT4kc7xWzLHoI731GviitFPv2v2yqw-p7t7Exs,2
|
|
528
528
|
omlish/manifests/loading.py,sha256=s6KnhdFQCsI2i0Rus1sMU0so2v8dUBnk59BJkSnxGt8,17514
|
529
529
|
omlish/manifests/static.py,sha256=9BaPBLkuzxHmg5A-5k9BjjBFINCdmFOIu06dMFgCfz4,497
|
530
530
|
omlish/manifests/types.py,sha256=NeOGuIVrcbqjCDbQ3MnCxxHAgHnw0CkWJsBzo230PWE,453
|
531
|
-
omlish/marshal/__init__.py,sha256=
|
531
|
+
omlish/marshal/__init__.py,sha256=NYAgvE_LM32NhxKYAXzUntpenu-d5iFOFDzDtm99MGo,6464
|
532
532
|
omlish/marshal/globals.py,sha256=Q6G18hcUwUDDNnpyRPnR5Tn_XZpZCSIEXo09nYSOaNU,2236
|
533
533
|
omlish/marshal/naming.py,sha256=Mk5YrbES836_KflNNRoc5Ajd96iMYLQIMERKx1KpT4g,865
|
534
|
-
omlish/marshal/standard.py,sha256=
|
534
|
+
omlish/marshal/standard.py,sha256=8Qy5L3qMHO-V_fu78tM62wMcGpF0kgrFrxn06IRbFXQ,6906
|
535
535
|
omlish/marshal/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
536
536
|
omlish/marshal/base/configs.py,sha256=y_JRghQgu8mJjPspSZcJQLhjevEuJE2kyxCdu3wGKvo,271
|
537
|
-
omlish/marshal/base/contexts.py,sha256=
|
537
|
+
omlish/marshal/base/contexts.py,sha256=kqfw0TLz70dfaRCZyjH12js6wzsk7BoGPHfDXoRv_YY,2222
|
538
538
|
omlish/marshal/base/errors.py,sha256=jmN3vl_U_hB6L0wAvuO7ORG27vXF7KEUk-1TxxK2mYA,308
|
539
|
-
omlish/marshal/base/funcs.py,sha256=
|
539
|
+
omlish/marshal/base/funcs.py,sha256=Tc_v3hhj61n6_ieQETe1vaYrN7sByZ4Xv5AzacsqGzQ,1634
|
540
540
|
omlish/marshal/base/options.py,sha256=OoDErPmI0kswnqAtr7QYndlPYhIqIDarx833tKFT2R4,23
|
541
541
|
omlish/marshal/base/overrides.py,sha256=543hP4_y2JRThUOamCE0dPfgucbepVV8e_YF-_PJk6U,993
|
542
542
|
omlish/marshal/base/registries.py,sha256=NRH5X4nE_aF7vcTi4_5qqQpYbYru2Ud6aD0eKfuJ_Ws,5903
|
543
|
-
omlish/marshal/base/types.py,sha256=
|
543
|
+
omlish/marshal/base/types.py,sha256=YcA8smfVkIWNfMV4y6FEqQBJoFfwz1AOiHvbaaD27kE,3032
|
544
544
|
omlish/marshal/base/values.py,sha256=QF6OateG5kjRPHYza08wscThhg20oryf-aVQrxjfkC0,212
|
545
545
|
omlish/marshal/composite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
546
|
-
omlish/marshal/composite/iterables.py,sha256=
|
547
|
-
omlish/marshal/composite/literals.py,sha256=
|
548
|
-
omlish/marshal/composite/mappings.py,sha256=
|
549
|
-
omlish/marshal/composite/maybes.py,sha256=
|
550
|
-
omlish/marshal/composite/newtypes.py,sha256=
|
551
|
-
omlish/marshal/composite/optionals.py,sha256=
|
552
|
-
omlish/marshal/composite/special.py,sha256=
|
553
|
-
omlish/marshal/composite/unions.py,sha256=qUVAbUS16YI1toRmq0liyuMUQSq1d2Ox5mAW0zYCdog,6058
|
546
|
+
omlish/marshal/composite/iterables.py,sha256=b9REKCYhbPSj2VwUG8wRjonrENExIE1fjHTd3hHYsYc,2974
|
547
|
+
omlish/marshal/composite/literals.py,sha256=jbPi5A7xgRja3GdiwPwFtIkP_Z-Smb1m3yDnEWIYU9w,1716
|
548
|
+
omlish/marshal/composite/mappings.py,sha256=U1ONUxnJj9oaduJ4Gh2bOzAfcAtAdp-pn1RWndYJlng,3127
|
549
|
+
omlish/marshal/composite/maybes.py,sha256=d2z2lrzbfMJ7Vtn7UmUk4BkbSSP-8sHt8K4d0Xbo3tc,2531
|
550
|
+
omlish/marshal/composite/newtypes.py,sha256=uOPpcbq3Rb_0VavwqEREhxteNNNHZnUh7W3wcn_EWNk,923
|
551
|
+
omlish/marshal/composite/optionals.py,sha256=Y0YkHoXhhUkmWhEyeevtq9tXS9UfGcKVGl--MvjB7iI,1570
|
552
|
+
omlish/marshal/composite/special.py,sha256=u9jMgs_6ozyoFin8pLDsvjrEip98zxRlai0HliHmVjU,1314
|
554
553
|
omlish/marshal/composite/wrapped.py,sha256=xC8k21wJOpSkpAn7794hBTPBRw-HPC9sOF3WRlUh_BA,785
|
554
|
+
omlish/marshal/composite/unions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
555
|
+
omlish/marshal/composite/unions/literals.py,sha256=nDEseg440hPNZy0avkTzlTWuEJlBH2Z729wAtpSvZf0,2648
|
556
|
+
omlish/marshal/composite/unions/primitives.py,sha256=vsWNjtjjy49Z-WX3hZzRGUHfmToh4-7A8KT7plIzcZ8,2821
|
555
557
|
omlish/marshal/factories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
556
|
-
omlish/marshal/factories/invalidate.py,sha256=
|
557
|
-
omlish/marshal/factories/
|
558
|
-
omlish/marshal/factories/multi.py,sha256=
|
559
|
-
omlish/marshal/factories/recursive.py,sha256=
|
560
|
-
omlish/marshal/factories/
|
561
|
-
omlish/marshal/factories/
|
562
|
-
omlish/marshal/factories/typemap.py,sha256=CxScQbRw3VwILGhf38v2yOiof45YJ9p2LQhZ37SHNj8,1606
|
558
|
+
omlish/marshal/factories/invalidate.py,sha256=DmnyOaVSMmlHRjoLtxbpPynCI6vxIeSE6K6Gt2CzHhY,1959
|
559
|
+
omlish/marshal/factories/method.py,sha256=ZyyLTn7y7K1yLZI-UowWZHa_hTs1F93v3Jc5sdPMg4E,884
|
560
|
+
omlish/marshal/factories/multi.py,sha256=TBabfvqNe9z94egP8z3CGmcx21-c_aVEEA6-IJj-rp0,1251
|
561
|
+
omlish/marshal/factories/recursive.py,sha256=W24-Td1TylXxDjOCz9So-GYAtOhkNzuO78NKHo5GBgs,2868
|
562
|
+
omlish/marshal/factories/typecache.py,sha256=JwRRTnTgTa-AEtPbfjJg2t4n2TAmvxvFOI5UerUeRZc,1659
|
563
|
+
omlish/marshal/factories/typemap.py,sha256=aNxAHsdwuaeACR3Ll0WZ2EMqJN-pnSiZ5g45Rq4QQ5k,1967
|
563
564
|
omlish/marshal/factories/moduleimport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
564
565
|
omlish/marshal/factories/moduleimport/configs.py,sha256=8g6FSPmyo0IOYSWYp5kqfJACZxL9SvzlHzrSzucNZyg,538
|
565
|
-
omlish/marshal/factories/moduleimport/factories.py,sha256=
|
566
|
+
omlish/marshal/factories/moduleimport/factories.py,sha256=PaXmv83xIBqWB8fwJglXMM9Mr2tzLmK_nhjsKSKUVCA,2376
|
566
567
|
omlish/marshal/objects/__init__.py,sha256=F4wej8L_tedC8ETYxAnmKfdPR9TjsqIus9Z3nZofYuc,182
|
567
|
-
omlish/marshal/objects/dataclasses.py,sha256=
|
568
|
+
omlish/marshal/objects/dataclasses.py,sha256=R_rxgmo5qo3XoC7h00VbFWtCkEBgY-UzigHDYDgwYC4,10014
|
568
569
|
omlish/marshal/objects/helpers.py,sha256=hj5I1pILt3QFSVkYJNrSO3wiCaalAopEYWPL17Ip4zs,1102
|
569
|
-
omlish/marshal/objects/marshal.py,sha256=
|
570
|
+
omlish/marshal/objects/marshal.py,sha256=KNxAUUzwJs3Ttn4hELjy_9NRUugtW9zXQI8Nz4vVNiE,2744
|
570
571
|
omlish/marshal/objects/metadata.py,sha256=maGqyQl0GE9xWK17DQjXxhZWRh3nRwH4fgklrA8XVQI,3392
|
571
|
-
omlish/marshal/objects/namedtuples.py,sha256=
|
572
|
-
omlish/marshal/objects/unmarshal.py,sha256=
|
572
|
+
omlish/marshal/objects/namedtuples.py,sha256=FHJFi84462vrkDvEsBAb9B7FmAS7I_ACx4vm4HnT5xU,3118
|
573
|
+
omlish/marshal/objects/unmarshal.py,sha256=LI0HKaCvUpoERFs2Mmi8g37P2WweWXrVLiZgYzJg7Vo,3734
|
573
574
|
omlish/marshal/polymorphism/__init__.py,sha256=e2UTrSL0qp7w_1vkdxDWd7sXlWhep2KPV49-BB64ma8,130
|
574
|
-
omlish/marshal/polymorphism/marshal.py,sha256=
|
575
|
+
omlish/marshal/polymorphism/marshal.py,sha256=YgxQKDKC2Jq3mD3IYbBwzT6zsW8Lbi-zibbOK_noABc,2221
|
575
576
|
omlish/marshal/polymorphism/metadata.py,sha256=s5lNTzvP487niVorDUy6RFeTB7hde89ENgm-7I_MQg0,3622
|
576
577
|
omlish/marshal/polymorphism/standard.py,sha256=sfxKVjFG8tUam_U75_rFMY2-JSWw_l1_HBg2MrXjQHE,1096
|
577
|
-
omlish/marshal/polymorphism/unions.py,sha256=
|
578
|
-
omlish/marshal/polymorphism/unmarshal.py,sha256=
|
578
|
+
omlish/marshal/polymorphism/unions.py,sha256=tYE5hJBqd5NRAWsw93hnWJdjzp0wVR9pdIgMr2I9oX4,2163
|
579
|
+
omlish/marshal/polymorphism/unmarshal.py,sha256=Zu65a26OttpMi1udRe32i1l1das-_Om_L-af_XbathU,2434
|
579
580
|
omlish/marshal/singular/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
580
581
|
omlish/marshal/singular/base64.py,sha256=OZ3Ydwy64S0M-xlktYy5MagzyzTOVYayUXblq8ZK-AE,1164
|
581
582
|
omlish/marshal/singular/datetimes.py,sha256=nzOf8LRwAB08X80N_NmWuE3rOrYG80ZgIaZO3549WnE,3784
|
582
|
-
omlish/marshal/singular/enums.py,sha256=
|
583
|
+
omlish/marshal/singular/enums.py,sha256=l7qaW68dGjUQ6JfB8KQSoPOglDRFGzCJGNv6hj0Nxug,1377
|
583
584
|
omlish/marshal/singular/numbers.py,sha256=32_lSiaQc796u0WsPyiYORiJoaI5qh2IZxiIfF8n360,1746
|
584
585
|
omlish/marshal/singular/primitives.py,sha256=T1mRNMin7OOBjsBkAh1xVbHa-VBmtMfL55mhCfiruIg,1360
|
585
586
|
omlish/marshal/singular/uuids.py,sha256=J6Swxzm0rFvAMCmErJb4WpSPmnQyts7qOqy43Y1BugI,984
|
586
587
|
omlish/marshal/trivial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
587
588
|
omlish/marshal/trivial/any.py,sha256=XaqSW0fyq2FVE4PQ4IG0UaXr59kRVGccgZDlsNHrd_Q,852
|
588
|
-
omlish/marshal/trivial/forbidden.py,sha256=
|
589
|
+
omlish/marshal/trivial/forbidden.py,sha256=v56LLiXA9ZeYASE4bI56yZTRpyrQIKRGJWVjcPQNCNo,1194
|
589
590
|
omlish/marshal/trivial/nop.py,sha256=PDXT0B9RR-ghG6ExuK9BH2J-nHEnoTYGNdVaNAyRzSk,506
|
590
591
|
omlish/math/__init__.py,sha256=bcdEEM3l4YNPJvTY_gD-7ARa5HEBNFTfvkVDTTzaNOQ,1531
|
591
592
|
omlish/math/bits.py,sha256=pcTuWxNXXfG-CtTITNNbW3YConAkCeU8PLNcglCc43E,533
|
@@ -604,7 +605,7 @@ omlish/os/environ.py,sha256=fDjnSO2Qz6lpvICx54JZpdPF-BxL4zKAWU3x_6UTxCI,3681
|
|
604
605
|
omlish/os/fcntl.py,sha256=EUa4TkeqdKix-uIweRitIZsgT9ohY7OQ5QiIhUW9S0c,1512
|
605
606
|
omlish/os/filemodes.py,sha256=JjHXZ7_BUQRphlA6_DkQoRSOEXxQUWWoKiS2-54rMVo,4586
|
606
607
|
omlish/os/files.py,sha256=PmFQIesLmpYORm4dMKTkj2PeS8iu-KbfPmjZHaabeVc,1117
|
607
|
-
omlish/os/forkhooks.py,sha256=
|
608
|
+
omlish/os/forkhooks.py,sha256=T9BALcFeffR3xJbekSuYUvftwiXiwnO7N8dvtbmo98I,5761
|
608
609
|
omlish/os/journald.py,sha256=RS6Vjlm1N-J7I6h39A5onmKueCA4ViRhrlDam2523V0,3921
|
609
610
|
omlish/os/linux.py,sha256=CfnYR1vJooo74OfeiSB6EaB1KN5SLz9x3b1KXtJIRQ4,18949
|
610
611
|
omlish/os/mangle.py,sha256=1Z_gYNiRiHn7wAA8tGEumra3lD4r9Isn581Ml2auJZI,531
|
@@ -663,7 +664,7 @@ omlish/specs/jmespath/parser.py,sha256=uNk9_xQ9cZJC1h5naoH1HMbCs4B0WhV2jN5AvhdKT
|
|
663
664
|
omlish/specs/jmespath/scope.py,sha256=gsVjmAVF0b7s2SevWb0rBbURayiMSIuXfzO4v1ONIrY,1595
|
664
665
|
omlish/specs/jmespath/visitor.py,sha256=6OCi7oa4IsGW5fCqAeFuXYEwn-aLKuMrNMFtQKSpJWo,16951
|
665
666
|
omlish/specs/jsonrpc/__init__.py,sha256=u2kcJeo6YWEvFYf7OqDNKThszGLSmXYFNJpqXmXgm1M,504
|
666
|
-
omlish/specs/jsonrpc/_marshal.py,sha256=
|
667
|
+
omlish/specs/jsonrpc/_marshal.py,sha256=Z85o3XHUlzPN37J6CcM2yqhHNtX6pARHf9VfV2cv5Ds,2058
|
667
668
|
omlish/specs/jsonrpc/conns.py,sha256=zvWnBHuSoGnvbGVk72Usp4IFsLscrzPozqR2hmFjnDI,7029
|
668
669
|
omlish/specs/jsonrpc/errors.py,sha256=WxEU7k1TqeZAo_H6eU0LcrXSd-Gi_3fTvtxjXZ9qKww,712
|
669
670
|
omlish/specs/jsonrpc/types.py,sha256=Se9ecG-_k-kY_Qlt9QD2t3y26oY4sXTcskp6XZfVans,3054
|
@@ -693,7 +694,7 @@ omlish/specs/jsonschema/schemas/draft202012/vocabularies/meta-data.json,sha256=j
|
|
693
694
|
omlish/specs/jsonschema/schemas/draft202012/vocabularies/unevaluated.json,sha256=Lb-8tzmUtnCwl2SSre4f_7RsIWgnhNL1pMpWH54tDLQ,506
|
694
695
|
omlish/specs/jsonschema/schemas/draft202012/vocabularies/validation.json,sha256=cBCjHlQfMtK-ch4t40jfdcmzaHaj7TBId_wKvaHTelg,2834
|
695
696
|
omlish/specs/openapi/__init__.py,sha256=KS7OHPBlXwBeTvmsUQy0VMzKYdz2RyH3qLF3bU0NXUw,147
|
696
|
-
omlish/specs/openapi/_marshal.py,sha256=
|
697
|
+
omlish/specs/openapi/_marshal.py,sha256=DFO1dbUnaxg_G9ke24vIGAU-4IgJcBR1mtIIcsVL6so,4510
|
697
698
|
omlish/specs/openapi/openapi.py,sha256=6KGY_d8HOyG7ssHIWM40MCXgIMzNLiLKHYNggTSpAYM,12027
|
698
699
|
omlish/sql/__init__.py,sha256=JjgIiP2YfiHHIANP7qgkJUG0IMIRzzvKntyhdDKeNdY,384
|
699
700
|
omlish/sql/abc.py,sha256=3hrCjB4jnPVMef_YXClCblzYUZ9l9yaxJJdd5_Nu9GM,4043
|
@@ -821,13 +822,13 @@ omlish/typedvalues/collection.py,sha256=CK4Vk9kJqAt2V8o6I4zGyv2u9DKov12uSvsGdqEd
|
|
821
822
|
omlish/typedvalues/consumer.py,sha256=lDOE-O_sgGbOvbcBg2g5ZRaV2WixnuEYxFsJBaj18oU,4690
|
822
823
|
omlish/typedvalues/generic.py,sha256=ft-x4X3k1oFirtYnDfsvrI3ZQikWM8lGLrvrOEbcGq0,742
|
823
824
|
omlish/typedvalues/holder.py,sha256=vu-umn-h1nvUqmtV5T9ZfQ_OoOYsERu8PhI2N48Ryns,1133
|
824
|
-
omlish/typedvalues/marshal.py,sha256=
|
825
|
+
omlish/typedvalues/marshal.py,sha256=HKlUzFhOfJgxLADRHOIcwlr-UbGSSuUHkNgUX070k0E,5954
|
825
826
|
omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
|
826
827
|
omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
|
827
828
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
828
|
-
omlish-0.0.0.
|
829
|
-
omlish-0.0.0.
|
830
|
-
omlish-0.0.0.
|
831
|
-
omlish-0.0.0.
|
832
|
-
omlish-0.0.0.
|
833
|
-
omlish-0.0.0.
|
829
|
+
omlish-0.0.0.dev454.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
830
|
+
omlish-0.0.0.dev454.dist-info/METADATA,sha256=N5zehQbu1WtUkkeeT84dmZqYu8lVV354n5GZT0MZmd8,19003
|
831
|
+
omlish-0.0.0.dev454.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
832
|
+
omlish-0.0.0.dev454.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
833
|
+
omlish-0.0.0.dev454.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
834
|
+
omlish-0.0.0.dev454.dist-info/RECORD,,
|
@@ -1,213 +0,0 @@
|
|
1
|
-
import typing as ta
|
2
|
-
|
3
|
-
from ... import check
|
4
|
-
from ... import collections as col
|
5
|
-
from ... import dataclasses as dc
|
6
|
-
from ... import lang
|
7
|
-
from ... import reflect as rfl
|
8
|
-
from ...funcs import match as mfs
|
9
|
-
from ..base.contexts import MarshalContext
|
10
|
-
from ..base.contexts import UnmarshalContext
|
11
|
-
from ..base.types import Marshaler
|
12
|
-
from ..base.types import Unmarshaler
|
13
|
-
from ..base.values import Value
|
14
|
-
from ..factories.simple import SimpleMarshalerFactory
|
15
|
-
from ..factories.simple import SimpleUnmarshalerFactory
|
16
|
-
|
17
|
-
|
18
|
-
##
|
19
|
-
|
20
|
-
|
21
|
-
class MatchUnionMarshaler(Marshaler):
|
22
|
-
mmf: mfs.MultiMatchFn[[UnmarshalContext, Value], ta.Any]
|
23
|
-
|
24
|
-
def marshal(self, ctx: MarshalContext, o: ta.Any) -> Value:
|
25
|
-
try:
|
26
|
-
m = self.mmf.match(ctx, o)
|
27
|
-
except mfs.AmbiguousMatchesError:
|
28
|
-
raise ValueError(o) # noqa
|
29
|
-
return m.fn(ctx, o)
|
30
|
-
|
31
|
-
|
32
|
-
class MatchUnionUnmarshaler(Unmarshaler):
|
33
|
-
mmf: mfs.MultiMatchFn[[UnmarshalContext, Value], ta.Any]
|
34
|
-
|
35
|
-
def unmarshal(self, ctx: UnmarshalContext, v: Value) -> ta.Any:
|
36
|
-
try:
|
37
|
-
m = self.mmf.match(ctx, v)
|
38
|
-
except mfs.AmbiguousMatchesError:
|
39
|
-
raise ValueError(v) # noqa
|
40
|
-
return m.fn(ctx, v)
|
41
|
-
|
42
|
-
|
43
|
-
##
|
44
|
-
|
45
|
-
|
46
|
-
PRIMITIVE_UNION_TYPES: tuple[type, ...] = (
|
47
|
-
float,
|
48
|
-
int,
|
49
|
-
str,
|
50
|
-
bool,
|
51
|
-
)
|
52
|
-
|
53
|
-
|
54
|
-
class DestructuredPrimitiveUnionType(ta.NamedTuple):
|
55
|
-
prim: ta.Sequence[type]
|
56
|
-
non_prim: ta.Sequence[rfl.Type]
|
57
|
-
|
58
|
-
|
59
|
-
def _destructure_primitive_union_type(
|
60
|
-
rty: rfl.Type,
|
61
|
-
prim_tys: ta.Container[type] = PRIMITIVE_UNION_TYPES,
|
62
|
-
) -> DestructuredPrimitiveUnionType | None:
|
63
|
-
if not isinstance(rty, rfl.Union):
|
64
|
-
return None
|
65
|
-
|
66
|
-
pr = col.partition(rty.args, lambda a: isinstance(a, type) and a in prim_tys)
|
67
|
-
if not pr.t or len(pr.f) > 1:
|
68
|
-
return None
|
69
|
-
|
70
|
-
return DestructuredPrimitiveUnionType(*pr) # type: ignore[arg-type]
|
71
|
-
|
72
|
-
|
73
|
-
#
|
74
|
-
|
75
|
-
|
76
|
-
@dc.dataclass(frozen=True)
|
77
|
-
class PrimitiveUnionMarshaler(Marshaler):
|
78
|
-
tys: ta.Sequence[type]
|
79
|
-
x: Marshaler | None = None
|
80
|
-
|
81
|
-
def marshal(self, ctx: MarshalContext, o: ta.Any) -> Value:
|
82
|
-
if type(o) not in self.tys:
|
83
|
-
if self.x is not None:
|
84
|
-
return self.x.marshal(ctx, o)
|
85
|
-
raise TypeError(o)
|
86
|
-
return o
|
87
|
-
|
88
|
-
|
89
|
-
@dc.dataclass(frozen=True)
|
90
|
-
class PrimitiveUnionMarshalerFactory(SimpleMarshalerFactory):
|
91
|
-
tys: ta.Sequence[type] = PRIMITIVE_UNION_TYPES
|
92
|
-
|
93
|
-
def guard(self, ctx: MarshalContext, rty: rfl.Type) -> bool:
|
94
|
-
return _destructure_primitive_union_type(rty, self.tys) is not None
|
95
|
-
|
96
|
-
def fn(self, ctx: MarshalContext, rty: rfl.Type) -> Marshaler:
|
97
|
-
prim, non_prim = check.not_none(_destructure_primitive_union_type(rty, self.tys))
|
98
|
-
return PrimitiveUnionMarshaler(
|
99
|
-
prim,
|
100
|
-
ctx.make(check.single(non_prim)) if non_prim else None,
|
101
|
-
)
|
102
|
-
|
103
|
-
|
104
|
-
#
|
105
|
-
|
106
|
-
|
107
|
-
@dc.dataclass(frozen=True)
|
108
|
-
class PrimitiveUnionUnmarshaler(Unmarshaler):
|
109
|
-
tys: ta.Sequence[type]
|
110
|
-
x: Unmarshaler | None = None
|
111
|
-
|
112
|
-
def unmarshal(self, ctx: UnmarshalContext, v: Value) -> ta.Any:
|
113
|
-
if type(v) not in self.tys:
|
114
|
-
if self.x is not None:
|
115
|
-
return self.x.unmarshal(ctx, v)
|
116
|
-
raise TypeError(v)
|
117
|
-
return v
|
118
|
-
|
119
|
-
|
120
|
-
@dc.dataclass(frozen=True)
|
121
|
-
class PrimitiveUnionUnmarshalerFactory(SimpleUnmarshalerFactory):
|
122
|
-
tys: ta.Sequence[type] = PRIMITIVE_UNION_TYPES
|
123
|
-
|
124
|
-
def guard(self, ctx: UnmarshalContext, rty: rfl.Type) -> bool:
|
125
|
-
return _destructure_primitive_union_type(rty, self.tys) is not None
|
126
|
-
|
127
|
-
def fn(self, ctx: UnmarshalContext, rty: rfl.Type) -> Unmarshaler:
|
128
|
-
prim, non_prim = check.not_none(_destructure_primitive_union_type(rty, self.tys))
|
129
|
-
return PrimitiveUnionUnmarshaler(
|
130
|
-
prim,
|
131
|
-
ctx.make(check.single(non_prim)) if non_prim else None,
|
132
|
-
)
|
133
|
-
|
134
|
-
|
135
|
-
##
|
136
|
-
|
137
|
-
|
138
|
-
LITERAL_UNION_TYPES: tuple[type, ...] = (
|
139
|
-
int,
|
140
|
-
str,
|
141
|
-
)
|
142
|
-
|
143
|
-
|
144
|
-
class DestructuredLiteralUnionType(ta.NamedTuple):
|
145
|
-
v_ty: type
|
146
|
-
lit: rfl.Literal
|
147
|
-
non_lit: rfl.Type
|
148
|
-
|
149
|
-
|
150
|
-
def _destructure_literal_union_type(rty: rfl.Type) -> DestructuredLiteralUnionType | None:
|
151
|
-
if not isinstance(rty, rfl.Union):
|
152
|
-
return None
|
153
|
-
lits, non_lits = col.partition(rty.args, lang.isinstance_of(rfl.Literal)) # noqa
|
154
|
-
if len(lits) != 1 or len(non_lits) != 1:
|
155
|
-
return None
|
156
|
-
lit = check.isinstance(check.single(lits), rfl.Literal)
|
157
|
-
v_tys = set(map(type, lit.args))
|
158
|
-
if len(v_tys) != 1:
|
159
|
-
return None
|
160
|
-
[v_ty] = v_tys
|
161
|
-
if v_ty in rty.args or v_ty not in LITERAL_UNION_TYPES:
|
162
|
-
return None
|
163
|
-
return DestructuredLiteralUnionType(v_ty, lit, check.single(non_lits))
|
164
|
-
|
165
|
-
|
166
|
-
#
|
167
|
-
|
168
|
-
|
169
|
-
@dc.dataclass(frozen=True)
|
170
|
-
class LiteralUnionMarshaler(Marshaler):
|
171
|
-
v_ty: type
|
172
|
-
l: Marshaler
|
173
|
-
x: Marshaler
|
174
|
-
|
175
|
-
def marshal(self, ctx: MarshalContext, o: ta.Any | None) -> Value:
|
176
|
-
if isinstance(o, self.v_ty):
|
177
|
-
return self.l.marshal(ctx, o)
|
178
|
-
else:
|
179
|
-
return self.x.marshal(ctx, o)
|
180
|
-
|
181
|
-
|
182
|
-
class LiteralUnionMarshalerFactory(SimpleMarshalerFactory):
|
183
|
-
def guard(self, ctx: MarshalContext, rty: rfl.Type) -> bool:
|
184
|
-
return _destructure_literal_union_type(rty) is not None
|
185
|
-
|
186
|
-
def fn(self, ctx: MarshalContext, rty: rfl.Type) -> Marshaler:
|
187
|
-
ds = check.not_none(_destructure_literal_union_type(rty))
|
188
|
-
return LiteralUnionMarshaler(ds.v_ty, ctx.make(ds.lit), ctx.make(ds.non_lit))
|
189
|
-
|
190
|
-
|
191
|
-
#
|
192
|
-
|
193
|
-
|
194
|
-
@dc.dataclass(frozen=True)
|
195
|
-
class LiteralUnionUnmarshaler(Unmarshaler):
|
196
|
-
v_ty: type
|
197
|
-
l: Unmarshaler
|
198
|
-
x: Unmarshaler
|
199
|
-
|
200
|
-
def unmarshal(self, ctx: UnmarshalContext, v: Value) -> ta.Any | None:
|
201
|
-
if isinstance(v, self.v_ty):
|
202
|
-
return self.l.unmarshal(ctx, v) # type: ignore[arg-type]
|
203
|
-
else:
|
204
|
-
return self.x.unmarshal(ctx, v)
|
205
|
-
|
206
|
-
|
207
|
-
class LiteralUnionUnmarshalerFactory(SimpleUnmarshalerFactory):
|
208
|
-
def guard(self, ctx: UnmarshalContext, rty: rfl.Type) -> bool:
|
209
|
-
return _destructure_literal_union_type(rty) is not None
|
210
|
-
|
211
|
-
def fn(self, ctx: UnmarshalContext, rty: rfl.Type) -> Unmarshaler:
|
212
|
-
ds = check.not_none(_destructure_literal_union_type(rty))
|
213
|
-
return LiteralUnionUnmarshaler(ds.v_ty, ctx.make(ds.lit), ctx.make(ds.non_lit))
|
@@ -1,34 +0,0 @@
|
|
1
|
-
from ... import lang
|
2
|
-
from ... import reflect as rfl
|
3
|
-
from ...funcs import match as mfs
|
4
|
-
from ..base.contexts import MarshalContext
|
5
|
-
from ..base.contexts import UnmarshalContext
|
6
|
-
from ..base.types import Marshaler
|
7
|
-
from ..base.types import MarshalerFactory
|
8
|
-
from ..base.types import MarshalerMaker
|
9
|
-
from ..base.types import Unmarshaler
|
10
|
-
from ..base.types import UnmarshalerFactory
|
11
|
-
from ..base.types import UnmarshalerMaker
|
12
|
-
|
13
|
-
|
14
|
-
##
|
15
|
-
|
16
|
-
|
17
|
-
class MarshalerFactoryMatchClass(
|
18
|
-
MarshalerFactory,
|
19
|
-
mfs.MatchFnClass[[MarshalContext, rfl.Type], Marshaler],
|
20
|
-
lang.Abstract,
|
21
|
-
):
|
22
|
-
@property
|
23
|
-
def make_marshaler(self) -> MarshalerMaker:
|
24
|
-
return self # noqa
|
25
|
-
|
26
|
-
|
27
|
-
class UnmarshalerFactoryMatchClass(
|
28
|
-
UnmarshalerFactory,
|
29
|
-
mfs.MatchFnClass[[UnmarshalContext, rfl.Type], Unmarshaler],
|
30
|
-
lang.Abstract,
|
31
|
-
):
|
32
|
-
@property
|
33
|
-
def make_unmarshaler(self) -> UnmarshalerMaker:
|
34
|
-
return self # noqa
|
@@ -1,28 +0,0 @@
|
|
1
|
-
from ... import lang
|
2
|
-
from ..base.types import MarshalerFactory
|
3
|
-
from ..base.types import MarshalerMaker
|
4
|
-
from ..base.types import UnmarshalerFactory
|
5
|
-
from ..base.types import UnmarshalerMaker
|
6
|
-
|
7
|
-
|
8
|
-
##
|
9
|
-
|
10
|
-
|
11
|
-
class SimpleMarshalerFactory(
|
12
|
-
MarshalerFactory,
|
13
|
-
MarshalerMaker,
|
14
|
-
lang.Abstract,
|
15
|
-
):
|
16
|
-
@property
|
17
|
-
def make_marshaler(self) -> MarshalerMaker:
|
18
|
-
return self # noqa
|
19
|
-
|
20
|
-
|
21
|
-
class SimpleUnmarshalerFactory(
|
22
|
-
UnmarshalerFactory,
|
23
|
-
UnmarshalerMaker,
|
24
|
-
lang.Abstract,
|
25
|
-
):
|
26
|
-
@property
|
27
|
-
def make_unmarshaler(self) -> UnmarshalerMaker:
|
28
|
-
return self # noqa
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|