UNPKG

@stainless-code/persist

Version:

Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes

24 lines (23 loc) • 1.01 kB
import { f as StateStorage } from "../persist-core-B649IGlX.mjs"; //#region src/adapters/backends/node-fs.d.ts interface NodeFsStorageOptions { /** Directory holding one file per persisted key (created lazily on first write). */ dir: string; } /** * Node `fs` storage backend — one file per key under `dir` (async `fs.promises`). * Keys are sanitized to filename-safe segments (`app:prefs:v1` → `app_prefs_v1`). * Compose with `createStorage(() => nodeFsStateStorage({ dir }), codec)`. * * @example * ```ts * import { createStorage } from "@stainless-code/persist"; * import { serovalCodec } from "@stainless-code/persist/codecs/seroval"; * import { nodeFsStateStorage } from "@stainless-code/persist/backends/node-fs"; * * const storage = createStorage<Prefs>(() => nodeFsStateStorage({ dir: "./.persist" }), serovalCodec()); * ``` */ declare function nodeFsStateStorage(options: NodeFsStorageOptions): StateStorage<string>; //#endregion export { NodeFsStorageOptions, nodeFsStateStorage };