SillyFreak / svelte-persistent-store

Persist your svelte store in localStorage or sessionStorage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)

About

Persist your svelte store in localStorage or sessionStorage

License:MIT License


Languages

Language:TypeScript 100.0%