1 # SPDX-License-Identifier: LGPL-3-or-later
2 # Copyright 2022 Jacob Lifshay programmerjake@gmail.com
4 from typing import TypeVar, Type, Callable, Any
9 class FrozenPlainDataError(AttributeError):
13 def plain_data(*, eq: bool = True, unsafe_hash: bool = False,
14 order: bool = False, repr: bool = True,
15 frozen: bool = False) -> Callable[[Type[_T]], Type[_T]]:
19 def fields(pd: Any) -> tuple[str, ...]:
23 def replace(pd: _T, **changes: Any) -> _T: