Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BaseModel<TProps, FromSnapshotOverride, ToSnapshotOverride, ModelIdPropertyName>

Base abstract class for models. Use Model instead when extending.

Never override the constructor, use onInit or onAttachedToRootStore instead.

typeparam Data

Data type.

typeparam CreationData

Creation data type.

Type parameters

  • TProps: ModelProps

  • FromSnapshotOverride: {}

  • ToSnapshotOverride: {}

  • ModelIdPropertyName: string = never

    Model id property name.

Hierarchy

Index

Constructors

  • Creates an instance of a model.

    Type parameters

    • TProps: ModelProps

    • FromSnapshotOverride: {}

    • ToSnapshotOverride: {}

    • ModelIdPropertyName: string = never

    Parameters

    Returns BaseModel<TProps, FromSnapshotOverride, ToSnapshotOverride, ModelIdPropertyName>

Properties

$: Flatten<{ [ k in string | number | symbol]: TProps[k]["_internal"]["$valueType"] }>

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.

[fromSnapshotOverrideTypeSymbol]: FromSnapshotOverride
[modelIdPropertyNameSymbol]: ModelIdPropertyName
[propsTypeSymbol]: TProps
[toSnapshotOverrideTypeSymbol]: ToSnapshotOverride

Accessors

  • get $modelId(): [ModelIdPropertyName] extends [never] ? never : string
  • set $modelId(newId: [ModelIdPropertyName] extends [never] ? never : string): void
  • Model internal id. Can be modified inside a model action. It will return undefined if there's no id prop set.

    Returns [ModelIdPropertyName] extends [never] ? never : string

  • Model internal id. Can be modified inside a model action. It will return undefined if there's no id prop set.

    Parameters

    • newId: [ModelIdPropertyName] extends [never] ? never : string

    Returns void

Methods

  • getRefId(): undefined | string
  • 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

  • toString(options?: { withData?: boolean }): 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.

Generated using TypeDoc