withPatches
withPatches
is a mixin that exposes patch mechanism on Models and Collections. When applied, it will expose three metthods on a model or collection:
applyPatch(patch: IPatch): void
- Apply a patch definitionundoPatch(patch: IPatch): void
- Undo a patchonPatch(callbackFn: (patch: IPatch) => void): () => void
- Subscribe to patches. The method returns an unsubscribe function.
import { PatchType } from '../enums/PatchType'; import { PureModel } from '../PureModel'; import { IIdentifier } from './IIdentifier'; import { IType } from './IType'; export interface IPatch<T = PureModel> { patchType: PatchType; model: { type: IType; id: IIdentifier; }; oldValue?: Partial<T>; newValue?: Partial<T>; }
The mixin is already applied to the Model
and Collection
, but can also be applied to PureModel
if needed.