UNPKG

@tanstack/persister

Version:

Utilities for persisting state to local storage, session storage, indexedDB, and more.

1 lines 1.17 kB
{"version":3,"file":"persister.cjs","sources":["../../src/persister.ts"],"sourcesContent":["/**\n * Abstract class that defines the contract for a state persister implementation.\n * A persister is responsible for loading and saving state to a storage medium.\n *\n * @example\n * ```ts\n * class MyPersister extends Persister<MyState> {\n * constructor() {\n * super(key)\n * }\n *\n * loadState(): MyState | undefined {\n * // Load state from storage\n * return state\n * }\n *\n * saveState(, state: MyState): void {\n * // Save state to storage\n * }\n *\n * clearState(useDefaultState?: boolean): void {\n * // Clear state from storage or set the default state if provided and specified to be used\n * }\n * }\n * ```\n */\nexport abstract class Persister<\n TState,\n TSelected extends Partial<TState> = TState,\n> {\n constructor(public readonly key: string) {}\n\n abstract loadState: () => TSelected | undefined\n abstract saveState: (state: TState) => void\n abstract clearState: (useDefaultState?: boolean) => void\n}\n"],"names":[],"mappings":";;AA0BO,MAAe,UAGpB;AAAA,EACA,YAA4B,KAAa;AAAb,SAAA,MAAA;AAAA,EAAA;AAK9B;;"}