/** * LocalStorage Tipado * Lê ou grava um valor no localStorage, mantendo o tipo genérico . */ export const localValor = ( chave_: string | any, valor?: T | null, ): T | null => { const localStorage = globalThis.localStorage 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) as T } catch { // Caso o valor não seja JSON válido return v2 as unknown as T } } catch { // Em caso de erro de acesso ao localStorage return null } }