immer
Version:
Create your next immutable state by mutating the current one
28 lines • 1.16 kB
TypeScript
import { ImmerScope, ImmerState, Drafted, AnyObject, ImmerBaseState, AnyArray, ProxyType, MapState, SetState } from "./internal";
interface ES5BaseState extends ImmerBaseState {
finalizing: boolean;
assigned: {
[key: string]: any;
};
parent?: ImmerState;
revoked: boolean;
}
export interface ES5ObjectState extends ES5BaseState {
type: ProxyType.ES5Object;
draft: Drafted<AnyObject, ES5ObjectState>;
base: AnyObject;
copy: AnyObject | null;
}
export interface ES5ArrayState extends ES5BaseState {
type: ProxyType.ES5Array;
draft: Drafted<AnyObject, ES5ArrayState>;
base: AnyArray;
copy: AnyArray | null;
}
declare type ES5State = ES5ArrayState | ES5ObjectState;
export declare function willFinalizeES5(scope: ImmerScope, result: any, isReplaced: boolean): void;
export declare function createES5Proxy<T>(base: T, parent?: ImmerState): Drafted<T, ES5ObjectState | ES5ArrayState>;
export declare function markChangedES5(state: ImmerState): void;
export declare function assertUnrevoked(state: ES5State | MapState | SetState): void;
export {};
//# sourceMappingURL=es5.d.ts.map