/storage-box

💾 A Memory-based key-value storage system for JavaScript.

Primary LanguageTypeScriptMIT LicenseMIT

StorageBox
CI npm npm bundle size MIT

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

npm i storage-box

📖 Usage

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) (default)
  • File-based (Fs) (Docs)
  • Local/Session Storage (Docs)

📚 Documentation

For all configuration options, please see the API docs.

🤝 Contributing

You can contribute to this project by opening an issue or a pull request on GitHub. Feel free to contribute, we care about your ideas and suggestions.

Project Stats

Alt

License

MIT © Shahrad Elahi