Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zero-dependency/storage
📒 Web storages wrapper
https://github.com/zero-dependency/storage
api javascript localstorage package sessionstorage storage typescript zero-dependency
Last synced: 11 days ago
JSON representation
📒 Web storages wrapper
- Host: GitHub
- URL: https://github.com/zero-dependency/storage
- Owner: zero-dependency
- License: mit
- Created: 2022-10-08T14:10:35.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-09T06:46:37.000Z (12 months ago)
- Last Synced: 2024-02-09T07:52:29.833Z (12 months ago)
- Topics: api, javascript, localstorage, package, sessionstorage, storage, typescript, zero-dependency
- Language: TypeScript
- Homepage:
- Size: 70.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @zero-dependency/storage
[![npm version](https://img.shields.io/npm/v/@zero-dependency/storage)](https://npm.im/@zero-dependency/storage)
[![npm bundle size (scoped)](https://img.shields.io/bundlephobia/minzip/@zero-dependency/storage)](https://bundlephobia.com/package/@zero-dependency/storage@latest)
![npm license](https://img.shields.io/npm/l/@zero-dependency/storage)## Installation
```sh
npm install @zero-dependency/storage
``````sh
yarn add @zero-dependency/storage
``````sh
pnpm add @zero-dependency/storage
```## Usage
```ts
import { LocalStorage } from '@zero-dependency/storage'interface User {
id: number
name: string
}const storageKey = 'users'
const storage = new LocalStorage(storageKey, [])
console.log(storage.initialValue) // []storage.write((prevValue) => [...prevValue, { id: 1, name: 'John' }])
console.log(storage.value) // [{ id: 1, name: 'John' }]storage.reset()
console.log(storage.value) // []// https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event#examples
window.addEventListener('storage', (event) => {
if (event.key === storageKey) {
// do something
}
})
```