Fix StringStore.__getitem__ return type depending on parameter types
* Fix StringStore.__getitem__ return type depending on parameter types
Small fix using  `@overload` so that `StringStore.__getitem__` returns an `int` when given a `str` or `bytes` and a `str` when given an `int`.
* Update spacy/strings.pyi
-from typing import Optional, Iterable, Iterator, Union, Any
+from typing import Optional, Iterable, Iterator, Union, Any, overload
from pathlib import Path
def get_string_id(key: Union[str, int]) -> int: ...
@@ -7,7 +7,10 @@ class StringStore:
def __init__(
self, strings: Optional[Iterable[str]] = ..., freeze: bool = ...
) -> None: ...
- def __getitem__(self, string_or_id: Union[bytes, str, int]) -> Union[str, int]: ...
+ @overload
+ def __getitem__(self, string_or_id: Union[bytes, str]) -> int: ...
+ @overload
+ def __getitem__(self, string_or_id: int) -> str: ...
def as_int(self, key: Union[bytes, str, int]) -> int: ...
def as_string(self, key: Union[bytes, str, int]) -> str: ...
def add(self, string: str) -> int: ...
