Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 2 KB

README.md

File metadata and controls

60 lines (43 loc) · 2 KB

svelte-persistent-store

npm version Build Status

Persist your svelte store in localStorage or sessionStorage.

Install

npm install --save svelte-persistent-store

Usage

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);

API

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)