19 lines
528 B
Python
19 lines
528 B
Python
|
|
from dataclasses import dataclass
|
||
|
|
from typing import Type, TypeVar
|
||
|
|
|
||
|
|
from dataclasses_json import DataClassJsonMixin
|
||
|
|
from dataclasses_json.core import Json, _decode_dataclass
|
||
|
|
|
||
|
|
A = TypeVar("A", bound="DataClassJsonMixin")
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class BaseModel(DataClassJsonMixin):
|
||
|
|
"""Base model class for instance use."""
|
||
|
|
|
||
|
|
@classmethod
|
||
|
|
def from_dict(cls: Type[A], kvs: Json, *, infer_missing=False) -> A:
|
||
|
|
# save original data for lookup
|
||
|
|
cls._json = kvs
|
||
|
|
return _decode_dataclass(cls, kvs, infer_missing)
|