Skip to main content

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​

ParameterType
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​

ParameterType
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.