Skip to content

premv7/smart-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smart-storage

A lightweight, developer-friendly localStorage utility with expiry, namespacing, cleanup, and events.





Installation

npm install @premv7/smart-storage

Basic Usage

const store = require("@premv7/smart-storage");

store.set("user", { name: "Prem" });

store.set("session", { token: "abc" }, { expiry: 10 });

store.get("user");

store.get("theme", "light");

store.remove("user");

store.clear();

Expiry

store.set("temp", "data", { expiry: 3 });

setTimeout(() => {
  console.log(store.get("temp"));
}, 4000);

Advanced Usage

Namespacing

const appStore = store.createStorage({ prefix: "app" });

appStore.set("theme", "dark");

Check existence

store.has("user");

Get keys

store.keys();

Get all data

store.getAll();

Cleanup

store.cleanup();

Events

store.on("expire", ({ key, value }) => {
  console.log("Expired:", key, value);
});

API

set(key, value, options)

Stores a value with optional expiry.

get(key, defaultValue)

Returns value or default.

remove(key)

Deletes a key.

clear()

Clears storage.

has(key)

Checks existence.

keys()

Returns all keys.

getAll()

Returns all data.

cleanup()

Removes expired items.

createStorage(options)

Creates namespaced instance.

on(event, callback)

Listens to events.


Notes

  • Works only in browser
  • Uses localStorage internally
  • Expiry handled manually
  • Not for sensitive data

License

MIT © Prem Vaidhya

About

A simple wrapper around localStorage that provides JSON parsing, expiry management, and a clean API for modern web apps.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors