|
7 | 7 | .. autoclass:: T_co |
8 | 8 | .. autoclass:: ResultT |
9 | 9 | .. autoclass:: ShapeT |
| 10 | +.. autoclass:: NumpyTypeT |
10 | 11 |
|
11 | 12 | .. autoclass:: ObjectArray |
12 | 13 | .. autoclass:: ObjectArray0D |
|
99 | 100 |
|
100 | 101 | ResultT = TypeVar("ResultT") |
101 | 102 | ShapeT = TypeVar("ShapeT", bound=tuple[int, ...]) |
| 103 | +NumpyTypeT = TypeVar("NumpyTypeT", bound="np.generic[Any]") |
102 | 104 |
|
103 | 105 |
|
104 | 106 | class _ObjectArrayMetaclass(type): |
@@ -340,7 +342,37 @@ def from_numpy( |
340 | 342 | return cast("ObjectArray[ShapeT, T_co]", cast("object", ary)) |
341 | 343 |
|
342 | 344 |
|
343 | | -def new_1d(res_list: Sequence[T_co]) -> ObjectArray1D[T_co]: |
| 345 | +@overload |
| 346 | +def new_1d( # pyright: ignore[reportOverlappingOverload] |
| 347 | + res_list: np.ndarray[tuple[int], np.dtype[NumpyTypeT]] |
| 348 | + ) -> ObjectArray1D[NumpyTypeT]: ... |
| 349 | + |
| 350 | +@overload |
| 351 | +def new_1d( |
| 352 | + res_list: np.ndarray[tuple[int, int], np.dtype[NumpyTypeT]] |
| 353 | + ) -> ObjectArray1D[np.ndarray[tuple[int], np.dtype[NumpyTypeT]]]: ... |
| 354 | + |
| 355 | +@overload |
| 356 | +def new_1d( |
| 357 | + res_list: np.ndarray[tuple[int, int, int], np.dtype[NumpyTypeT]] |
| 358 | + ) -> ObjectArray1D[np.ndarray[tuple[int, int], np.dtype[NumpyTypeT]]]: ... |
| 359 | + |
| 360 | +@overload |
| 361 | +def new_1d( |
| 362 | + res_list: np.ndarray[tuple[int, ...], np.dtype[NumpyTypeT]] |
| 363 | + ) -> ObjectArray1D[np.ndarray[tuple[int, ...], np.dtype[NumpyTypeT]]]: ... |
| 364 | + |
| 365 | +@overload |
| 366 | +def new_1d(res_list: Sequence[T_co]) -> ObjectArray1D[T_co]: ... |
| 367 | + |
| 368 | + |
| 369 | +def new_1d( |
| 370 | + res_list: ( |
| 371 | + Sequence[T_co] |
| 372 | + | np.ndarray[tuple[int, ...], np.dtype[NumpyTypeT]] |
| 373 | + ) |
| 374 | + ) -> (ObjectArray1D[T_co] |
| 375 | + | ObjectArray1D[np.ndarray[tuple[int, ...], np.dtype[NumpyTypeT]]]): |
344 | 376 | """Create a one-dimensional object array from *res_list*. |
345 | 377 | This differs from ``numpy.array(res_list, dtype=object)`` |
346 | 378 | by whether it tries to determine its shape by descending |
|
0 commit comments