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

30 lines (29 loc) 1.31 kB
import { Patch } from './Patch'; /** * A function that gets called when a patch is emitted. */ export type OnPatchesListener = (patches: Patch[], inversePatches: Patch[]) => void; /** * A function that gets called when a global patch is emitted. */ export type OnGlobalPatchesListener = (target: object, patches: Patch[], inversePatches: Patch[]) => void; /** * Disposer function to stop listening to patches. */ export type OnPatchesDisposer = () => void; /** * Adds a listener that will be called every time a patch is generated for the tree of the given target object. * * @param subtreeRoot Subtree root object of the patch listener. * @param listener The listener function that will be called everytime a patch is generated for the object or its children. * @returns A disposer to stop listening to patches. */ export declare function onPatches(subtreeRoot: object, listener: OnPatchesListener): OnPatchesDisposer; /** * Adds a listener that will be called every time a patch is generated anywhere. * Usually prefer using `onPatches`. * * @param listener The listener function that will be called everytime a patch is generated anywhere. * @returns A disposer to stop listening to patches. */ export declare function onGlobalPatches(listener: OnGlobalPatchesListener): OnPatchesDisposer;