Persist your svelte store in localStorage
or sessionStorage
.
npm install --save svelte-persistent-store
Persist to localStorage
import { writable, readable, derived } from 'svelte-persistent-store/dist/local';
// or
import { local } from 'svelte-persistent-store';
const { writable, readable, derived } = local;
const count = writable('count', 0);
count.set(1);
Persist to sessionStorage
import { writable, readable, derived } from 'svelte-persistent-store/dist/session';
// or
import { session } from 'svelte-persistent-store';
const { writable, readable, derived } = session;
const count = writable('count', 0);
count.set(1);
key
parameter is used by localStorage
and sessionStorage
to store and retrieve the value.
The Storage interface specification only allows string values, therefore this library serializes stored values as JSON.
// writable store of `T` values
store = writable(key: string, value: T, (set: (value: T) => void) => () => void)
// readable store of `T` values
store = readable(key: string, value: T, (set: (value: T) => void) => () => void)
// store of `U` values derived from store `a` of `T` values
store = derived(key: string, a, callback: (a: T, set: (value: U) => void) => void | () => void, initial_value: U)
// store of `U` values derived from stores `[a, ...b]` of `[T1, T2, ...]` values
store = derived(key: string, [a, ...b], callback: ([a: T1, ...b], set: (value: U) => void) => void | () => void, initial_value: U)
// get value from a store (re-export from 'svelte/store')
value: any = get(store)