some random stuff. caelestia incoming
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
from collections.abc import Callable
|
||||
from typing import Any, Literal, Optional, Type, TypedDict, Union
|
||||
|
||||
from mashumaro.core.const import Sentinel
|
||||
from mashumaro.dialect import Dialect
|
||||
from mashumaro.types import Discriminator, SerializationStrategy
|
||||
|
||||
__all__ = [
|
||||
"BaseConfig",
|
||||
"TO_DICT_ADD_BY_ALIAS_FLAG",
|
||||
"TO_DICT_ADD_OMIT_NONE_FLAG",
|
||||
"ADD_DIALECT_SUPPORT",
|
||||
"ADD_SERIALIZATION_CONTEXT",
|
||||
"SerializationStrategyValueType",
|
||||
]
|
||||
|
||||
|
||||
TO_DICT_ADD_BY_ALIAS_FLAG = "TO_DICT_ADD_BY_ALIAS_FLAG"
|
||||
TO_DICT_ADD_OMIT_NONE_FLAG = "TO_DICT_ADD_OMIT_NONE_FLAG"
|
||||
ADD_DIALECT_SUPPORT = "ADD_DIALECT_SUPPORT"
|
||||
ADD_SERIALIZATION_CONTEXT = "ADD_SERIALIZATION_CONTEXT"
|
||||
|
||||
|
||||
CodeGenerationOption = Literal[
|
||||
"TO_DICT_ADD_BY_ALIAS_FLAG",
|
||||
"TO_DICT_ADD_OMIT_NONE_FLAG",
|
||||
"ADD_DIALECT_SUPPORT",
|
||||
"ADD_SERIALIZATION_CONTEXT",
|
||||
]
|
||||
|
||||
|
||||
class SerializationStrategyDict(TypedDict, total=False):
|
||||
serialize: Union[str, Callable]
|
||||
deserialize: Union[str, Callable]
|
||||
|
||||
|
||||
SerializationStrategyValueType = Union[
|
||||
SerializationStrategy, SerializationStrategyDict
|
||||
]
|
||||
|
||||
|
||||
class BaseConfig:
|
||||
debug: bool = False
|
||||
code_generation_options: list[CodeGenerationOption] = []
|
||||
serialization_strategy: dict[Any, SerializationStrategyValueType] = {}
|
||||
aliases: dict[str, str] = {}
|
||||
serialize_by_alias: Union[bool, Literal[Sentinel.MISSING]] = (
|
||||
Sentinel.MISSING
|
||||
)
|
||||
namedtuple_as_dict: Union[bool, Literal[Sentinel.MISSING]] = (
|
||||
Sentinel.MISSING
|
||||
)
|
||||
allow_postponed_evaluation: bool = True
|
||||
dialect: Optional[Type[Dialect]] = None
|
||||
omit_none: Union[bool, Literal[Sentinel.MISSING]] = Sentinel.MISSING
|
||||
omit_default: Union[bool, Literal[Sentinel.MISSING]] = Sentinel.MISSING
|
||||
orjson_options: Optional[int] = 0
|
||||
json_schema: dict[str, Any] = {}
|
||||
discriminator: Optional[Discriminator] = None
|
||||
lazy_compilation: bool = False
|
||||
sort_keys: bool = False
|
||||
allow_deserialization_not_by_alias: bool = False
|
||||
forbid_extra_keys: bool = False
|
||||
Reference in New Issue
Block a user