UNPKG

mobx-keystone

Version:

A MobX powered state management solution based on data trees with first class support for TypeScript, snapshots, patches and much more

37 lines (36 loc) 1.4 kB
import { AnyDataModel } from '../dataModel/BaseDataModel'; import { AnyModel } from '../model/BaseModel'; import { ModelClass } from '../modelShared/BaseModelShared'; import { AnyStandardType, TypeToData } from '../types/schemas'; import { SnapshotInOf, SnapshotOutOf } from './SnapshotOf'; /** * From snapshot options. */ export interface FromSnapshotOptions { /** * Pass `true` to generate new internal ids for models rather than reusing them. (Default is `false`) */ generateNewIds: boolean; } /** * Given a type deserializes a data structure from its snapshot form. * * @template TType Object type. * @param type Type. * @param snapshot Snapshot, even if a primitive. * @param options Options. * @returns The deserialized object. */ export declare function fromSnapshot<TType extends AnyStandardType | ModelClass<AnyModel> | ModelClass<AnyDataModel>>(type: TType, snapshot: SnapshotInOf<TypeToData<TType>>, options?: Partial<FromSnapshotOptions>): TypeToData<TType>; /** * Deserializes a data structure from its snapshot form. * * @template T Object type. * @param snapshot Snapshot, even if a primitive. * @param options Options. * @returns The deserialized object. */ export declare function fromSnapshot<T>(snapshot: SnapshotInOf<T> | SnapshotOutOf<T>, options?: Partial<FromSnapshotOptions>): T; export declare const observableOptions: { deep: boolean; };