
Security News
How Enterprise Security Is Adapting to AI-Accelerated Threats
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.
fallback-local-storage
Advanced tools
Universal localStorage fallback.
Saves your time by fixing Private Mode error writing in web browser and
auto serialization that not included in localStorage by default.
npm i fallback-local-storage
Require CommonJS.
const FallbackLocalStorage = require("fallback-local-storage");
Import as ECMAScript module.
import FallbackLocalStorage from "fallback-local-storage";
CDN.
<script src="https://unpkg.com/fallback-local-storage"></script>
Creating instance with little check.
let appStorage;
if (FallbackLocalStorage.getStorage().includes("localStorage")) {
// Here we don't have any problems
// with writing to `window.localStorage`
appStorage = globalThis.localStorage;
} else {
// Looks like we have some troubles.
// Browser has disable `window.localStorage` support.
// Or browser is in `Private Mode`
// which disables localStorage completely.
appStorage = new FallbackLocalStorage();
}
Recommended way of using instance.
globalThis.appStorage = appStorage;
self.appStorage = appStorage;
Not recommended. Only if you have troubles with Private Mode and other libraries.
globalThis.localStorage = new FallbackLocalStorage();
self.localStorage = new FallbackLocalStorage();
// Toggle debug information output.
const DEBUG = false;
// Allow iteration over instance.
// Disable if you don't want be compatible with localStorage.
const ITERABLE = true;
// Serialize data before save and retrieve. VERY RECOMMENDED.
const AUTO_SERIALIZE = true;
// Custom serializer for values.
const CUSTOM_SERIALIZER = null;
const appStorage = new FallbackLocalStorage(
DEBUG, ITERABLE, AUTO_SERIALIZE, CUSTOM_SERIALIZER
);
All basic methods of localStorage are included.
appStorage.setItem("hash", { name: "John" });
appStorage.getItem("isTurnedOn", false);
appStorage.removeItem("hash");
appStorage.hasItem("hash");
appStorage.keys();
appStorage.values();
appStorage.entries();
appStorage.forEach();
appStorage.toString();
appStorage.toJSON();
appStorage.length;
appStorage.clear();
Return list of available storage
FallbackLocalStorage.getStorage();
// ["localStorage", "sessionStorage", "fallbackStorage"]
const appStorage = new FallbackLocalStorage();
// FallbackLocalStorage. Start using [localStorage].
const array = ["ONE", "TWO", "THREE"];
appStorage.setItem("array", array);
// If auto-serialize is disabled
// Value for key "array" will be converted to string: "ONE,TWO,THREE"
// If auto-serialize is enabled
// ["ONE", "TWO", "THREE"]
const object = { "1": "ONE", "2": "TWO", "3": "THREE" };
appStorage.setItem("object", object);
// If auto-serialize is disabled
// Value for key "object" will be converted to string: "[object Object]"
// If auto-serialize is enabled
// { 1: "ONE", 2: "TWO", 3: "THREE" }
const map = new Map([[1, "ONE"], [2, "TWO"], [3, "THREE"]]);
appStorage.setItem("map", map);
// If auto-serialize is disabled
// Value for key "map" will be converted to string: "[object Map]"
// If auto-serialize is enabled
// { 1: "ONE", 2: "TWO", 3: "THREE" }
const set = new Set(["ONE", "TWO", "THREE"]);
appStorage.setItem("set", set);
// If auto-serialize is disabled
// Value for key "set" will be converted to string: "[object Set]"
// If auto-serialize is enabled
// ["ONE", "TWO", "THREE"]
FAQs
Fallback for browser LocalStorage
The npm package fallback-local-storage receives a total of 11 weekly downloads. As such, fallback-local-storage popularity was classified as not popular.
We found that fallback-local-storage demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.