diff --git a/stdlib/3/json.pyi b/stdlib/3/json.pyi deleted file mode 100644 index 5dad703f2..000000000 --- a/stdlib/3/json.pyi +++ /dev/null @@ -1,88 +0,0 @@ -from typing import Any, IO, Iterator, Optional, Tuple, Callable, Dict, List, Union - -class JSONDecodeError(ValueError): - def dumps(self, obj: Any) -> str: ... - def dump(self, obj: Any, fp: IO[str], *args: Any, **kwds: Any) -> None: ... - def loads(self, s: str) -> Any: ... - def load(self, fp: IO[str]) -> Any: ... - -def dumps(obj: Any, - skipkeys: bool = ..., - ensure_ascii: bool = ..., - check_circular: bool = ..., - allow_nan: bool = ..., - cls: Any = ..., - indent: Union[None, int, str] = ..., - separators: Optional[Tuple[str, str]] = ..., - default: Optional[Callable[[Any], Any]] = ..., - sort_keys: bool = ..., - **kwds: Any) -> str: ... - -def dump(obj: Any, - fp: IO[str], - skipkeys: bool = ..., - ensure_ascii: bool = ..., - check_circular: bool = ..., - allow_nan: bool = ..., - cls: Any = ..., - indent: Union[None, int, str] = ..., - separators: Optional[Tuple[str, str]] = ..., - default: Optional[Callable[[Any], Any]] = ..., - sort_keys: bool = ..., - **kwds: Any) -> None: ... - -def loads(s: Union[str, bytes, bytearray], - encoding: Any = ..., # ignored and deprecated - cls: Any = ..., - object_hook: Optional[Callable[[Dict], Any]] = ..., - parse_float: Optional[Callable[[str], Any]] = ..., - parse_int: Optional[Callable[[str], Any]] = ..., - parse_constant: Optional[Callable[[str], Any]] = ..., - object_pairs_hook: Optional[Callable[[List[Tuple[Any, Any]]], Any]] = ..., - **kwds: Any) -> Any: ... - -def load(fp: IO[str], - cls: Any = ..., - object_hook: Optional[Callable[[Dict], Any]] = ..., - parse_float: Optional[Callable[[str], Any]] = ..., - parse_int: Optional[Callable[[str], Any]] = ..., - parse_constant: Optional[Callable[[str], Any]] = ..., - object_pairs_hook: Optional[Callable[[List[Tuple[Any, Any]]], Any]] = ..., - **kwds: Any) -> Any: ... - -class JSONEncoder: - item_separator = ... # type: str - key_separator = ... # type: str - - skipkeys = ... # type: bool - ensure_ascii = ... # type: bool - check_circular = ... # type: bool - allow_nan = ... # type: bool - sort_keys = ... # type: bool - indent = None # type: int - - def __init__(self, skipkeys: bool=..., ensure_ascii: bool=..., - check_circular: bool=..., allow_nan: bool=..., sort_keys: bool=..., - indent: int=None, separators: Tuple[str, str]=None, default: Callable=None) -> None: ... - - def default(self, o: Any) -> Any: ... - def encode(self, o: Any) -> str: ... - def iterencode(self, o: Any, _one_shot: bool=False) -> Iterator[str]: ... - -class JSONDecoder: - - object_hook = None # type: Callable[[Dict[str, Any]], Any] - parse_float = ... # Callable[[str], Any] - parse_int = ... # Callable[[str], Any] - parse_constant = ... # Callable[[str], Any] - strict = ... # type: bool - object_pairs_hook = None # type: Callable[[List[Tuple[str, Any]]], Any] - - def __init__(self, object_hook: Callable[[Dict[str, Any]], Any]=None, - parse_float: Callable[[str], Any]=None, - parse_int: Callable[[str], Any]=None, - parse_constant: Callable[[str], Any]=None, - strict: bool=True, - object_pairs_hook: Callable[[List[Tuple[str, Any]]], Any]=None) -> None: ... - def decode(self, s: str) -> Any: ... - def raw_decode(self, s: str, idx: int=...) -> Tuple[Any, int]: ... diff --git a/stdlib/3/json/__init__.pyi b/stdlib/3/json/__init__.pyi new file mode 100644 index 000000000..ccd121dc9 --- /dev/null +++ b/stdlib/3/json/__init__.pyi @@ -0,0 +1,51 @@ +import sys +from typing import Any, IO, Optional, Tuple, Callable, Dict, List, Union + +from .decoder import JSONDecoder +from .encoder import JSONEncoder +if sys.version_info >= (3, 5): + from .decoder import JSONDecodeError + +def dumps(obj: Any, + skipkeys: bool = ..., + ensure_ascii: bool = ..., + check_circular: bool = ..., + allow_nan: bool = ..., + cls: Any = ..., + indent: Union[None, int, str] = ..., + separators: Optional[Tuple[str, str]] = ..., + default: Optional[Callable[[Any], Any]] = ..., + sort_keys: bool = ..., + **kwds: Any) -> str: ... + +def dump(obj: Any, + fp: IO[str], + skipkeys: bool = ..., + ensure_ascii: bool = ..., + check_circular: bool = ..., + allow_nan: bool = ..., + cls: Any = ..., + indent: Union[None, int, str] = ..., + separators: Optional[Tuple[str, str]] = ..., + default: Optional[Callable[[Any], Any]] = ..., + sort_keys: bool = ..., + **kwds: Any) -> None: ... + +def loads(s: Union[str, bytes, bytearray], + encoding: Any = ..., # ignored and deprecated + cls: Any = ..., + object_hook: Optional[Callable[[Dict], Any]] = ..., + parse_float: Optional[Callable[[str], Any]] = ..., + parse_int: Optional[Callable[[str], Any]] = ..., + parse_constant: Optional[Callable[[str], Any]] = ..., + object_pairs_hook: Optional[Callable[[List[Tuple[Any, Any]]], Any]] = ..., + **kwds: Any) -> Any: ... + +def load(fp: IO[str], + cls: Any = ..., + object_hook: Optional[Callable[[Dict], Any]] = ..., + parse_float: Optional[Callable[[str], Any]] = ..., + parse_int: Optional[Callable[[str], Any]] = ..., + parse_constant: Optional[Callable[[str], Any]] = ..., + object_pairs_hook: Optional[Callable[[List[Tuple[Any, Any]]], Any]] = ..., + **kwds: Any) -> Any: ... diff --git a/stdlib/3/json/decoder.pyi b/stdlib/3/json/decoder.pyi new file mode 100644 index 000000000..919039eac --- /dev/null +++ b/stdlib/3/json/decoder.pyi @@ -0,0 +1,28 @@ +import sys +from typing import Any, Callable, Dict, List, Tuple + +if sys.version_info >= (3, 5): + class JSONDecodeError(ValueError): + msg: str + doc: str + pos: int + lineno: int + colno: int + def __init__(self, msg: str, doc: str, pos: int) -> None: ... + +class JSONDecoder: + object_hook = None # type: Callable[[Dict[str, Any]], Any] + parse_float = ... # Callable[[str], Any] + parse_int = ... # Callable[[str], Any] + parse_constant = ... # Callable[[str], Any] + strict = ... # type: bool + object_pairs_hook = None # type: Callable[[List[Tuple[str, Any]]], Any] + + def __init__(self, object_hook: Callable[[Dict[str, Any]], Any]=None, + parse_float: Callable[[str], Any]=None, + parse_int: Callable[[str], Any]=None, + parse_constant: Callable[[str], Any]=None, + strict: bool=True, + object_pairs_hook: Callable[[List[Tuple[str, Any]]], Any]=None) -> None: ... + def decode(self, s: str) -> Any: ... + def raw_decode(self, s: str, idx: int=...) -> Tuple[Any, int]: ... diff --git a/stdlib/3/json/encoder.pyi b/stdlib/3/json/encoder.pyi new file mode 100644 index 000000000..f75304dba --- /dev/null +++ b/stdlib/3/json/encoder.pyi @@ -0,0 +1,20 @@ +from typing import Any, Callable, Iterator, Tuple + +class JSONEncoder: + item_separator = ... # type: str + key_separator = ... # type: str + + skipkeys = ... # type: bool + ensure_ascii = ... # type: bool + check_circular = ... # type: bool + allow_nan = ... # type: bool + sort_keys = ... # type: bool + indent = None # type: int + + def __init__(self, skipkeys: bool=..., ensure_ascii: bool=..., + check_circular: bool=..., allow_nan: bool=..., sort_keys: bool=..., + indent: int=None, separators: Tuple[str, str]=None, default: Callable=None) -> None: ... + + def default(self, o: Any) -> Any: ... + def encode(self, o: Any) -> str: ... + def iterencode(self, o: Any, _one_shot: bool=False) -> Iterator[str]: ...