Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abians/zustand-debounce

zustand-debounce is a library that extends the capabilities of Zustand to provide a JSON state storage system with delayed (debounced) writing to storage.
https://github.com/abians/zustand-debounce

debounce react reactjs zustand zustand-debounce zustand-persist

Last synced: 10 days ago
JSON representation

zustand-debounce is a library that extends the capabilities of Zustand to provide a JSON state storage system with delayed (debounced) writing to storage.

Awesome Lists containing this project

README

        

# Zustand Debounce

zustand-debounce is a library that extends the capabilities of [Zustand](https://github.com/pmndrs/zustand) to provide a JSON state storage system with delayed (debounced) writing to storage. With this tool, you can reduce the number of write operations to storage by delaying and grouping them.

✅ 🐙 Lightweight!! 367 B gzipped.

✅ 🚀 Easy integration into your projects.

✅ 🕒 Customize the debounce time according to your needs.

✅ 🔄 Avoid frequent writes to storage.

✅ Full TypeScript support.

## Installation

```bash
pnpm add zustand-debounce
# o
npm install zustand-debounce
# o
yarn add zustand-debounce
```

## Usage

```ts
import { createDebouncedJSONStorage } from "zustand-debounce"

// Replace createJSONStorage with createDebouncedJSONStorage
// Experience the enchantment of delayed writes ✨
export const usePersonStore = create()(
persist(storeApi, {
name: "person-storage",
storage: createDebouncedJSONStorage(firebaseStorage, {
debounceTime: 2000, // Debounce time in milliseconds ⏳
}),
}),
)
```

## Contributions

Contributions are welcome. If you find an issue or have an idea to improve zustand-debounce, feel free to open an issue or submit a pull request.

## License 📜

Licensed as MIT open source.


with 💖 by AbianS