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: 12 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 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-09T06:46:37.000Z (about 2 years ago)
- Last Synced: 2025-06-20T16:51:49.981Z (10 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
[](https://npm.im/@zero-dependency/storage)
[](https://bundlephobia.com/package/@zero-dependency/storage@latest)

## 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
}
})
```