Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jill64/svelte-storage
🗃️ Type-Safe Web Storage API Wrapper for Svelte
https://github.com/jill64/svelte-storage
localstorage sessionstorage svelte type-safe
Last synced: about 1 month ago
JSON representation
🗃️ Type-Safe Web Storage API Wrapper for Svelte
- Host: GitHub
- URL: https://github.com/jill64/svelte-storage
- Owner: jill64
- License: mit
- Created: 2023-11-29T09:26:21.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-18T19:26:47.000Z (about 1 year ago)
- Last Synced: 2023-12-19T15:41:51.317Z (about 1 year ago)
- Topics: localstorage, sessionstorage, svelte, type-safe
- Language: TypeScript
- Homepage: https://npmjs.com/package/@jill64/svelte-storage
- Size: 296 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @jill64/svelte-storage
🗃️ Type-Safe Web Storage API Wrapper for Svelte
## Installation
```sh
npm i @jill64/svelte-storage
```## Simple Example
Passing the `localStorage` key to the `storage` function will retrieve the svelte-store of that value.
```svelte
import { storage } from '@jill64/svelte-storage'
import { string } from '@jill64/svelte-storage/serde'const storage = storage(
{ ['localStorage-key']: string },
{
// Use sessionStorage instead of localStorage
// sessionStorage: boolean (default: false)
}
)// Get value
consol.log(storage['localStorage-key'])// Set value
storage['localStorage-key'] = 'value'```
## Prepared Converters
You can also use the prepared converters in `@jill64/svelte-storage/serde`.
```svelte
import { storage } from '@jill64/svelte-storage'
import { number } from '@jill64/svelte-storage/serde'const storage = storage(
{ ['localStorage-key']: number }
// {
// Storage Option
// }
)```
## Custom Converter
By passing a conversion function as the second argument, you can get the value converted to any type.
```svelte
import { storage } from '@jill64/svelte-storage'
const store = storage(
{
['localStorage-key']: {
stringify: (value) => value.toString(),
parse: (str) => parseInt(str)
}
}
// {
// Storage Option
// }
)```
## License
[MIT](LICENSE)