UNPKG

@konfirm/decoy

Version:

Proxy objects, keeping track of mutations to commit/rollback

11 lines (10 loc) 476 B
import { Trap } from "@konfirm/trap"; type Proxy<T> = T; type Delegate<T extends object = object> = (target: T) => Proxy<T>; export declare class DecoyTrap extends Trap { constructor(delegate: Delegate, onlyLastKeyMutation?: boolean); delegate<T extends object = object>(value: T): Proxy<T>; cache<T extends object = object>(target: any, value: any): Proxy<T>; get<T extends object = object, K extends keyof T = keyof T>(target: T, key: K): T[K]; } export {};