mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
PyYAML: fix yaml.add_foo() functions (#5828)
Added / modified types for the following functions: - `add_implicit_resolver(...)` - `add_path_resolver(...)` - `add_constructor(...)` - `add_multi_constructor(...)` - `add_representer(...)` - `add_multi_representer(...)` * Remove yaml.add_constructor from allowlist * Use TypeVars and overloads
This commit is contained in:
committed by
GitHub
parent
7edad1034e
commit
64903b85d7
@@ -5,7 +5,6 @@ yaml.CDumper.__init__
|
||||
yaml.CEmitter
|
||||
yaml.CParser
|
||||
yaml.YAMLObjectMetaclass.__init__
|
||||
yaml.add_constructor
|
||||
yaml.constructor.FullConstructor.set_python_instance_state
|
||||
yaml.cyaml.CBaseDumper.__init__
|
||||
yaml.cyaml.CDangerDumper
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
import sys
|
||||
from typing import IO, Any, Callable, Iterator, Sequence, Text, Type, TypeVar, Union, overload
|
||||
from typing import IO, Any, Callable, Iterable, Iterator, Pattern, Sequence, Text, Type, TypeVar, Union, overload
|
||||
|
||||
from yaml.constructor import BaseConstructor
|
||||
from yaml.dumper import * # noqa: F403
|
||||
from yaml.error import * # noqa: F403
|
||||
from yaml.events import * # noqa: F403
|
||||
from yaml.loader import * # noqa: F403
|
||||
from yaml.nodes import * # noqa: F403
|
||||
from yaml.representer import BaseRepresenter
|
||||
from yaml.resolver import BaseResolver
|
||||
from yaml.tokens import * # noqa: F403
|
||||
|
||||
from . import resolver as resolver # Help mypy a bit; this is implied by loader and dumper
|
||||
@@ -23,7 +25,8 @@ __with_libyaml__: Any
|
||||
__version__: str
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_R = TypeVar("_R", bound=BaseRepresenter)
|
||||
_Constructor = TypeVar("_Constructor", bound=BaseConstructor)
|
||||
_Representer = TypeVar("_Representer", bound=BaseRepresenter)
|
||||
|
||||
def scan(stream, Loader=...): ...
|
||||
def parse(stream, Loader=...): ...
|
||||
@@ -258,12 +261,44 @@ def safe_dump(
|
||||
tags=...,
|
||||
sort_keys: bool = ...,
|
||||
) -> _Yaml: ...
|
||||
def add_implicit_resolver(tag, regexp, first=..., Loader=..., Dumper=...): ...
|
||||
def add_path_resolver(tag, path, kind=..., Loader=..., Dumper=...): ...
|
||||
def add_constructor(tag: _Str, constructor: Callable[[Loader, Node], Any], Loader: Loader = ...): ...
|
||||
def add_multi_constructor(tag_prefix, multi_constructor, Loader=...): ...
|
||||
def add_representer(data_type: Type[_T], representer: Callable[[_R, _T], Node], Dumper: Type[_R] = ...) -> None: ...
|
||||
def add_multi_representer(data_type: Type[_T], multi_representer: Callable[[_R, _T], Node], Dumper: Type[_R] = ...) -> None: ...
|
||||
def add_implicit_resolver(
|
||||
tag: _Str,
|
||||
regexp: Pattern[str],
|
||||
first: Iterable[Any] | None = ...,
|
||||
Loader: Type[BaseResolver] | None = ...,
|
||||
Dumper: Type[BaseResolver] = ...,
|
||||
) -> None: ...
|
||||
def add_path_resolver(
|
||||
tag: _Str,
|
||||
path: Iterable[Any],
|
||||
kind: Type[Any] | None = ...,
|
||||
Loader: Type[BaseResolver] | None = ...,
|
||||
Dumper: Type[BaseResolver] = ...,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def add_constructor(
|
||||
tag: _Str, constructor: Callable[[Loader | FullLoader | UnsafeLoader, Node], Any], Loader: None = ...
|
||||
) -> None: ...
|
||||
@overload
|
||||
def add_constructor(tag: _Str, constructor: Callable[[_Constructor, Node], Any], Loader: Type[_Constructor]) -> None: ...
|
||||
@overload
|
||||
def add_multi_constructor(
|
||||
tag_prefix: _Str, multi_constructor: Callable[[Loader | FullLoader | UnsafeLoader, _Str, Node], Any], Loader: None = ...
|
||||
) -> None: ...
|
||||
@overload
|
||||
def add_multi_constructor(
|
||||
tag_prefix: _Str, multi_constructor: Callable[[_Constructor, _Str, Node], Any], Loader: Type[_Constructor]
|
||||
) -> None: ...
|
||||
@overload
|
||||
def add_representer(data_type: Type[_T], representer: Callable[[Dumper, _T], Node]) -> None: ...
|
||||
@overload
|
||||
def add_representer(data_type: Type[_T], representer: Callable[[_Representer, _T], Node], Dumper: Type[_Representer]) -> None: ...
|
||||
@overload
|
||||
def add_multi_representer(data_type: Type[_T], multi_representer: Callable[[Dumper, _T], Node]) -> None: ...
|
||||
@overload
|
||||
def add_multi_representer(
|
||||
data_type: Type[_T], multi_representer: Callable[[_Representer, _T], Node], Dumper: Type[_Representer]
|
||||
) -> None: ...
|
||||
|
||||
class YAMLObjectMetaclass(type):
|
||||
def __init__(self, name, bases, kwds) -> None: ...
|
||||
|
||||
Reference in New Issue
Block a user