_comuns/dist-back/local/index.js

35 lines
1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.localValor = void 0;
/**
* LocalStorage Tipado
* Lê ou grava um valor no localStorage, mantendo o tipo genérico <T>.
*/
const localValor = (chave_, valor) => {
const localStorage = "localStorage" in globalThis ? globalThis.localStorage : undefined;
if (typeof localStorage == "undefined")
return null;
const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_));
try {
// Grava valor se fornecido
if (valor !== undefined) {
localStorage.setItem(chave, JSON.stringify(valor));
}
// Lê valor
const v2 = localStorage.getItem(chave);
if (v2 === null)
return null;
try {
return JSON.parse(v2);
}
catch {
// Caso o valor não seja JSON válido
return v2;
}
}
catch {
// Em caso de erro de acesso ao localStorage
return null;
}
};
exports.localValor = localValor;