Skip to content

Commit 28a54cc

Browse files
authored
refactor: Simplify types overloads (#219)
* fix: `binary` overlap * fix: Simplify list constructors, `_Ordered` * refactor: Use `_Tz` default
1 parent e2ad3c5 commit 28a54cc

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

pyarrow-stubs/__lib_pxi/types.pyi

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ _IndexT = TypeVar(
164164
)
165165
_BasicValueT = TypeVar("_BasicValueT", bound=_BasicDataType)
166166
_ValueT = TypeVar("_ValueT", bound=DataType)
167-
_Ordered = TypeVar("_Ordered", bound=Literal[True, False], default=Literal[False])
167+
_Ordered = TypeVar("_Ordered", Literal[True], Literal[False], default=Literal[False])
168168

169169
class DictionaryType(DataType, Generic[_IndexT, _BasicValueT, _Ordered]):
170170
@property
@@ -380,7 +380,7 @@ def uint64() -> Uint64Type: ...
380380
def tzinfo_to_string(tz: dt.tzinfo) -> str: ...
381381
def string_to_tzinfo(name: str) -> dt.tzinfo: ...
382382
@overload
383-
def timestamp(unit: _Unit) -> TimestampType[_Unit, None]: ...
383+
def timestamp(unit: _Unit) -> TimestampType[_Unit, _Tz]: ...
384384
@overload
385385
def timestamp(unit: _Unit, tz: _Tz) -> TimestampType[_Unit, _Tz]: ...
386386
def time32(unit: _Time32Unit) -> Time32Type[_Time32Unit]: ...
@@ -413,9 +413,7 @@ def string() -> StringType: ...
413413
utf8 = string
414414

415415
@overload
416-
def binary() -> BinaryType: ...
417-
@overload
418-
def binary(length: Literal[-1]) -> BinaryType: ... # type: ignore[overload-overlap]
416+
def binary(length: Literal[-1] = ...) -> BinaryType: ...
419417
@overload
420418
def binary(length: int) -> FixedSizeBinaryType: ...
421419
def large_binary() -> LargeBinaryType: ...
@@ -433,28 +431,21 @@ def list_(
433431
def list_(
434432
value_type: _DataTypeT | Field[_DataTypeT], list_size: _Size
435433
) -> FixedSizeListType[_DataTypeT, _Size]: ...
434+
def large_list(value_type: _DataTypeT | Field[_DataTypeT]) -> LargeListType[_DataTypeT]: ...
435+
def list_view(value_type: _DataTypeT | Field[_DataTypeT]) -> ListViewType[_DataTypeT]: ...
436+
def large_list_view(
437+
value_type: _DataTypeT | Field[_DataTypeT],
438+
) -> LargeListViewType[_DataTypeT]: ...
436439
@overload
437-
def large_list(value_type: Field[_DataTypeT]) -> LargeListType[_DataTypeT]: ...
438-
@overload
439-
def large_list(value_type: _DataTypeT) -> LargeListType[_DataTypeT]: ...
440-
@overload
441-
def list_view(value_type: Field[_DataTypeT]) -> ListViewType[_DataTypeT]: ...
442-
@overload
443-
def list_view(value_type: _DataTypeT) -> ListViewType[_DataTypeT]: ...
444-
@overload
445-
def large_list_view(value_type: Field[_DataTypeT]) -> LargeListViewType[_DataTypeT]: ...
446-
@overload
447-
def large_list_view(value_type: _DataTypeT) -> LargeListViewType[_DataTypeT]: ...
448-
@overload
449-
def map_(key_type: _K, item_type: _ValueT) -> MapType[_K, _ValueT, Literal[False]]: ...
440+
def map_(key_type: _K, item_type: _ValueT) -> MapType[_K, _ValueT, _Ordered]: ...
450441
@overload
451442
def map_(
452443
key_type: _K, item_type: _ValueT, key_sorted: _Ordered
453444
) -> MapType[_K, _ValueT, _Ordered]: ...
454445
@overload
455446
def dictionary(
456447
index_type: _IndexT, value_type: _BasicValueT
457-
) -> DictionaryType[_IndexT, _BasicValueT, Literal[False]]: ...
448+
) -> DictionaryType[_IndexT, _BasicValueT, _Ordered]: ...
458449
@overload
459450
def dictionary(
460451
index_type: _IndexT, value_type: _BasicValueT, ordered: _Ordered

0 commit comments

Comments
 (0)