@@ -6,6 +6,7 @@ from typing import Any, Protocol, TypeAlias, type_check_only
6
6
from typing_extensions import TypeAliasType , TypeVar
7
7
8
8
import numpy as np
9
+ from numpy ._typing import _NestedSequence
9
10
10
11
__all__ = [
11
12
"Casts" ,
@@ -22,6 +23,7 @@ __all__ = [
22
23
23
24
###
24
25
26
+ _LikeT = TypeVar ("_LikeT" )
25
27
_LikeT_co = TypeVar ("_LikeT_co" , covariant = True )
26
28
27
29
_BuitinT = TypeVar ("_BuitinT" )
@@ -125,14 +127,16 @@ class _LikeScalar(Protocol[_LikeT_co]):
125
127
126
128
###
127
129
130
+ _SequenceND : TypeAlias = _LikeT | _NestedSequence [_LikeT ]
131
+
128
132
Casts = TypeAliasType (
129
133
"Casts" ,
130
- _LikeNumeric [_CanNEP50 [_ScalarOutT , Any , Any ], _ShapeT ],
134
+ _SequenceND [ _LikeNumeric [_CanNEP50 [_ScalarOutT , Any , Any ], _ShapeT ] ],
131
135
type_params = (_ScalarOutT , _ShapeT ),
132
136
)
133
137
CastsArray = TypeAliasType (
134
138
"CastsArray" ,
135
- _LikeArray [_CanNEP50 [_ScalarOutT , Any , Any ], _ShapeT ],
139
+ _SequenceND [ _LikeArray [_CanNEP50 [_ScalarOutT , Any , Any ], _ShapeT ] ],
136
140
type_params = (_ScalarOutT , _ShapeT ),
137
141
)
138
142
CastsScalar = TypeAliasType (
@@ -154,12 +158,12 @@ _CastWith: TypeAlias = (
154
158
)
155
159
CastsWith = TypeAliasType (
156
160
"CastsWith" ,
157
- _LikeNumeric [_CastWith [_ScalarInT , _ScalarOutT ], _ShapeT ],
161
+ _SequenceND [ _LikeNumeric [_CastWith [_ScalarInT , _ScalarOutT ], _ShapeT ] ],
158
162
type_params = (_ScalarInT , _ScalarOutT , _ShapeT ),
159
163
)
160
164
CastsWithArray = TypeAliasType (
161
165
"CastsWithArray" ,
162
- _LikeArray [_CastWith [_ScalarInT , _ScalarOutT ], _ShapeT ],
166
+ _SequenceND [ _LikeArray [_CastWith [_ScalarInT , _ScalarOutT ], _ShapeT ] ],
163
167
type_params = (_ScalarInT , _ScalarOutT , _ShapeT ),
164
168
)
165
169
CastsWithScalar = TypeAliasType (
0 commit comments