Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
function isStorage(value: unknown): value is Storage {
return (
Boolean(value) &&
typeof (value as Storage).getItem === "function" &&
typeof (value as Storage).setItem === "function"
);
}
function getSafeStorage(name: "localStorage" | "sessionStorage"): Storage | null {
const descriptor = Object.getOwnPropertyDescriptor(globalThis, name);
if (typeof process !== "undefined" && process.env?.VITEST) {
return descriptor && !descriptor.get && isStorage(descriptor.value) ? descriptor.value : null;
}
if (typeof window !== "undefined" && typeof document !== "undefined") {
try {
const storage = window[name];
return isStorage(storage) ? storage : null;
} catch {
return null;
}
}
return descriptor && !descriptor.get && isStorage(descriptor.value) ? descriptor.value : null;
}
export function getSafeLocalStorage(): Storage | null {
return getSafeStorage("localStorage");
}
export function getSafeSessionStorage(): Storage | null {
return getSafeStorage("sessionStorage");
}
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland