Type Loader parameter in PyYAML/yaml (#9752)

This commit is contained in:
Avasam
2023-02-19 14:22:14 -05:00
committed by GitHub
parent 39fcd396ce
commit d92332d120
4 changed files with 20 additions and 11 deletions

View File

@@ -6,12 +6,14 @@ from typing_extensions import TypeAlias
from . import resolver as resolver # Help mypy a bit; this is implied by loader and dumper
from .constructor import BaseConstructor
from .cyaml import *
from .cyaml import _CLoader
from .dumper import *
from .dumper import _Inf
from .emitter import _WriteStream
from .error import *
from .events import *
from .loader import *
from .loader import _Loader
from .nodes import *
from .reader import _ReadStream
from .representer import BaseRepresenter
@@ -21,20 +23,20 @@ from .tokens import *
# FIXME: the functions really return str if encoding is None, otherwise bytes. Waiting for python/mypy#5621
_Yaml: TypeAlias = Any
__with_libyaml__: Any
__version__: str
_T = TypeVar("_T")
_Constructor = TypeVar("_Constructor", bound=BaseConstructor)
_Representer = TypeVar("_Representer", bound=BaseRepresenter)
__with_libyaml__: bool
__version__: str
def warnings(settings=...): ...
def scan(stream, Loader=...): ...
def parse(stream, Loader=...): ...
def compose(stream, Loader=...): ...
def compose_all(stream, Loader=...): ...
def load(stream: _ReadStream, Loader) -> Any: ...
def load_all(stream: _ReadStream, Loader) -> Iterator[Any]: ...
def scan(stream, Loader: type[_Loader | _CLoader] = ...): ...
def parse(stream, Loader: type[_Loader | _CLoader] = ...): ...
def compose(stream, Loader: type[_Loader | _CLoader] = ...): ...
def compose_all(stream, Loader: type[_Loader | _CLoader] = ...): ...
def load(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Any: ...
def load_all(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Iterator[Any]: ...
def full_load(stream: _ReadStream) -> Any: ...
def full_load_all(stream: _ReadStream) -> Iterator[Any]: ...
def safe_load(stream: _ReadStream) -> Any: ...

View File

@@ -5,10 +5,12 @@ from typing import Any, ClassVar, TypeVar
from typing_extensions import TypeAlias
from yaml.error import MarkedYAMLError
from yaml.loader import BaseLoader, FullLoader, Loader, SafeLoader, UnsafeLoader
from yaml.nodes import MappingNode, Node, ScalarNode, SequenceNode
_L = TypeVar("_L", bound=Loader | BaseLoader | FullLoader | SafeLoader | UnsafeLoader)
from .cyaml import _CLoader
from .loader import _Loader
_L = TypeVar("_L", bound=_Loader | _CLoader)
_N = TypeVar("_N", bound=Node)
_Scalar: TypeAlias = str | int | float | bool | None

View File

@@ -11,6 +11,7 @@ from .resolver import BaseResolver, Resolver
__all__ = ["CBaseLoader", "CSafeLoader", "CFullLoader", "CUnsafeLoader", "CLoader", "CBaseDumper", "CSafeDumper", "CDumper"]
_Readable: TypeAlias = SupportsRead[str | bytes]
_CLoader: TypeAlias = CLoader | CBaseLoader | CFullLoader | CSafeLoader | CUnsafeLoader # noqa: Y047 # Used in other modules
class CBaseLoader(CParser, BaseConstructor, BaseResolver):
def __init__(self, stream: str | bytes | _Readable) -> None: ...

View File

@@ -1,3 +1,5 @@
from typing_extensions import TypeAlias
from yaml.composer import Composer
from yaml.constructor import BaseConstructor, Constructor, FullConstructor, SafeConstructor
from yaml.parser import Parser
@@ -7,6 +9,8 @@ from yaml.scanner import Scanner
from .reader import _ReadStream
_Loader: TypeAlias = Loader | BaseLoader | FullLoader | SafeLoader | UnsafeLoader # noqa: Y047 # Used in other modules
class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver):
def __init__(self, stream: _ReadStream) -> None: ...