Skip to content

Persist your svelte store in localStorage or sessionStorage

License

Notifications You must be signed in to change notification settings

andsala/svelte-persistent-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •