From dbe0f66daf74c27f992048893e8df47973f4fbea Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Sun, 8 Feb 2026 20:30:35 -0300 Subject: [PATCH] buid --- .gitignore | 0 .npmignore | 0 .npmrc | 0 .vscode/settings.json | 0 Documentos/biome.json | 0 README.md | 0 biome.json | 0 build.config.ts | 0 dist-back/index.js | 4 - dist-back/local/index.js | 2 +- dist-back/logger.js | 106 --------------------- dist-back/tipagemRotas.js | 12 +-- dist-front/index.d.mts | 42 +-------- dist-front/index.mjs | 2 +- package.json | 6 +- pacote.tgz | Bin 24816 -> 22324 bytes pnpm-lock.yaml | 10 +- requisicoes.rest | 0 src/aleatorio.ts | 0 src/cacheMemoria.ts | 0 src/constantes.ts | 0 src/consulta.ts | 0 src/dayjs.ts | 0 src/ecosistema/index.ts | 0 src/ecosistema/urls.ts | 0 src/extensoes.ts | 0 src/graficosPilao.ts | 0 src/index.ts | 2 - src/instalarAmbiente.ts | 0 src/local/index.ts | 4 +- src/logger.ts | 126 ------------------------- src/postgres.ts | 0 src/teste.ts | 0 src/testes-de-variaveis/index.ts | 0 src/testes-de-variaveis/umaFuncao.ts | 0 src/testes-de-variaveis/umaVariavel.ts | 0 src/testes/TipagemRotas.test.ts | 0 src/texto_busca.ts | 0 src/tipagemRotas.ts | 18 ++-- src/unidades_medida.ts | 0 src/uuid.ts | 0 src/variaveisComuns.ts | 0 tsconfig-back.json | 0 tsconfig-front.json | 0 tsconfig.json | 0 tsup/como usar.md | 0 tsup/tsup.config.back.ts | 0 tsup/tsup.config.front.interno.ts | 0 tsup/tsup.config.front.ts | 0 tsup/tsup.config.interno.ts | 0 tsup/tsup.config.ts | 0 51 files changed, 30 insertions(+), 304 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .npmignore mode change 100644 => 100755 .npmrc mode change 100644 => 100755 .vscode/settings.json mode change 100644 => 100755 Documentos/biome.json mode change 100644 => 100755 README.md mode change 100644 => 100755 biome.json mode change 100644 => 100755 build.config.ts delete mode 100644 dist-back/logger.js mode change 100644 => 100755 package.json mode change 100644 => 100755 pnpm-lock.yaml mode change 100644 => 100755 requisicoes.rest mode change 100644 => 100755 src/aleatorio.ts mode change 100644 => 100755 src/cacheMemoria.ts mode change 100644 => 100755 src/constantes.ts mode change 100644 => 100755 src/consulta.ts mode change 100644 => 100755 src/dayjs.ts mode change 100644 => 100755 src/ecosistema/index.ts mode change 100644 => 100755 src/ecosistema/urls.ts mode change 100644 => 100755 src/extensoes.ts mode change 100644 => 100755 src/graficosPilao.ts mode change 100644 => 100755 src/index.ts mode change 100644 => 100755 src/instalarAmbiente.ts mode change 100644 => 100755 src/local/index.ts delete mode 100644 src/logger.ts mode change 100644 => 100755 src/postgres.ts mode change 100644 => 100755 src/teste.ts mode change 100644 => 100755 src/testes-de-variaveis/index.ts mode change 100644 => 100755 src/testes-de-variaveis/umaFuncao.ts mode change 100644 => 100755 src/testes-de-variaveis/umaVariavel.ts mode change 100644 => 100755 src/testes/TipagemRotas.test.ts mode change 100644 => 100755 src/texto_busca.ts mode change 100644 => 100755 src/tipagemRotas.ts mode change 100644 => 100755 src/unidades_medida.ts mode change 100644 => 100755 src/uuid.ts mode change 100644 => 100755 src/variaveisComuns.ts mode change 100644 => 100755 tsconfig-back.json mode change 100644 => 100755 tsconfig-front.json mode change 100644 => 100755 tsconfig.json mode change 100644 => 100755 tsup/como usar.md mode change 100644 => 100755 tsup/tsup.config.back.ts mode change 100644 => 100755 tsup/tsup.config.front.interno.ts mode change 100644 => 100755 tsup/tsup.config.front.ts mode change 100644 => 100755 tsup/tsup.config.interno.ts mode change 100644 => 100755 tsup/tsup.config.ts diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.npmignore b/.npmignore old mode 100644 new mode 100755 diff --git a/.npmrc b/.npmrc old mode 100644 new mode 100755 diff --git a/.vscode/settings.json b/.vscode/settings.json old mode 100644 new mode 100755 diff --git a/Documentos/biome.json b/Documentos/biome.json old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/biome.json b/biome.json old mode 100644 new mode 100755 diff --git a/build.config.ts b/build.config.ts old mode 100644 new mode 100755 diff --git a/dist-back/index.js b/dist-back/index.js index 57e8fd0..518704e 100644 --- a/dist-back/index.js +++ b/dist-back/index.js @@ -25,8 +25,6 @@ __reExport(index_exports, require("./extensoes"), module.exports); __reExport(index_exports, require("./extensoes"), module.exports); __reExport(index_exports, require("./graficosPilao"), module.exports); __reExport(index_exports, require("./local"), module.exports); -__reExport(index_exports, require("./logger"), module.exports); -__reExport(index_exports, require("./logger"), module.exports); __reExport(index_exports, require("./postgres"), module.exports); __reExport(index_exports, require("./testes-de-variaveis"), module.exports); __reExport(index_exports, require("./texto_busca"), module.exports); @@ -47,8 +45,6 @@ __reExport(index_exports, require("./variaveisComuns"), module.exports); ...require("./extensoes"), ...require("./graficosPilao"), ...require("./local"), - ...require("./logger"), - ...require("./logger"), ...require("./postgres"), ...require("./testes-de-variaveis"), ...require("./texto_busca"), diff --git a/dist-back/local/index.js b/dist-back/local/index.js index 4b0c95a..475929f 100644 --- a/dist-back/local/index.js +++ b/dist-back/local/index.js @@ -22,7 +22,7 @@ __export(local_exports, { }); module.exports = __toCommonJS(local_exports); const localValor = (chave_, valor) => { - const localStorage = globalThis.localStorage; + const localStorage = "localStorage" in globalThis ? globalThis.localStorage : void 0; if (typeof localStorage == "undefined") return null; const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); try { diff --git a/dist-back/logger.js b/dist-back/logger.js deleted file mode 100644 index 8f5983c..0000000 --- a/dist-back/logger.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var logger_exports = {}; -__export(logger_exports, { - defineCwd: () => defineCwd, - logger: () => logger, - postLogger: () => postLogger -}); -module.exports = __toCommonJS(logger_exports); -var import_cross_fetch = __toESM(require("cross-fetch")); -var import_variaveisComuns = require("./variaveisComuns"); -const LOKI_BASE_URL = "https://log.idz.one"; -const LOKI_ENDPOINT = "/loki/api/v1/push"; -const postLogger = async ({ - objeto -}) => { - const response = await (0, import_cross_fetch.default)(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(objeto) - }).catch((a) => a); - if (!response.ok) { - return [objeto, `Erro ${response.status}: ${await response?.text?.()}`]; - } - return [objeto]; -}; -let cwd = ""; -const defineCwd = (novoCwd) => { - cwd = novoCwd; -}; -const logger = ({ app: app_e, eProducao, parametros: parametrosAmbiente }) => ({ inquilino, usuario, parametros: parametrosSessao }) => async (level, mensagem, op_tipoLog) => { - let { - __filename, - detalhes, - local, - parametros: parametrosLog - } = op_tipoLog || {}; - const app = `${eProducao ? "" : "DEV-"}${app_e}`; - if (cwd && __filename) { - __filename = __filename.replace(cwd, ""); - } - if (local) { - detalhes = [`${(0, import_variaveisComuns.nomeVariavel)({ local })}="${local}"`, ...detalhes || []]; - } - if (__filename) { - detalhes = [ - `${(0, import_variaveisComuns.nomeVariavel)({ __filename })}="${__filename}"`, - ...detalhes || [] - ]; - } - const timestamp = `${Date.now()}000000`; - const mainLog = detalhes?.length ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" | ")}` : mensagem; - const payload = { - stream: { - app, - inquilino, - usuario, - level, - ...parametrosAmbiente || {}, - ...parametrosSessao || {}, - ...parametrosLog || {} - }, - values: [ - [ - timestamp, - mainLog - // Linha de log direta - ] - ] - }; - const objeto = { streams: [payload] }; - const response = await postLogger({ objeto }); - return response; -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - defineCwd, - logger, - postLogger -}); diff --git a/dist-back/tipagemRotas.js b/dist-back/tipagemRotas.js index 05c4f5b..ce1d130 100644 --- a/dist-back/tipagemRotas.js +++ b/dist-back/tipagemRotas.js @@ -56,9 +56,8 @@ class TipagemRotas { ** "http://localhost:3000/caminho?q=query" */ endereco(query, usarComoHash) { - const url = new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); + const win = typeof globalThis !== "undefined" && globalThis.window || void 0; + const url = new URL(win ? win.location.href : "http://localhost"); url.pathname = this.caminho; url.search = ""; const queryKeys = Object.entries(query); @@ -80,8 +79,9 @@ class TipagemRotas { if (this._acaoIr) { this._acaoIr(this.endereco({ ...query })); } else { - if (typeof window != "undefined") { - window.location.href = this.endereco({ ...query }); + const win = typeof globalThis !== "undefined" && globalThis.window || void 0; + if (win) { + win.location.href = this.endereco({ ...query }); } } } @@ -91,7 +91,7 @@ class TipagemRotas { */ parametros(urlEntrada) { const url = urlEntrada ? new URL(urlEntrada) : new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" + typeof globalThis !== "undefined" && globalThis.window ? globalThis.window.location.href : "http://localhost" ); const query = url.searchParams; let queryObj = Object.fromEntries(query.entries()); diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts index dea271a..024d151 100644 --- a/dist-front/index.d.mts +++ b/dist-front/index.d.mts @@ -120,46 +120,6 @@ declare const graficos_pilao: { */ declare const localValor: (chave_: string | any, valor?: T | null) => T | null; -type tipoLokiObjeto = { - streams: { - stream: { - [k: string]: string; - }; - values: [string, string][]; - }[]; -}; -declare const postLogger: ({ objeto, }: { - objeto: tipoLokiObjeto; -}) => Promise<[objeto: tipoLokiObjeto, erro?: string]>; -/** define a localização da pasta do projeto */ -declare const defineCwd: (novoCwd: string) => void; -type tipoLevel = "info" | "warn" | "error"; -type tipoOpSessao = { - inquilino: string; - usuario: string; - parametros?: { - [k: string]: string; - }; -}; -type tipoLog = { - detalhes?: unknown[]; - __filename?: string; - local?: string; - parametros?: { - [k: string]: string; - }; -}; -type tipoLoggerLog = (level: tipoLevel, mensagem: string, op_tipoLog?: tipoLog) => Promise<[objeto: tipoLokiObjeto, erro?: string]>; -type TipoLoggerSessao = (sess: tipoOpSessao) => tipoLoggerLog; -type tipoLogger = (amb: { - app: string; - eProducao: boolean; - parametros?: { - [k: string]: string; - }; -}) => TipoLoggerSessao; -declare const logger: tipoLogger; - /** * Trata um objeto para ser imput para postgres * @param entrada @@ -311,4 +271,4 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, defineCwd, erUuid, esperar, extensoes, graficos_pilao, type interfaceConsulta, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, type tipoLogger, type tipoLoggerLog, type tipoLokiObjeto, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; +export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, erUuid, esperar, extensoes, graficos_pilao, type interfaceConsulta, localValor, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; diff --git a/dist-front/index.mjs b/dist-front/index.mjs index 2c0a70b..a3bc656 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -var x="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),oo=o=>`eli-${Array.from({length:o||8}).map(()=>x[(999*Math.random()|0)%x.length]).join("")}`;var d={};globalThis.cacheMemoria_cache=d;var y=(o,e,t)=>{let r=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),i=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[r]={valor:e,validade:i});let n=d[r];if(!(n?.validade&&n.validaded,ro=y,io=o=>e=>y(o,e);var ao="00000000-0000-0000-0000-000000000000",T=(s=>(s.codigo="codigo",s.excluido="excluido",s.data_hora_criacao="data_hora_criacao",s.data_hora_atualizacao="data_hora_atualizacao",s.codigo_usuario_criacao="codigo_usuario_criacao",s.codigo_usuario_atualizacao="codigo_usuario_atualizacao",s.versao="versao",s))(T||{}),S=(e=>(e.token="token",e))(S||{}),z=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))(z||{});import l from"zod";var N=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(N||{}),$=l.enum(["=","!=",">",">=","<","<=","like","in"]),po=l.object({coluna:l.string(),valor:l.any(),operador:$,ou:l.boolean().optional()});import m from"dayjs";import M from"dayjs/plugin/duration.js";import P from"dayjs/plugin/isSameOrAfter.js";import C from"dayjs/plugin/isSameOrBefore.js";import I from"dayjs/plugin/minMax.js";import U from"dayjs/plugin/relativeTime.js";import A from"dayjs/plugin/timezone.js";import E from"dayjs/plugin/utc.js";import J from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";m.locale("pt-br");m.extend(E);m.extend(A);m.extend(J);m.extend(C);m.extend(P);m.extend(I);m.extend(U);m.extend(M);var Oo=m;var Lo="https://carro-de-boi-idz-one.b-cdn.net";var q=[{ext:"gif",tipo:"imagem",mime:"image/gif"},{ext:"jpg",tipo:"imagem",mime:"image/jpeg"},{ext:"jpeg",tipo:"imagem",mime:"image/jpeg"},{ext:"png",tipo:"imagem",mime:"image/png"},{ext:"bmp",tipo:"imagem",mime:"image/bmp"},{ext:"webp",tipo:"imagem",mime:"image/webp"},{ext:"tiff",tipo:"imagem",mime:"image/tiff"},{ext:"svg",tipo:"imagem",mime:"image/svg+xml"},{ext:"ico",tipo:"imagem",mime:"image/x-icon"},{ext:"pdf",tipo:"documento",mime:"application/pdf"},{ext:"doc",tipo:"documento",mime:"application/msword"},{ext:"docx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{ext:"xls",tipo:"documento",mime:"application/vnd.ms-excel"},{ext:"xlsx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{ext:"ppt",tipo:"documento",mime:"application/vnd.ms-powerpoint"},{ext:"pptx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{ext:"txt",tipo:"documento",mime:"text/plain"},{ext:"odt",tipo:"documento",mime:"application/vnd.oasis.opendocument.text"},{ext:"ods",tipo:"documento",mime:"application/vnd.oasis.opendocument.spreadsheet"},{ext:"rtf",tipo:"documento",mime:"application/rtf"},{ext:"csv",tipo:"documento",mime:"text/csv"},{ext:"mp4",tipo:"v\xEDdeo",mime:"video/mp4"},{ext:"avi",tipo:"v\xEDdeo",mime:"video/x-msvideo"},{ext:"mkv",tipo:"v\xEDdeo",mime:"video/x-matroska"},{ext:"mov",tipo:"v\xEDdeo",mime:"video/quicktime"},{ext:"wmv",tipo:"v\xEDdeo",mime:"video/x-ms-wmv"},{ext:"flv",tipo:"v\xEDdeo",mime:"video/x-flv"},{ext:"webm",tipo:"v\xEDdeo",mime:"video/webm"},{ext:"3gp",tipo:"v\xEDdeo",mime:"video/3gpp"},{ext:"mpeg",tipo:"v\xEDdeo",mime:"video/mpeg"}],So=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return q.find(r=>r.ext===e)?.tipo||"outros"};var No={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Mo=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let r=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(r,JSON.stringify(e));let i=t.getItem(r);if(i===null)return null;try{return JSON.parse(i)}catch{return i}}catch{return null}};import K from"cross-fetch";var Co=o=>new Promise(e=>setTimeout(()=>e(!0),o)),g=o=>Object.keys(o).join("/");var D="https://log.idz.one",F="/loki/api/v1/push",G=async({objeto:o})=>{let e=await K(`${D}${F}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).catch(t=>t);return e.ok?[o]:[o,`Erro ${e.status}: ${await e?.text?.()}`]},f="",Eo=o=>{f=o},Jo=({app:o,eProducao:e,parametros:t})=>({inquilino:r,usuario:i,parametros:n})=>async(a,s,v)=>{let{__filename:p,detalhes:c,local:u,parametros:_}=v||{},O=`${e?"":"DEV-"}${o}`;f&&p&&(p=p.replace(f,"")),u&&(c=[`${g({local:u})}="${u}"`,...c||[]]),p&&(c=[`${g({__filename:p})}="${p}"`,...c||[]]);let w=`${Date.now()}000000`,L=c?.length?`${s} | ${c.map(k=>JSON.stringify(k)).join(" | ")}`:s,j={streams:[{stream:{app:O,inquilino:r,usuario:i,level:a,...t||{},...n||{},..._||{}},values:[[w,L]]}]};return await G({objeto:j})};var b=o=>{try{return Object.fromEntries(Object.entries(o).map(([e,t])=>[e,t===void 0||t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:JSON.stringify(t,null,2)]))}catch(e){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${e.message} ${e.stack}`)}},Ko=b,Do=b;var Go=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Ro="Ol\xE1 Mundo! (vari\xE1vel)";var Wo=(...o)=>o.map(e=>e==null?"":String(e).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var h=class{constructor({caminho:e,acaoIr:t,rotulo:r}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(i=>String(i)).flatMap(i=>i.split("/")).filter(Boolean),this.rotulo=r}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let r=new URL(typeof window<"u"?window.location.href:"http://localhost");r.pathname=this.caminho,r.search="";let i=Object.entries(e);for(let[n,a]of i)r.searchParams.set(String(n),JSON.stringify(a));return r.hash="",t&&(r.hash=`#${r.search}`,r.search=""),r.href}ir(e){this._acaoIr?this._acaoIr(this.endereco({...e})):typeof window<"u"&&(window.location.href=this.endereco({...e}))}parametros(e){let t=e?new URL(e):new URL(typeof window<"u"?window.location.href:"http://localhost"),r=t.searchParams,i=Object.fromEntries(r.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());i={...i,...a}}for(let a in i)try{i[a]=JSON.parse(i[a])}catch{console.log(`[${a}|${i[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return i}};var V=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(V||{}),oe=[{sigla_unidade:"KG",nome:"Quilograma",sigla_normalizada:"KG",normalizar:o=>o,tipo:"massa"},{sigla_unidade:"g",nome:"Grama",sigla_normalizada:"KG",normalizar:o=>o/1e3,tipo:"massa"},{sigla_unidade:"TON",nome:"Tonelada",sigla_normalizada:"KG",normalizar:o=>o*1e3,tipo:"massa"},{sigla_unidade:"Lt",nome:"Litro",sigla_normalizada:"Lt",normalizar:o=>o,tipo:"volume"},{sigla_unidade:"M\xB3",nome:"Metro C\xFAbico",sigla_normalizada:"Lt",normalizar:o=>o*1e3,tipo:"volume"},{sigla_unidade:"UN",nome:"Unidade",sigla_normalizada:"UN",normalizar:o=>o,tipo:"unidade"}];import{NIL as R,v3 as B,v4 as Q}from"uuid";var Y=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,re=o=>Y.test(String(o||"")),H=(o,e)=>B(typeof o=="string"?o:typeof o=="number"?String(o):JSON.stringify(o),e?H(e):R),W=Q,ie=W;export{h as TipagemRotas,oo as aleatorio,y as cacheM,io as cacheMFixo,ro as cacheMemoria,T as camposComuns,Lo as cdn_carro_de_boi,Oo as dayjsbr,Eo as defineCwd,Y as erUuid,Co as esperar,q as extensoes,No as graficos_pilao,Mo as localValor,Jo as logger,g as nomeVariavel,Do as objetoPg,N as operadores,b as paraObjetoRegistroPg,Ko as pgObjeto,G as postLogger,V as siglas_unidades_medida,Wo as texto_busca,So as tipoArquivo,z as tipoUsuarioResiduos,S as tx,Go as umaFuncao,Ro as umaVariavel,oe as unidades_medida,ie as uuid,H as uuidV3,W as uuidV4,ao as uuid_null,re as validarUuid,to as verCacheM,po as zFiltro,$ as zOperadores}; +var c="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),P=e=>`eli-${Array.from({length:e||8}).map(()=>c[(999*Math.random()|0)%c.length]).join("")}`;var l={};globalThis.cacheMemoria_cache=l;var d=(e,o,t)=>{let r=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),i=t&&new Date().getTime()+t*1e3;o!==void 0&&(l[r]={valor:o,validade:i});let n=l[r];if(!(n?.validade&&n.validadel,F=d,G=e=>o=>d(e,o);var $="00000000-0000-0000-0000-000000000000",g=(m=>(m.codigo="codigo",m.excluido="excluido",m.data_hora_criacao="data_hora_criacao",m.data_hora_atualizacao="data_hora_atualizacao",m.codigo_usuario_criacao="codigo_usuario_criacao",m.codigo_usuario_atualizacao="codigo_usuario_atualizacao",m.versao="versao",m))(g||{}),x=(o=>(o.token="token",o))(x||{}),h=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))(h||{});import p from"zod";var y=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(y||{}),b=p.enum(["=","!=",">",">=","<","<=","like","in"]),R=p.object({coluna:p.string(),valor:p.any(),operador:b,ou:p.boolean().optional()});import a from"dayjs";import v from"dayjs/plugin/duration.js";import _ from"dayjs/plugin/isSameOrAfter.js";import T from"dayjs/plugin/isSameOrBefore.js";import w from"dayjs/plugin/minMax.js";import O from"dayjs/plugin/relativeTime.js";import j from"dayjs/plugin/timezone.js";import z from"dayjs/plugin/utc.js";import k from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";a.locale("pt-br");a.extend(z);a.extend(j);a.extend(k);a.extend(T);a.extend(_);a.extend(w);a.extend(O);a.extend(v);var ie=a;var re="https://carro-de-boi-idz-one.b-cdn.net";var S=[{ext:"gif",tipo:"imagem",mime:"image/gif"},{ext:"jpg",tipo:"imagem",mime:"image/jpeg"},{ext:"jpeg",tipo:"imagem",mime:"image/jpeg"},{ext:"png",tipo:"imagem",mime:"image/png"},{ext:"bmp",tipo:"imagem",mime:"image/bmp"},{ext:"webp",tipo:"imagem",mime:"image/webp"},{ext:"tiff",tipo:"imagem",mime:"image/tiff"},{ext:"svg",tipo:"imagem",mime:"image/svg+xml"},{ext:"ico",tipo:"imagem",mime:"image/x-icon"},{ext:"pdf",tipo:"documento",mime:"application/pdf"},{ext:"doc",tipo:"documento",mime:"application/msword"},{ext:"docx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{ext:"xls",tipo:"documento",mime:"application/vnd.ms-excel"},{ext:"xlsx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{ext:"ppt",tipo:"documento",mime:"application/vnd.ms-powerpoint"},{ext:"pptx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{ext:"txt",tipo:"documento",mime:"text/plain"},{ext:"odt",tipo:"documento",mime:"application/vnd.oasis.opendocument.text"},{ext:"ods",tipo:"documento",mime:"application/vnd.oasis.opendocument.spreadsheet"},{ext:"rtf",tipo:"documento",mime:"application/rtf"},{ext:"csv",tipo:"documento",mime:"text/csv"},{ext:"mp4",tipo:"v\xEDdeo",mime:"video/mp4"},{ext:"avi",tipo:"v\xEDdeo",mime:"video/x-msvideo"},{ext:"mkv",tipo:"v\xEDdeo",mime:"video/x-matroska"},{ext:"mov",tipo:"v\xEDdeo",mime:"video/quicktime"},{ext:"wmv",tipo:"v\xEDdeo",mime:"video/x-ms-wmv"},{ext:"flv",tipo:"v\xEDdeo",mime:"video/x-flv"},{ext:"webm",tipo:"v\xEDdeo",mime:"video/webm"},{ext:"3gp",tipo:"v\xEDdeo",mime:"video/3gpp"},{ext:"mpeg",tipo:"v\xEDdeo",mime:"video/mpeg"}],pe=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return S.find(r=>r.ext===o)?.tipo||"outros"};var ce={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var ue=(e,o)=>{let t="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof t>"u")return null;let r=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(r,JSON.stringify(o));let i=t.getItem(r);if(i===null)return null;try{return JSON.parse(i)}catch{return i}}catch{return null}};var u=e=>{try{return Object.fromEntries(Object.entries(e).map(([o,t])=>[o,t===void 0||t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:JSON.stringify(t,null,2)]))}catch(o){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${o.message} ${o.stack}`)}},ge=u,xe=u;var ye=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var ve="Ol\xE1 Mundo! (vari\xE1vel)";var je=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var f=class{constructor({caminho:o,acaoIr:t,rotulo:r}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(i=>String(i)).flatMap(i=>i.split("/")).filter(Boolean),this.rotulo=r}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let r=typeof globalThis<"u"&&globalThis.window||void 0,i=new URL(r?r.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let n=Object.entries(o);for(let[s,m]of n)i.searchParams.set(String(s),JSON.stringify(m));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.href}ir(o){if(this._acaoIr)this._acaoIr(this.endereco({...o}));else{let t=typeof globalThis<"u"&&globalThis.window||void 0;t&&(t.location.href=this.endereco({...o}))}}parametros(o){let t=o?new URL(o):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),r=t.searchParams,i=Object.fromEntries(r.entries()),n=t.hash;if(n){let s=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());i={...i,...s}}for(let s in i)try{i[s]=JSON.parse(i[s])}catch{console.log(`[${s}|${i[s]}] n\xE3o \xE9 um json v\xE1lido.`)}return i}};var N=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(N||{}),Se=[{sigla_unidade:"KG",nome:"Quilograma",sigla_normalizada:"KG",normalizar:e=>e,tipo:"massa"},{sigla_unidade:"g",nome:"Grama",sigla_normalizada:"KG",normalizar:e=>e/1e3,tipo:"massa"},{sigla_unidade:"TON",nome:"Tonelada",sigla_normalizada:"KG",normalizar:e=>e*1e3,tipo:"massa"},{sigla_unidade:"Lt",nome:"Litro",sigla_normalizada:"Lt",normalizar:e=>e,tipo:"volume"},{sigla_unidade:"M\xB3",nome:"Metro C\xFAbico",sigla_normalizada:"Lt",normalizar:e=>e*1e3,tipo:"volume"},{sigla_unidade:"UN",nome:"Unidade",sigla_normalizada:"UN",normalizar:e=>e,tipo:"unidade"}];import{NIL as L,v3 as M,v4 as U}from"uuid";var C=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Me=e=>C.test(String(e||"")),I=(e,o)=>M(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?I(o):L),A=U,Ue=A;var Ie=e=>new Promise(o=>setTimeout(()=>o(!0),e)),Ae=e=>Object.keys(e).join("/");export{f as TipagemRotas,P as aleatorio,d as cacheM,G as cacheMFixo,F as cacheMemoria,g as camposComuns,re as cdn_carro_de_boi,ie as dayjsbr,C as erUuid,Ie as esperar,S as extensoes,ce as graficos_pilao,ue as localValor,Ae as nomeVariavel,xe as objetoPg,y as operadores,u as paraObjetoRegistroPg,ge as pgObjeto,N as siglas_unidades_medida,je as texto_busca,pe as tipoArquivo,h as tipoUsuarioResiduos,x as tx,ye as umaFuncao,ve as umaVariavel,Se as unidades_medida,Ue as uuid,I as uuidV3,A as uuidV4,$ as uuid_null,Me as validarUuid,J as verCacheM,R as zFiltro,b as zOperadores}; diff --git a/package.json b/package.json old mode 100644 new mode 100755 index 164baac..84738c2 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.292.0", + "version": "0.297.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", @@ -27,7 +27,7 @@ "license": "ISC", "dependencies": { "cross-fetch": "4.1.0", - "dayjs": "^1.11.18", + "dayjs": "1.11.13", "uuid": "^11.1.0", "zod": "4.1.4" }, @@ -41,7 +41,7 @@ }, "peerDependencies": { "cross-fetch": "4.1.0", - "dayjs": "^1.11.18", + "dayjs": "1.11.13", "uuid": "^11.1.0", "zod": "4.1.4" } diff --git a/pacote.tgz b/pacote.tgz index 7b6064c6873b2ea28209dc4193e80e92e1b8dcd4..f755e00e1424fe282a6fac44546cc4bfcf787347 100644 GIT binary patch literal 22324 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 F{{sZVSpfh5 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml old mode 100644 new mode 100755 index 138e2de..a9d2534 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: 4.1.0 version: 4.1.0 dayjs: - specifier: ^1.11.18 - version: 1.11.18 + specifier: 1.11.13 + version: 1.11.13 uuid: specifier: ^11.1.0 version: 11.1.0 @@ -658,8 +658,8 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - dayjs@1.11.18: - resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} @@ -1971,7 +1971,7 @@ snapshots: dependencies: css-tree: 2.2.1 - dayjs@1.11.18: {} + dayjs@1.11.13: {} debug@4.4.3: dependencies: diff --git a/requisicoes.rest b/requisicoes.rest old mode 100644 new mode 100755 diff --git a/src/aleatorio.ts b/src/aleatorio.ts old mode 100644 new mode 100755 diff --git a/src/cacheMemoria.ts b/src/cacheMemoria.ts old mode 100644 new mode 100755 diff --git a/src/constantes.ts b/src/constantes.ts old mode 100644 new mode 100755 diff --git a/src/consulta.ts b/src/consulta.ts old mode 100644 new mode 100755 diff --git a/src/dayjs.ts b/src/dayjs.ts old mode 100644 new mode 100755 diff --git a/src/ecosistema/index.ts b/src/ecosistema/index.ts old mode 100644 new mode 100755 diff --git a/src/ecosistema/urls.ts b/src/ecosistema/urls.ts old mode 100644 new mode 100755 diff --git a/src/extensoes.ts b/src/extensoes.ts old mode 100644 new mode 100755 diff --git a/src/graficosPilao.ts b/src/graficosPilao.ts old mode 100644 new mode 100755 diff --git a/src/index.ts b/src/index.ts old mode 100644 new mode 100755 index 870b6a7..603605a --- a/src/index.ts +++ b/src/index.ts @@ -8,8 +8,6 @@ export * from "./extensoes" export * from "./extensoes" export * from "./graficosPilao" export * from "./local" -export * from "./logger" -export * from "./logger" export * from "./postgres" export * from "./testes-de-variaveis" export * from "./texto_busca" diff --git a/src/instalarAmbiente.ts b/src/instalarAmbiente.ts old mode 100644 new mode 100755 diff --git a/src/local/index.ts b/src/local/index.ts old mode 100644 new mode 100755 index 94a7eed..210f40e --- a/src/local/index.ts +++ b/src/local/index.ts @@ -6,8 +6,8 @@ export const localValor = ( chave_: string | any, valor?: T | null, ): T | null => { - const localStorage = globalThis.localStorage - + const localStorage = + "localStorage" in globalThis ? (globalThis as any).localStorage : undefined if (typeof localStorage == "undefined") return null const chave = diff --git a/src/logger.ts b/src/logger.ts deleted file mode 100644 index 7dec9f1..0000000 --- a/src/logger.ts +++ /dev/null @@ -1,126 +0,0 @@ -import crossFetch from "cross-fetch" -import { nomeVariavel } from "./variaveisComuns" - -const LOKI_BASE_URL = "https://log.idz.one" -const LOKI_ENDPOINT = "/loki/api/v1/push" -export type tipoLokiObjeto = { - streams: { - stream: { - [k: string]: string - } - values: [string, string][] - }[] -} - -export const postLogger = async ({ - objeto, -}: { - objeto: tipoLokiObjeto -}): Promise<[objeto: tipoLokiObjeto, erro?: string]> => { - const response = await crossFetch(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(objeto), - }).catch((a) => a) - if (!response.ok) { - return [objeto, `Erro ${response.status}: ${await response?.text?.()}`] - } - return [objeto] -} - -let cwd = "" - -/** define a localização da pasta do projeto */ -export const defineCwd = (novoCwd: string) => { - cwd = novoCwd -} - -type tipoLevel = "info" | "warn" | "error" - -type tipoOpSessao = { - inquilino: string - usuario: string - parametros?: { [k: string]: string } -} - -type tipoLog = { - detalhes?: unknown[] - __filename?: string - local?: string - parametros?: { [k: string]: string } -} - -export type tipoLoggerLog = ( - level: tipoLevel, - mensagem: string, - op_tipoLog?: tipoLog, -) => Promise<[objeto: tipoLokiObjeto, erro?: string]> - -export type TipoLoggerSessao = (sess: tipoOpSessao) => tipoLoggerLog - -export type tipoLogger = (amb: { - app: string - eProducao: boolean - parametros?: { - [k: string]: string - } -}) => TipoLoggerSessao - -export const logger: tipoLogger = - ({ app: app_e, eProducao, parametros: parametrosAmbiente }) => - ({ inquilino, usuario, parametros: parametrosSessao }) => - async (level, mensagem, op_tipoLog) => { - let { - __filename, - detalhes, - local, - parametros: parametrosLog, - } = op_tipoLog || {} - - const app = `${eProducao ? "" : "DEV-"}${app_e}` - - if (cwd && __filename) { - __filename = __filename.replace(cwd, "") - } - - if (local) { - detalhes = [`${nomeVariavel({ local })}="${local}"`, ...(detalhes || [])] - } - - if (__filename) { - detalhes = [ - `${nomeVariavel({ __filename })}="${__filename}"`, - ...(detalhes || []), - ] - } - - const timestamp = `${Date.now()}000000` - - const mainLog = detalhes?.length - ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" | ")}` - : mensagem - - const payload: tipoLokiObjeto["streams"][number] = { - stream: { - app, - inquilino, - usuario, - level, - ...(parametrosAmbiente || {}), - ...(parametrosSessao || {}), - ...(parametrosLog || {}), - }, - values: [ - [ - timestamp, - mainLog, // Linha de log direta - ], - ], - } - - const objeto: tipoLokiObjeto = { streams: [payload] } - - const response = await postLogger({ objeto }) - - return response - } diff --git a/src/postgres.ts b/src/postgres.ts old mode 100644 new mode 100755 diff --git a/src/teste.ts b/src/teste.ts old mode 100644 new mode 100755 diff --git a/src/testes-de-variaveis/index.ts b/src/testes-de-variaveis/index.ts old mode 100644 new mode 100755 diff --git a/src/testes-de-variaveis/umaFuncao.ts b/src/testes-de-variaveis/umaFuncao.ts old mode 100644 new mode 100755 diff --git a/src/testes-de-variaveis/umaVariavel.ts b/src/testes-de-variaveis/umaVariavel.ts old mode 100644 new mode 100755 diff --git a/src/testes/TipagemRotas.test.ts b/src/testes/TipagemRotas.test.ts old mode 100644 new mode 100755 diff --git a/src/texto_busca.ts b/src/texto_busca.ts old mode 100644 new mode 100755 diff --git a/src/tipagemRotas.ts b/src/tipagemRotas.ts old mode 100644 new mode 100755 index 8755a30..92ce985 --- a/src/tipagemRotas.ts +++ b/src/tipagemRotas.ts @@ -63,9 +63,10 @@ export class TipagemRotas { */ endereco(query: T, usarComoHash?: boolean) { - const url = new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost", - ) + const win = + (typeof globalThis !== "undefined" && (globalThis as any).window) || + undefined + const url = new URL(win ? win.location.href : "http://localhost") url.pathname = this.caminho @@ -95,8 +96,11 @@ export class TipagemRotas { if (this._acaoIr) { this._acaoIr(this.endereco({ ...query })) } else { - if (typeof window != "undefined") { - window.location.href = this.endereco({ ...query }) + const win = + (typeof globalThis !== "undefined" && (globalThis as any).window) || + undefined + if (win) { + win.location.href = this.endereco({ ...query }) } } } @@ -110,8 +114,8 @@ export class TipagemRotas { const url = urlEntrada ? new URL(urlEntrada) : new URL( - typeof window !== "undefined" - ? window.location.href + typeof globalThis !== "undefined" && (globalThis as any).window + ? (globalThis as any).window.location.href : "http://localhost", ) const query = url.searchParams diff --git a/src/unidades_medida.ts b/src/unidades_medida.ts old mode 100644 new mode 100755 diff --git a/src/uuid.ts b/src/uuid.ts old mode 100644 new mode 100755 diff --git a/src/variaveisComuns.ts b/src/variaveisComuns.ts old mode 100644 new mode 100755 diff --git a/tsconfig-back.json b/tsconfig-back.json old mode 100644 new mode 100755 diff --git a/tsconfig-front.json b/tsconfig-front.json old mode 100644 new mode 100755 diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755 diff --git a/tsup/como usar.md b/tsup/como usar.md old mode 100644 new mode 100755 diff --git a/tsup/tsup.config.back.ts b/tsup/tsup.config.back.ts old mode 100644 new mode 100755 diff --git a/tsup/tsup.config.front.interno.ts b/tsup/tsup.config.front.interno.ts old mode 100644 new mode 100755 diff --git a/tsup/tsup.config.front.ts b/tsup/tsup.config.front.ts old mode 100644 new mode 100755 diff --git a/tsup/tsup.config.interno.ts b/tsup/tsup.config.interno.ts old mode 100644 new mode 100755 diff --git a/tsup/tsup.config.ts b/tsup/tsup.config.ts old mode 100644 new mode 100755