Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shahradelahi/storage-box
๐๏ธ A memory-based keyโvalue storage for Javascript
https://github.com/shahradelahi/storage-box
browser database key-value nodejs storage
Last synced: about 1 month ago
JSON representation
๐๏ธ A memory-based keyโvalue storage for Javascript
- Host: GitHub
- URL: https://github.com/shahradelahi/storage-box
- Owner: shahradelahi
- License: mit
- Created: 2023-12-27T15:48:53.000Z (9 months ago)
- Default Branch: canary
- Last Pushed: 2024-04-12T05:45:54.000Z (5 months ago)
- Last Synced: 2024-04-12T13:25:51.249Z (5 months ago)
- Topics: browser, database, key-value, nodejs, storage
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@litehex/storage-box
- Size: 108 KB
- Stars: 18
- Watchers: 1
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
StorageBox
_storage-box_ is a JavaScript library designed for the purpose of storing data in various structures across multiple
storage systems. The primary goal of this library is to offer a straightforward and effective method for data storage.## ๐ Features
- Simple API
- Support for **Node.js**, **Bun** and the **browser**
- Support for multiple storage types (Memory, File, Browser-storage, etc.)
- Multiple data structures (Literals, Hashes, Lists, etc.)
- Time-based key expiration## โ๏ธ Installation
```bash
npm i storage-box
```## ๐ Usage
```typescript
import { Client } from 'storage-box';const client = new Client();
client.setex('key', 'value', 2);
console.log(client.get('key')); // value
// time to live in milliseconds
console.log(client.ttl('key', true)); // 2000// after 3 seconds
setTimeout(() => {
console.log(client.get('key')); // undefined
}, 3e3);
```## ๐ฆ Storage Types
- Memory ([Docs](docs/driver-memory.md)) (default)
- File-based (Fs) ([Docs](docs/driver-fs.md))
- Local/Session Storage ([Docs](docs/driver-browser.md))## ๐ Documentation
For all configuration options, please see [the API docs](https://paka.dev/npm/storage-box/api).
## ๐ค Contributing
You can contribute to this project by opening an issue or a pull request
on [GitHub](https://github.com/shahradelahi/storage-box). Feel free to contribute, we care about your ideas and
suggestions.## Project Stats
![Alt](https://repobeats.axiom.co/api/embed/e1a9aca6e883cd81bba207c4edb9713c24796edd.svg 'Repobeats analytics image')
## License
[MIT](/LICENSE) ยฉ [Shahrad Elahi](https://github.com/shahradelahi)