const storageEntries = new Map(); function installStorageMock(target: Record) { Object.defineProperty(target, "localStorage", { configurable: true, value: { getItem: (key: string) => storageEntries.get(key) ?? null, setItem: (key: string, value: string) => { storageEntries.set(key, String(value)); }, removeItem: (key: string) => { storageEntries.delete(key); }, clear: () => { storageEntries.clear(); }, }, }); } if ( typeof globalThis.localStorage?.getItem !== "function" || typeof globalThis.localStorage?.setItem !== "function" || typeof globalThis.localStorage?.removeItem !== "function" || typeof globalThis.localStorage?.clear !== "function" ) { installStorageMock(globalThis); } if (typeof window !== "undefined" && window.localStorage !== globalThis.localStorage) { installStorageMock(window as unknown as Record); }