omlish 0.0.0.dev328__py3-none-any.whl → 0.0.0.dev329__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/reflect/subst.py +9 -7
- omlish/typedvalues/accessor.py +5 -5
- omlish/typedvalues/holder.py +4 -4
- {omlish-0.0.0.dev328.dist-info → omlish-0.0.0.dev329.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev328.dist-info → omlish-0.0.0.dev329.dist-info}/RECORD +10 -10
- {omlish-0.0.0.dev328.dist-info → omlish-0.0.0.dev329.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev328.dist-info → omlish-0.0.0.dev329.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev328.dist-info → omlish-0.0.0.dev329.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev328.dist-info → omlish-0.0.0.dev329.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/reflect/subst.py
CHANGED
@@ -43,13 +43,14 @@ def replace_type_vars(
|
|
43
43
|
args = tuple(rec(a) for a in cur.args)
|
44
44
|
if update_aliases:
|
45
45
|
obj = cur.obj
|
46
|
-
if (
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
46
|
+
if (og := ta.get_origin(obj)) is ta.Generic:
|
47
|
+
# FIXME: None? filter_typing_generic in get_generic_bases?
|
48
|
+
pass
|
49
|
+
elif (ops := get_params(og)):
|
50
|
+
if len(ops) != len(args):
|
51
|
+
raise RuntimeError
|
52
|
+
nargs = [to_annotation(a) for a in args]
|
53
|
+
obj = og[*nargs]
|
53
54
|
else:
|
54
55
|
obj = None
|
55
56
|
return dc.replace(cur, args=args, obj=obj)
|
@@ -89,6 +90,7 @@ class GenericSubstitution:
|
|
89
90
|
if isinstance(bty, Generic) and isinstance(b, type):
|
90
91
|
# FIXME: throws away relative types, but can't use original vars as they're class-contextual
|
91
92
|
bty = type_(b[*((ta.Any,) * len(bty.params))]) # type: ignore
|
93
|
+
# rpl2 = {p: rpl[a] for p, a in zip(bty.params, bty.args)}
|
92
94
|
rty = replace_type_vars(bty, rpl, update_aliases=self._update_aliases)
|
93
95
|
ret.append(rty)
|
94
96
|
return tuple(ret)
|
omlish/typedvalues/accessor.py
CHANGED
@@ -14,7 +14,7 @@ from .values import UniqueTypedValue # noqa
|
|
14
14
|
|
15
15
|
T = ta.TypeVar('T')
|
16
16
|
|
17
|
-
|
17
|
+
TypedValueT0 = ta.TypeVar('TypedValueT0', bound='TypedValue')
|
18
18
|
TypedValueU = ta.TypeVar('TypedValueU', bound='TypedValue')
|
19
19
|
|
20
20
|
UniqueTypedValueU = ta.TypeVar('UniqueTypedValueU', bound='UniqueTypedValue')
|
@@ -27,7 +27,7 @@ class _NOT_SET(lang.Marker): # noqa
|
|
27
27
|
pass
|
28
28
|
|
29
29
|
|
30
|
-
class TypedValuesAccessor(lang.Abstract, ta.
|
30
|
+
class TypedValuesAccessor(lang.Abstract, ta.Sequence[TypedValueT0]):
|
31
31
|
def __iter__(self):
|
32
32
|
raise TypeError(
|
33
33
|
'TypedValuesAccessor does not implement __iter__ - it is reserved for implementation by subclasses.',
|
@@ -36,7 +36,7 @@ class TypedValuesAccessor(lang.Abstract, ta.Generic[TypedValueT]):
|
|
36
36
|
#
|
37
37
|
|
38
38
|
@ta.final
|
39
|
-
def __contains__(self, cls: type[TypedValueU]) -> bool:
|
39
|
+
def __contains__(self, cls: type[TypedValueU]) -> bool: # type: ignore[override]
|
40
40
|
return self._typed_value_contains(cls)
|
41
41
|
|
42
42
|
@abc.abstractmethod
|
@@ -45,8 +45,8 @@ class TypedValuesAccessor(lang.Abstract, ta.Generic[TypedValueT]):
|
|
45
45
|
|
46
46
|
#
|
47
47
|
|
48
|
-
@ta.overload
|
49
|
-
def __getitem__(self, idx: int) ->
|
48
|
+
@ta.overload # type: ignore[override]
|
49
|
+
def __getitem__(self, idx: int) -> TypedValueT0:
|
50
50
|
...
|
51
51
|
|
52
52
|
@ta.overload
|
omlish/typedvalues/holder.py
CHANGED
@@ -8,20 +8,20 @@ from .generic import TypedValueGeneric
|
|
8
8
|
from .values import TypedValue
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
TypedValueT1 = ta.TypeVar('TypedValueT1', bound=TypedValue)
|
12
12
|
|
13
13
|
|
14
14
|
##
|
15
15
|
|
16
16
|
|
17
17
|
class TypedValueHolder(
|
18
|
-
TypedValuesAccessor[
|
19
|
-
TypedValueGeneric[
|
18
|
+
TypedValuesAccessor[TypedValueT1],
|
19
|
+
TypedValueGeneric[TypedValueT1],
|
20
20
|
lang.Abstract,
|
21
21
|
):
|
22
22
|
@property
|
23
23
|
@abc.abstractmethod
|
24
|
-
def _typed_values(self) -> TypedValues[
|
24
|
+
def _typed_values(self) -> TypedValues[TypedValueT1] | None:
|
25
25
|
raise NotImplementedError
|
26
26
|
|
27
27
|
#
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=orgsRvtpHu8tdhaCvlP9v3P495OJopYYiHKjK68WtWg,8587
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=JwUnRBh_MVapCgN8U8iae56nu3Vx67AkLzhPkLM7640,3478
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
|
5
5
|
omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
|
@@ -566,7 +566,7 @@ omlish/os/pidfiles/pinning.py,sha256=aQgCmvcAqN0lvI70GcSB2TKVX1G4vwbyN_AOHF3-eKE
|
|
566
566
|
omlish/reflect/__init__.py,sha256=64eHbD6zL6Fhp7FfXb8n9ZHywlODjBN3rm1LMvZ081A,822
|
567
567
|
omlish/reflect/inspect.py,sha256=WCo2YpBYauKw6k758FLlZ_H4Q05rgVPs96fEv9w6zHQ,1538
|
568
568
|
omlish/reflect/ops.py,sha256=RJ6jzrM4ieFsXzWyNXWV43O_WgzEaUvlHSc5N2ezW2A,2044
|
569
|
-
omlish/reflect/subst.py,sha256=
|
569
|
+
omlish/reflect/subst.py,sha256=CeOxa2v9pMqPlL039C348CBl1iDKWir1xykFC3xFfO8,3744
|
570
570
|
omlish/reflect/types.py,sha256=Cn9FYGoiCNt0FS0YLiTTAR12WKcesWMapCrVYcb8IDo,9225
|
571
571
|
omlish/secrets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
572
572
|
omlish/secrets/all.py,sha256=gv_d9SfyMxso30HsrSz9XmIrSZOdl3rLA5MSH0ZXfgM,486
|
@@ -849,17 +849,17 @@ omlish/text/antlr/_runtime/xpath/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G
|
|
849
849
|
omlish/text/go/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
850
850
|
omlish/text/go/quoting.py,sha256=N9EYdnFdEX_A8fOviH-1w4jwV3XOQ7VU2WsoUNubYVY,9137
|
851
851
|
omlish/typedvalues/__init__.py,sha256=nzpnoRW_wScMPit5Xz37ky3nKBdzzkgtnQA4SfVHN8E,684
|
852
|
-
omlish/typedvalues/accessor.py,sha256=
|
852
|
+
omlish/typedvalues/accessor.py,sha256=_NEGBmQ84-h_rDfYeoq7DA20fhj3dogQuvzxXKhjx54,3121
|
853
853
|
omlish/typedvalues/collection.py,sha256=a6Je_kmz2FlAV2dI92S7c_paXge0QExMynV-fD9oPrs,5823
|
854
854
|
omlish/typedvalues/consumer.py,sha256=peDQAgriSyBx_Hc8QHAhEgYy0oSS52qQ_7Tqdssl2AE,4375
|
855
855
|
omlish/typedvalues/generic.py,sha256=byWG_gMXhNelckUwdmOoJE9FKkL71Q4BSi4ZLyy0XZ0,788
|
856
|
-
omlish/typedvalues/holder.py,sha256=
|
856
|
+
omlish/typedvalues/holder.py,sha256=vu-umn-h1nvUqmtV5T9ZfQ_OoOYsERu8PhI2N48Ryns,1133
|
857
857
|
omlish/typedvalues/marshal.py,sha256=hWHRLcrGav7lvXJDtb9bNI0ickl4SKPQ6F4BbTpqw3A,4219
|
858
858
|
omlish/typedvalues/reflect.py,sha256=Ih1YgU-srUjsvBn_P7C66f73_VCvcwqE3ffeBnZBgt4,674
|
859
859
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
860
|
-
omlish-0.0.0.
|
861
|
-
omlish-0.0.0.
|
862
|
-
omlish-0.0.0.
|
863
|
-
omlish-0.0.0.
|
864
|
-
omlish-0.0.0.
|
865
|
-
omlish-0.0.0.
|
860
|
+
omlish-0.0.0.dev329.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
861
|
+
omlish-0.0.0.dev329.dist-info/METADATA,sha256=RxxJstMcBeaIHqBd5QKW_CW1ljHT00laXL0A3DnX8b4,4416
|
862
|
+
omlish-0.0.0.dev329.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
863
|
+
omlish-0.0.0.dev329.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
864
|
+
omlish-0.0.0.dev329.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
865
|
+
omlish-0.0.0.dev329.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|