Interface AnyModel

Any kind of model instance.

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

Hierarchy (view full)

Properties

[fromSnapshotOverrideTypeSymbol]: any
[modelIdPropertyNameSymbol]: any
[propsTypeSymbol]: any
[toSnapshotOverrideTypeSymbol]: any
$: {}

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.

$modelType: string

Model type name.

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

    • Optionaloptions: {
          withData?: boolean;
      }
      • OptionalwithData?: 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.