{"version":3,"file":"async-persister.cjs","sources":["../../src/async-persister.ts"],"sourcesContent":["/**\n * Abstract class that defines the contract for an asynchronous state persister.\n * An async persister is responsible for saving and loading state to a storage medium using asynchronous operations.\n *\n * This is useful for scenarios where persistence involves asynchronous APIs, such as IndexedDB, remote storage, or custom async backends.\n *\n * Implementations should provide methods to load, save, and clear persisted state for a given key.\n *\n * See also: `Persister` for synchronous persister implementations.\n */\nexport abstract class AsyncPersister<\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":";;AAUO,MAAe,eAGpB;AAAA,EACA,YAA4B,KAAa;AAAb,SAAA,MAAA;AAAA,EAAA;AAK9B;;"}