storagesync-js

1.0.2 • Public • Published

StorageSync.js

StorageSync.js is a lightweight JavaScript utility for synchronizing localStorage data across tabs and sessions — with namespacing, change detection, and intuitive API support.

📦 Easy to use. 🧠 Built for real-world use-cases. 💬 Keeps your app state in sync across tabs.


🚀 Installation

npm install storagesync-js

🧠 Why StorageSync?

Managing localStorage is easy — but syncing it across tabs with clean namespacing and change listeners is not .

This package wraps native storage with powerful features:

  • Namespaced key management
  • Change detection with .onChange()
  • Simple .set(), .get(), .remove(), and .clear() methods
  • Zero dependencies

📦 Usage

import StorageSync from 'storagesync-js'; // Create a namespaced storage instance const store = newStorageSync('app'); // Set data store.set('token', 'abc123'); // Get data const token = store.get('token'); // Listen for changes across tabs store.onChange((e) => { console.log('Storage changed:', e); });

🧰 API Reference

new StorageSync(namespace: string)

Creates a new instance with the given namespace. All keys will be stored as namespace:key.


.set(key: string, value: any)

Stores a key-value pair in localStorage.


.get(key: string)

Retrieves a value by key. Automatically parses JSON.


.remove(key: string)

Removes a key from storage.


.clear()

Clears all keys under the current namespace only (does not affect global localStorage).


.onChange(callback: Function)

Fires a callback whenever localStorage changes in another tab or window for the current namespace.

🔐 Example Use-Cases

  • Shared auth tokens across tabs
  • Tab-specific session data
  • Synced feature toggles or theme preferences
  • Building offline-friendly apps

📄 License

This project is licensed under the MIT License.


🤝 Contributing

Pull requests, suggestions, and issues are welcome! If you find a bug or want a feature, feel free to open an issue or PR.

✨ Author

Created by Alan Thomas – a passionate full-stack developer.

Let’s connect on GitHub!

Package Sidebar

Install

npm i storagesync-js

Weekly Downloads

8

Version

1.0.2

License

MIT

Unpacked Size

6.91 kB

Total Files

4

Last publish

Collaborators

  • alanthomasdev