Source code for record_convertor.package_settings.protocol
from dataclasses import Field
from typing import Any, ClassVar, Protocol
from .package_types import BaseRuleDict, FormatDateRuleDict, RulesDict
__all__ = [
"RecordConvertorProtocol",
"FieldConvertorProtocol",
"DateFormatProtocol",
"DataclassInstance",
]
[docs]
class RecordConvertorProtocol(Protocol):
[docs]
def convert(self, record: dict) -> dict: ...
[docs]
def get_record_convertor_copy_with_new_rules(
self, new_rules: RulesDict
) -> "RecordConvertorProtocol": ...
[docs]
class FieldConvertorProtocol(Protocol):
[docs]
def convert_field(self, record: dict, conversion_rule: BaseRuleDict) -> dict: ...
[docs]
class DataclassInstance(Protocol):
__dataclass_fields__: ClassVar[dict[str, Field[Any]]]