UNPKG

svelte-ux

Version:

- Increment version in `package.json` and commit as `Version bump to x.y.z` - `npm run publish`

30 lines (29 loc) 1.34 kB
import type { Schema } from 'zod'; type FormStoreOptions<T> = { schema?: Schema<T>; }; export default function formStore<T = any>(initialState: T, options?: FormStoreOptions<T>): [{ subscribe: (this: void, run: import("svelte/store").Subscriber<T>, invalidate?: (value?: T) => void) => import("svelte/store").Unsubscriber; }, { set(newState: any): void; /** Apply draft to state after verifying with schema (if available). Append change to undo stack */ commit(): boolean; /** Revert draft to last committed state */ revert(): void; /** Revert draft and state to initial state */ revertAll(): void; /** Undo last committed change */ undo(): void; /** Refresh `current` draft value (un-proxied) */ refresh(): void; current: import("svelte/store").Writable<T>; update(this: void, updater: import("svelte/store").Updater<import("immer").Draft<T>>): void; subscribe(this: void, run: import("svelte/store").Subscriber<import("immer").Draft<T>>, invalidate?: (value?: import("immer").Draft<T>) => void): import("svelte/store").Unsubscriber; }, { subscribe: (this: void, run: import("svelte/store").Subscriber<{ [key: string]: string; }>, invalidate?: (value?: { [key: string]: string; }) => void) => import("svelte/store").Unsubscriber; }]; export {};