UNPKG

mobx-keystone-mindreframer

Version:

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

29 lines (28 loc) 1.03 kB
export declare const cannotSerialize: unique symbol; /** * Serializer of action call arguments. */ export interface ActionCallArgumentSerializer<TOriginal, TSerialized> { /** * Serializer ID, must be unique. */ id: string; /** * Serializes an action call argument, returning `cannotSerialize` if not possible. * * @param value Value to serialize. * @param targetRoot Target root, if provided. * @param serializeChild Serialize a child. * @returns */ serialize(value: unknown, serializeChild: (v: unknown) => unknown, targetRoot: object | undefined): TSerialized | typeof cannotSerialize; /** * Deserializes an action call argument. * * @param value Value to deserialize. * @param targetRoot Target root, if provided. * @param deserializeChild Deserialize a child. * @returns */ deserialize(value: TSerialized, deserializeChild: (v: unknown) => unknown, targetRoot: object | undefined): TOriginal; }