Interface AnyModel

Any kind of model instance.

interface AnyModel {
    $: {};
    $modelType: string;
    [fromSnapshotOverrideTypeSymbol]: any;
    [modelIdPropertyNameSymbol]: any;
    [propsTypeSymbol]: any;
    [toSnapshotOverrideTypeSymbol]: any;
    $modelId: ModelIdPropertyType<TProps, ModelIdPropertyName>;
    getRefId(): undefined | string;
    toString(options?): string;
    typeCheck(): null | TypeCheckError;
}

Hierarchy (view full)

Properties

$: {}

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.

Type declaration

    $modelType: string

    Model type name.

    [fromSnapshotOverrideTypeSymbol]: any
    [modelIdPropertyNameSymbol]: any
    [propsTypeSymbol]: any
    [toSnapshotOverrideTypeSymbol]: any

    Accessors

    • get $modelId(): ModelIdPropertyType<TProps, ModelIdPropertyName>
    • Model internal id. Can be modified inside a model action. It will return undefined if there's no id prop set.

      Returns ModelIdPropertyType<TProps, ModelIdPropertyName>

    • set $modelId(newId): void
    • Parameters

      Returns void

    Methods

    • Can be overridden to offer a reference id to be used in reference resolution. By default it will use the idProp if available or return undefined otherwise.

      Returns undefined | string

    • Parameters

      • Optional options: {
            withData?: boolean;
        }
        • Optional withData?: boolean

      Returns string

    • 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 null | TypeCheckError

      A TypeCheckError or null if there is no error.