You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
902 B

from typing import Any, TypeVar, Union
from . import NODEFAULT, Struct
S = TypeVar("S", bound=Struct)
def replace(struct: S, /, **changes: Any) -> S: ...
def asdict(struct: Struct) -> dict[str, Any]: ...
def astuple(struct: Struct) -> tuple[Any, ...]: ...
def force_setattr(struct: Struct, name: str, value: Any) -> None: ...
class StructConfig:
frozen: bool
eq: bool
order: bool
array_like: bool
gc: bool
repr_omit_defaults: bool
omit_defaults: bool
forbid_unknown_fields: bool
weakref: bool
dict: bool
cache_hash: bool
tag: Union[str, int, None]
tag_field: Union[str, None]
class FieldInfo(Struct):
name: str
encode_name: str
type: Any
default: Any = NODEFAULT
default_factory: Any = NODEFAULT
@property
def required(self) -> bool: ...
def fields(type_or_instance: Struct | type[Struct]) -> tuple[FieldInfo]: ...