Abstract Class: BaseDataModel<TProps>
Base abstract class for data models. Use DataModel instead when extending.
Never override the constructor, use onLazyInit instead.
Template
Data
Props data type.
Extended by
Type Parameters
| Type Parameter |
|---|
TProps extends ModelProps |
Constructors
Constructor
new BaseDataModel<TProps>(data): BaseDataModel<TProps>;
Creates an instance of a data model.
Parameters
| Parameter | Type |
|---|---|
data | | ModelPropsToUntransformedCreationData<TProps> | ModelPropsToTransformedCreationData<TProps> |
Returns
BaseDataModel<TProps>
Properties
[propsTypeSymbol]
[propsTypeSymbol]: TProps;
$
readonly $: Flatten<{ [k in string | number | symbol]: ModelPropStoredValue<TProps[k]> }>;
Data part of the model, which is observable and will be serialized in snapshots. Use it if one of the data properties matches one of the model properties/functions. This also allows access to the backed values of transformed properties.
Methods
toString()
toString(options?): string;
Parameters
| Parameter | Type |
|---|---|
options? | { withData?: boolean; } |
options.withData? | boolean |
Returns
string
typeCheck()
typeCheck(): TypeCheckError | null;
Performs a type check over the model instance. For this to work a data type has to be declared as part of the model properties.
Returns
TypeCheckError | null
A TypeCheckError or null if there is no error.