/** gerar uma função de cache para uso em memoria */ const _cache: { [k: string]: | { /** new Date().getTime() */ validade?: number | undefined valor: any } | undefined } = {} ;(globalThis as any).cacheMemoria_cache = _cache export const cacheM = ( chave: any, valor?: T, validadeSeg?: number, ): T | undefined => { // converte a chave e string const txChave: string = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)) const validade = validadeSeg && new Date().getTime() + validadeSeg * 1000 if (valor !== undefined) { _cache[txChave] = { valor, validade, } } const busca = _cache[txChave] if (busca?.validade && busca.validade < new Date().getTime()) { return undefined } return busca?.valor } export const verCacheM = () => _cache export const cacheMemoria = cacheM /** para uso fixo dentro de uma função, trava a chave */ export const cacheMFixo = (chave: any) => (valor?: T) => cacheM(chave, valor)