Class ObjectMap<V>

A map that is backed by an object-like map. Use objectMap to create it.

Type Parameters

  • V

Hierarchy

  • BaseModel<{
        $modelId: ModelIdProp<string> & {
            typedAs<T>(): ModelIdProp<T>;
        };
        items: OptionalModelProp<{
            [k: string]: TypeToData<S> extends infer R
                ? R
                : never;
        }>;
    }, never, never, "$modelId", this> & Omit<{
        $modelId: string;
        items: {
            [k: string]: TypeToData<S> extends infer R
                ? R
                : never;
        };
    }, BaseModelKeys> & {}
    • ObjectMap

Implements

  • Map<string, V>

Constructors

  • Type Parameters

    • V

    Parameters

    Returns ObjectMap<V>

Properties

$: {
    $modelId: string;
    items: {
        [k: string]: TypeToData<S> extends infer R
            ? R
            : never;
    };
}

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

  • $modelId: string
  • items: {
        [k: string]: TypeToData<S> extends infer R
            ? R
            : never;
    }
    • [k: string]: TypeToData<S> extends infer R
          ? R
          : never
$modelType: string

Model type name.

[fromSnapshotOverrideTypeSymbol]: never
[modelIdPropertyNameSymbol]: "$modelId"
[propsTypeSymbol]: {
    $modelId: ModelIdProp<string> & {
        typedAs<T>(): ModelIdProp<T>;
    };
    items: OptionalModelProp<{
        [k: string]: TypeToData<S> extends infer R
            ? R
            : never;
    }>;
}

Type declaration

[toSnapshotOverrideTypeSymbol]: never
[toStringTag]: "ObjectMap" = "ObjectMap"
items: {
    [k: string]: TypeToData<S> extends infer R
        ? R
        : never;
} = ...

Type declaration

  • [k: string]: TypeToData<S> extends infer R
        ? R
        : never

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

  • get size(): number
  • Returns number

Methods

  • Returns IterableIterator<[string, V]>

  • Returns void

  • Parameters

    • key: string

    Returns boolean

  • Returns IterableIterator<[string, V]>

  • Parameters

    • callbackfn: ((value, key, map) => void)
        • (value, key, map): void
        • Parameters

          • value: V
          • key: string
          • map: Map<string, V>

          Returns void

    • Optional thisArg: any

    Returns void

  • Parameters

    • key: string

    Returns undefined | V

  • 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

    • key: string

    Returns boolean

  • Returns IterableIterator<string>

  • Parameters

    • key: string
    • value: V

    Returns this

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

  • Returns IterableIterator<V>