2 from _typeshed import SupportsItems
3 from collections.abc import Callable, Iterable, Mapping
4 from types import BuiltinFunctionType, FunctionType, ModuleType
5 from typing import Any, ClassVar, NoReturn, Type, TypeVar
7 from yaml.error import YAMLError as YAMLError
8 from yaml.nodes import MappingNode as MappingNode, Node as Node, ScalarNode as ScalarNode, SequenceNode as SequenceNode
11 _R = TypeVar("_R", bound=BaseRepresenter)
13 class RepresenterError(YAMLError): ...
15 class BaseRepresenter:
16 yaml_representers: ClassVar[dict[Type[Any], Callable[[BaseRepresenter, Any], Node]]]
17 yaml_multi_representers: ClassVar[dict[Type[Any], Callable[[BaseRepresenter, Any], Node]]]
18 default_style: str | Any
20 default_flow_style: bool
21 represented_objects: dict[int, Node]
22 object_keeper: list[Any]
24 def __init__(self, default_style: str | None = ..., default_flow_style: bool = ..., sort_keys: bool = ...) -> None: ...
25 def represent(self, data) -> None: ...
26 def represent_data(self, data) -> Node: ...
28 def add_representer(cls: Type[_R], data_type: Type[_T], representer: Callable[[_R, _T], Node]) -> None: ...
30 def add_multi_representer(cls: Type[_R], data_type: Type[_T], representer: Callable[[_R, _T], Node]) -> None: ...
31 def represent_scalar(self, tag: str, value, style: str | None = ...) -> ScalarNode: ...
32 def represent_sequence(self, tag: str, sequence: Iterable[Any], flow_style: bool | None = ...) -> SequenceNode: ...
33 def represent_mapping(
34 self, tag: str, mapping: SupportsItems[Any, Any] | Iterable[tuple[Any, Any]], flow_style: bool | None = ...
36 def ignore_aliases(self, data) -> bool: ...
38 class SafeRepresenter(BaseRepresenter):
39 inf_value: ClassVar[float]
40 def ignore_aliases(self, data) -> bool: ...
41 def represent_none(self, data) -> ScalarNode: ...
42 def represent_str(self, data: str) -> ScalarNode: ...
43 def represent_binary(self, data: bytes) -> ScalarNode: ...
44 def represent_bool(self, data: bool) -> ScalarNode: ...
45 def represent_int(self, data: int) -> ScalarNode: ...
46 def represent_float(self, data: float) -> ScalarNode: ...
47 def represent_list(self, data: Iterable[Any]) -> SequenceNode: ...
48 def represent_dict(self, data: SupportsItems[Any, Any] | Iterable[tuple[Any, Any]]) -> MappingNode: ...
49 def represent_set(self, data: Iterable[Any]) -> MappingNode: ...
50 def represent_date(self, data: datetime.date) -> ScalarNode: ...
51 def represent_datetime(self, data: datetime.datetime) -> ScalarNode: ...
52 def represent_yaml_object(self, tag: str, data, cls, flow_style: bool | None = ...) -> MappingNode: ...
53 def represent_undefined(self, data) -> NoReturn: ...
55 class Representer(SafeRepresenter):
56 def represent_complex(self, data: complex) -> ScalarNode: ...
57 def represent_tuple(self, data: Iterable[Any]) -> SequenceNode: ...
58 def represent_name(self, data: BuiltinFunctionType | FunctionType) -> ScalarNode: ...
59 def represent_module(self, data: ModuleType) -> ScalarNode: ...
60 def represent_object(self, data) -> SequenceNode | MappingNode: ...
61 def represent_ordered_dict(self, data: Mapping[Any, Any]) -> SequenceNode: ...