1import datetime 2from _typeshed import SupportsItems 3from collections.abc import Callable, Iterable, Mapping 4from types import BuiltinFunctionType, FunctionType, ModuleType 5from typing import Any, ClassVar, NoReturn, Type, TypeVar 6 7from yaml.error import YAMLError as YAMLError 8from yaml.nodes import MappingNode as MappingNode, Node as Node, ScalarNode as ScalarNode, SequenceNode as SequenceNode 9 10_T = TypeVar("_T") 11_R = TypeVar("_R", bound=BaseRepresenter) 12 13class RepresenterError(YAMLError): ... 14 15class 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 19 sort_keys: bool 20 default_flow_style: bool 21 represented_objects: dict[int, Node] 22 object_keeper: list[Any] 23 alias_key: int | 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: ... 27 @classmethod 28 def add_representer(cls: Type[_R], data_type: Type[_T], representer: Callable[[_R, _T], Node]) -> None: ... 29 @classmethod 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 = ... 35 ) -> MappingNode: ... 36 def ignore_aliases(self, data) -> bool: ... 37 38class 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: ... 54 55class 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: ... 62