UNPKG

mermaid

Version:

Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

33 lines (32 loc) 809 B
/** * Resettable state storage. * @example * ``` * const state = new ImperativeState(() => { * foo: undefined as string | undefined, * bar: [] as number[], * baz: 1 as number | undefined, * }); * * state.records.foo = "hi"; * console.log(state.records.foo); // prints "hi"; * state.reset(); * console.log(state.records.foo); // prints "default"; * * // typeof state.records: * // { * // foo: string | undefined, // actual: undefined * // bar: number[], // actual: [] * // baz: number | undefined, // actual: 1 * // } * ``` */ export declare class ImperativeState<S extends Record<string, unknown>> { private init; records: S; /** * @param init - Function that creates the default state. */ constructor(init: () => S); reset(): void; }