https://github.com/svelterun/store
Persisted version of svelte/store.
https://github.com/svelterun/store
data state state-management store svelte svelte-store sveltekit svelterun typescript
Last synced: 6 months ago
JSON representation
Persisted version of svelte/store.
- Host: GitHub
- URL: https://github.com/svelterun/store
- Owner: svelterun
- License: mit
- Created: 2022-01-01T01:22:43.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-25T19:49:10.000Z (over 1 year ago)
- Last Synced: 2025-04-09T05:38:22.816Z (about 1 year ago)
- Topics: data, state, state-management, store, svelte, svelte-store, sveltekit, svelterun, typescript
- Language: TypeScript
- Size: 292 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
@svelterun/store
Persisted version of Svelte's writable store.
## Installation
```bash
pnpm add @svelterun/store
```
```bash
yarn add @svelterun/store
```
```bash
npm i -D @svelterun/store
```
## Usage
### `./stores.js`
```javascript
import { writable } from '@svelterun/store'
/**
* @param {string} key - localStorage key
* @param {*} value - the store's initial value
* @returns {import('svelte/store').Writable}
*/
export const preferences = writable('preferences', {
theme: 'dark',
pane: '50%',
// ...
})
```
### `./App.svelte`
```javascript
import { get } from 'svelte/store'
import { preferences } from './stores'
// subscribe to changes
preferences.subscribe(value => console.log('preferences:\n', value))
// update value
preferences.update(current => ({...current, theme: 'light'}))
// set value
preferences.set(value)
// read value
get(preferences)
// read value with auto subscription
$preferences
```
## License
MIT © [Svelte.run](https://github.com/svelterun), [Nicholas Berlette](https://github.com/nberlette)