From d9dec53a6669249d92afd27746a962414470bead Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 09:19:29 -0300 Subject: [PATCH 01/36] . --- tsup/tsup.config.front.interno.ts | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/tsup/tsup.config.front.interno.ts b/tsup/tsup.config.front.interno.ts index 1d72c05..5168a41 100644 --- a/tsup/tsup.config.front.interno.ts +++ b/tsup/tsup.config.front.interno.ts @@ -1,24 +1,10 @@ // tsup.config.ts (Configuração Ajustada para Back-end) import { defineConfig, type Options } from "tsup" +import { tsup_config_front } from "./tsup.config.front" -// Definimos as opções em uma constante para clareza, como você fez. -// Exportamos para que possam ser reutilizadas ou inspecionadas. -export const tsup_config_front: Options = { - entry: ["src/index.ts"], // Adicionado .tsx para compatibilidade, se aplicável - format: "esm", // Gera módulos ES para import/export no navegador - target: "es2022", // Ou 'esnext' para os recursos mais recentes - outDir: "dist-front", // Diretório de saída para os arquivos transpilados - clean: true, // Limpa o diretório de saída antes de cada build - bundle: true, // ESSENCIAL: Mantém a estrutura de arquivos e pastas original - splitting: false, // Desnecessário quando bundle é false - dts: true, // Gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS - // legacyOutput e outExtension foram removidos por não serem necessários - sourcemap: false, - minify: true, // Recomendado para builds de produção - platform: "browser", - outExtension: () => ({ js: ".mjs" }), - noExternal: [/./] -} +tsup_config_front. noExternal= [/./] + +export {tsup_config_front} // Exporta a configuração padrão usando defineConfig export default defineConfig(tsup_config_front) From 3b37c764bdb04f4f3c0993d9de92533af7ee76e3 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 09:21:31 -0300 Subject: [PATCH 02/36] . --- tsup/tsup.config.front.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tsup/tsup.config.front.ts b/tsup/tsup.config.front.ts index a960893..9e27a90 100644 --- a/tsup/tsup.config.front.ts +++ b/tsup/tsup.config.front.ts @@ -16,6 +16,7 @@ export const tsup_config_front: Options = { sourcemap: false, minify: true, // Recomendado para builds de produção platform: "browser", + external: ["fs", "path", "os", "stream", "module", "util"], outExtension: () => ({ js: ".mjs" }), } From a75b70dddd0a2202a032fc2cd47ef1e904eb9936 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 11:11:08 -0300 Subject: [PATCH 03/36] removido dayjs/locale/pt-br.js --- dist-back/dayjs.js | 2 -- dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 24588 -> 24563 bytes src/dayjs.ts | 3 +-- 5 files changed, 3 insertions(+), 6 deletions(-) diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js index 574f674..511226c 100644 --- a/dist-back/dayjs.js +++ b/dist-back/dayjs.js @@ -32,7 +32,6 @@ __export(dayjs_exports, { }); module.exports = __toCommonJS(dayjs_exports); var import_dayjs = __toESM(require("dayjs")); -var import_pt_br = require("dayjs/locale/pt-br"); var import_duration = __toESM(require("dayjs/plugin/duration")); var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter")); var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore")); @@ -49,7 +48,6 @@ import_dayjs.default.extend(import_isSameOrAfter.default); import_dayjs.default.extend(import_minMax.default); import_dayjs.default.extend(import_relativeTime.default); import_dayjs.default.extend(import_duration.default); -import_dayjs.default.locale("pt-br"); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { dayjsbr diff --git a/dist-front/index.mjs b/dist-front/index.mjs index c001dc3..e11214d 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 i=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),r=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[i]={valor:e,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,io=y,ro=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"dayjs/locale/pt-br";import M from"dayjs/plugin/duration";import P from"dayjs/plugin/isSameOrAfter";import C from"dayjs/plugin/isSameOrBefore";import I from"dayjs/plugin/minMax";import U from"dayjs/plugin/relativeTime";import A from"dayjs/plugin/timezone";import E from"dayjs/plugin/utc";import J from"dayjs/plugin/weekOfYear";m.extend(E);m.extend(A);m.extend(J);m.extend(C);m.extend(P);m.extend(I);m.extend(U);m.extend(M);m.locale("pt-br");var wo="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"}],To=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===e)?.tipo||"outros"};var zo={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var $o=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(i,JSON.stringify(e));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var Po=o=>new Promise(e=>setTimeout(()=>e(!0),o)),g=o=>Object.keys(o).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:o})=>{let e=await K(`${F}${G}`,{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="",Ao=o=>{f=o},Eo=({app:o,eProducao:e,parametros:t})=>({inquilino:i,usuario:r,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:i,usuario:r,level:a,...t||{},...n||{},..._||{}},values:[[w,L]]}]};return await V({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}`)}},qo=b,Ko=b;var Go=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Do="Ol\xE1 Mundo! (vari\xE1vel)";var Ho=(...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:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(e);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.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"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Zo=[{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,te=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,ro as cacheMFixo,io as cacheMemoria,T as camposComuns,wo as cdn_carro_de_boi,m as dayjsbr,Ao as defineCwd,Y as erUuid,Po as esperar,q as extensoes,zo as graficos_pilao,$o as localValor,Eo as logger,g as nomeVariavel,Ko as objetoPg,N as operadores,b as paraObjetoRegistroPg,qo as pgObjeto,V as postLogger,D as siglas_unidades_medida,Ho as texto_busca,To as tipoArquivo,z as tipoUsuarioResiduos,S as tx,Go as umaFuncao,Do as umaVariavel,Zo as unidades_medida,ie as uuid,H as uuidV3,W as uuidV4,ao as uuid_null,te as validarUuid,to as verCacheM,po as zFiltro,$ as zOperadores}; +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 i=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),r=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[i]={valor:e,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,io=y,ro=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";import P from"dayjs/plugin/isSameOrAfter";import C from"dayjs/plugin/isSameOrBefore";import I from"dayjs/plugin/minMax";import U from"dayjs/plugin/relativeTime";import A from"dayjs/plugin/timezone";import E from"dayjs/plugin/utc";import J from"dayjs/plugin/weekOfYear";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="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"}],ko=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===e)?.tipo||"outros"};var So={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var No=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(i,JSON.stringify(e));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var Mo=o=>new Promise(e=>setTimeout(()=>e(!0),o)),g=o=>Object.keys(o).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:o})=>{let e=await K(`${F}${G}`,{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="",Uo=o=>{f=o},Ao=({app:o,eProducao:e,parametros:t})=>({inquilino:i,usuario:r,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:i,usuario:r,level:a,...t||{},...n||{},..._||{}},values:[[w,L]]}]};return await V({objeto:j})};var h=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}`)}},Jo=h,qo=h;var Fo=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Vo="Ol\xE1 Mundo! (vari\xE1vel)";var Yo=(...o)=>o.map(e=>e==null?"":String(e).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:e,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(e);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.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"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Xo=[{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,ee=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,te=W;export{b as TipagemRotas,oo as aleatorio,y as cacheM,ro as cacheMFixo,io as cacheMemoria,T as camposComuns,Oo as cdn_carro_de_boi,m as dayjsbr,Uo as defineCwd,Y as erUuid,Mo as esperar,q as extensoes,So as graficos_pilao,No as localValor,Ao as logger,g as nomeVariavel,qo as objetoPg,N as operadores,h as paraObjetoRegistroPg,Jo as pgObjeto,V as postLogger,D as siglas_unidades_medida,Yo as texto_busca,ko as tipoArquivo,z as tipoUsuarioResiduos,S as tx,Fo as umaFuncao,Vo as umaVariavel,Xo as unidades_medida,te as uuid,H as uuidV3,W as uuidV4,ao as uuid_null,ee as validarUuid,to as verCacheM,po as zFiltro,$ as zOperadores}; diff --git a/package.json b/package.json index c482269..a9eae50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.265.0", + "version": "0.266.0", "description": "", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 8a7224a3ab18a9b0b96f0887af380b7e6f156cd6..28b43ecfd5eb097d92973eba72eb7d3e1a8e1b0d 100644 GIT binary patch delta 24465 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 vD~Yqd0%N@tz3Uuya*o20{@%Ws)3W z&edki7zgQv?U+pPC{)!kdw`Z%WrQ!Lo!@r*B47VXlzfh9NsqixKmE-gK7%>Go9=KQ z&iB!j0*McegD3m^Yz=>uHpC9fzANMj&wfYc<5#>=I>HJ5Z2ydJO#*Fu52Iaa4`vWm zBtOU6=mtU@?nhZX% zCw!10WUePiQ%Vz#Ke(2TLQM3}rktW;_L)4yfc_vG2_8;`Y>l5sI> zm&U2uX4`d${Y--XnJPq4hJRBZaS@HCPPK80LD@1G1B)m${SHlQmvuv3088w{j80E? zAB(bB%vD)}67N^H!lvEOQbQ{bjqC93V~~|$ZD)i+m2dLbAW3bT0pJiqIeD)2Fq~4& zlIPd3nloFg+CrxGUp?geTFG@UU<=Y?u18}slH|2TSuT>~z31nF7~1<9b+H&4xG}?) z4-eX5W95f|4%jz8ONs|VGg0}oP(EfKy}>2af5r(=Id!h#5oNY$;g)Cit>D%;mbc?* zsT%ub-tx6;<+Yj761WJp*4U)+Fqqc*>sMs$j@FZmfA=n7ah%waGp)MM&}&NY*MW$V z6vwtpw@^ec*6~e7?_*YTh&hB$%mxUZleJai^;Q*U?G&_d3d5(X@eO_)fmVIo)n}NI ztfZE@y~W}CsGSIjl|2%&kLj%%b3Y`JVO~DH9Kuv#Z*=|}L_k2oJE|0jU*qxhnpM*p7E+WWP!If)vbQ+{n(euCtV zU{DrA^AMaH3|xmAoQ^${PaTrneX=NIf39D5nn!v;yl^yC>~C$4Uw3iJ`N}b)vNZGg zUQC)@2pZ za^#zR+7Mwu_{7tu)O>VuaL!*%u#q3hcYp-^THXRZk4(C-QXj0U+YUdH zDvH!VP~HW?0(HHSuf;4ECCd7);m$m6cTBop5sN=~58C;RXgK!I>jE~47VS~}93kJ28;9Us2mCWY`PeOxi@0pkx;Vl}LqL#XOAYnIU1g;xpZFdi4x z?44@jr9eG7>0E#_e5rEx?6U5z7o9ZyLt7fnFUK!Q*+qdmY|+R$bb_+A=3z8g!z>UF ze1tQyvHtgxRysKLe>)Qtv!~i6@z#DGx2ArENumf_`Qwwkd{a^=JYnmQ8v0DBHDS;+ znUCJgz8U?Pb9stJXwno0$R#R*#kHZb$}H_ikbo77wASQ^2kkR^k-&163^_Mf;TN)B zh||>g1#`IO`N=#F2$r~pQ10{VeyX~+C@TIU2!Ye!Twn%rDN{CqGOOt)Rbz_8eqJcT z*r2XTADv!V!DN|fBkKV<$sV;ser3;{kJo&nzzmv zEKQD5=TA!%>M}L?S@lgm_|*&wKCTE5U+A|a$?e7G5R-{Mgqn!0gW0{5df^X12;Cck zKBDTtvagt`U}3@^UWbh(C$l}GNK$MQ02Z@V=0a}$mLg#OrCB{Xa8J9*N$DysrM5a> zH9x{J;*?C|>t93r+URq2Zw|c97RB|inl<@rzbNeuSmCB5#IGNrXhfzC-VDNwL}aJX zbd3XwsXZk(sj{xa2{MWtRXEDs?-jG1nGLX8!slQiVZKb%>f;X^drVq*^7Ck)00T66 zmDMu!wAlu;K4po}rqo}YHS+TH*{aQU@5&eTv)7mUBW+c$B;I@(E$mnVe;>*2<-9U*J?6;)ZZ?>?INl!8IMpv;UWKC&rr3K{p*qDGV!n4G%x6cC!& zmPesju&)_x6*2>rCvRhR@8?DS1Q=l(WDg;RxEpuW6$aoEJdR=B*` zLp3kRkNhLO=~8M|rwAShD&xOkcMwh@!4Z1%+_OOO3KMBFEpig9ofobIoa8cn` zP@eAeK8%6WO^5jzr>a_;TE1q=q+(Sdsb9NwzfyYDsd0>U8=k!bknZeO3r=SwW^B8c zw8Lk|S_eWQ%pz6ug5<2|$SbR}XXQaB*WpNTOqnxD*DJ_+q$u+~FbcY^d<*#pxMOsX zQE?KYIiXsUWAkArgML?skXkzWTEblQQtm~9xhe~IY#1)miK}tsun(aH%(IL&@%|eV zt2o8*wT^9{qg0M=`%j zOZVOdbCLl+Z=2(vu3^eVgHk7`7Q4 z4s&(=v^#E8s-c@f4*6T>JL)M3PfeBMB6eY#2pYAK#a4Wou!sB@wb_o6SHQLTSIerB z@5NWz!uO<595NY-Y`F1u=#I7S=zit2y#F{S*3cBH0j z%oaV8jo8-N2I$9WT^Bha%PJQ?bBs#GFsR5T^_rZ$<#X46af&T;^!dX6nP|87_^87& zn~u0AK#X#PbswuOGsz=PjMnf*FsOp~EWs>|=x!8A_msBXfMfk-su=aiJ<842DAUaT zXWFQ_T(ToavI>IxI%62M{c=d4lsHOUqs*+XD2pQ99+2_up|0LpPN=U6Jw4Mh-|ilg znf=pP<9GGvvx}7KGRG3PvvM!@qR8wr{omEv8rF*$gl-LuN3@ZyIK(_E-s@j6*{6yZ z8WX=o@~o*{3875S^j1)Be7!v{9MAsNGGFcH#Jj5w{Seksd~+nr}`kf0E#j- zf4b$yas(77?We$#x#Mx?0r2K|j_-XU=Jmz=g_1m`;@|7F3a9!S>}nJempLkGVf^`8 z8dL7~e`fC#Zm1^8#FBeo>S`HH>7G%|s9r-jN2qrs@0N&*0Q5 zk6y?B>f$V;vRDHxOoLJ)Atfmd(jnc5G<ehJAk^; z9=pv>#^>!cJ5nDHXS1s_qGyxNO$Hg2g%i(wTXSChDbo7qZfs)*d9Re_!Rt=nqJ7ZE z;skt>e6~ZypZU$D@7_Dupmwnm=${Xh8IWpwn-&J&X&M0 zFCTJ130xgEJ0B6*pnAme(T_rb=4yc&)&jAg#WXwNBeVeHzeG zf@iGn<0|-*EDurOmzn*_tSlREzC}EFR&PympxRK_*yF@ge>%u=wMTt0tq1c_5KKx+ z(mDa%Ubg3UTlyxm`m2tmPP)T%s`_o~kh0%1fNWlgRkEy)U-t}hii}Tu4Wt(`qWr%~fot|_2qO=5)?h3hqt+F;Z>S5xiG;a2GyH&EJbROBkqo>^j4WVs7y zRCy&f7>&-=sBk+Ujnq0G&Bzh+z5C7W`X_>jua4>E9wj77!npLWR9K-;I&*Bk7B0h@ zGb%$;#iV&=LQ;%e_SKcWZNzVF`i6WLX%Va89&?I+6EYR&ZNh=>$qLW(^v8R+Eo1)? z&T;mMRF}v5U=*Z(0N9@&?uVA|o&f;*(0Q{%t^iBmm(%(%o8fQ1OG2nYZizaded%nD zRQHwA8j4gIXl~A+^nG2CnR=5`2O=-wJb`F(71RhvUkOFxFyg8AS2yI}6Xnem)ApyB zgCdQwccNqT2$)B+)r%43W8LOVD~XjEac-rY&P;P4evf#oL|OLdJA0jjGeFoDB zI?u^=jYh|AiA96fkl*uZ)cdsa=d*sX!t&n3X+}Xp!p_6#5;#5j_@F_G$ca(4liOvl zIAL)qKT*<34WsKgMbqU@h=F0ug0CW`JHWu|O@!}nz*1kN-RrMpSQ#XS6lx*WBM6HZ z!QjOCfw0~m9)3&*Js8Pm4Tz30uMEofv-uiBZdn;r@bb{Tz^N{lySY%mA!3)I-kS%v zRFA2oXcdRm*V_k)@}3Su>s`~qPI(>5j=K800n1mmJY9{R#eNL=jS|9S%C~E$`U<92 z`G>BkT1=Y+ELStUgYn7w@Qw3&=7qX4&PkM+=`iHH8}H9frs8KQfKuo!Bq2G+N9(YM zM`*rWCdq=V7e-k9*aUs4D6`^Njj^F6E+_!ey<8E{O2$e66#_BA`zytnY>MolSgzd2~T6Y z4j8HiIOtBuiq0=vMMq9hu^6JVt&W;OIOv`GDnnXlFf|ePKp4g(BiqZI?(n&hN1iPY zZRbNLYi?Zm`>`?N(cKU4RoTdNq;PVp$O~bgk;BsEeiCGXLss}mA+;`e^w2%bX51Hb zi5-W`q(e801tQLO@u0MxL@QTcU!&*wAD~rQ$?jLS>sNpYOwt}uRk36d3jW~j1Xr7% zrP8c^lp6gA68n)#DZrL6l=NQI66ApAQZ}+v#U34<8p>@NT*s?1>*f;JA=2xNJNU1>7a6X^ZQPOWtisdU}vFm>g&; z%jkWJu^Ai)?wxb4F0dP%cxKkFCBu1(y@u?`D7V+^THG_!$uxhKI}xi}_sb6IN2@Tp z6+ls9wAfgYc1YT`&3**;a^&(V&g;(8a$sZ}B)W4`8LMRY8!@#nIoe!$a{7m(PPr$$ zr}WD~$*Q`RAEMTBh+qmt_NL&XF1nMUrXTXqSnW zLd{wK`m&)ZCzq;y*FkO`G)FW92I5kO{oxbCJUV3ybF6pTng=tq(LsEXZ0S?8y?}8v zm&~_a88$ugC;FY7(BE{@+TANLnKhQnmRxnwN(2tX0}L2J-YTrNEZIh|E60{X5KBiq z-(nc(&An>BfL;vj&xzRv|5g>L)#KP>4c=n-8eMwy6593{2hpM9a05$ZrGfzPwVDd?!4bjqw{fm&uCBsJ5`7_P`5~!2mf4=_$)YMP7 zZaZh&WSpL=i0+E6q>)9LE&`FuxoNLG$Vr+~5LeaCg>U0u3FQt+q>|BHUP1ylr(Th| zpFu9P2T??Drde@^aH)j8q@1aoMFkgeVFAqQPy&?R zy$-(L`;67jB9mwG*g3@X`gP`)2V+tG@oB_$CTljAXk7fW_=UHwr+rkLK0V0!cy7d& zwB;Q!961OLAWh1^t?TIML43oG+nKcwf zB%aw2C8?Y5>Fu0)YjVo@US+*#op!Nl4RP~edm9z{FUJbJfUFFHkK?pRHp zFq!zres4>p@E8uF;H3NqvUYuw{ug8&M#d%nk7T`ii26Sy>t9y6S9`tUMOQjPNEUk{ z?v1z-6~eb!&y3P0MsZg|Ei@RQE?I^T->#T|2B;K8C6@XC~KRQwm=7tW^Z7 zDIgu))CG^bkqCK(!tzk~zRf)yJa=@94>u|^c(sJ$sE+EO4q)2NzZEG_@r+J=KUN8? zIU-c6D~Qrx(CPQsz^*q_B|qk+KalZyQ#*!Z$fv`usF?tjOTj-E_bZRfoSGn(_=jcP ze=5136W|wcR&DyXRE*LXcXQP*H9Ak8^ecdiIzS#;rpABL@<@3^Oz@BIQj>c4WJ#3L=Y^5 z;4fGNq8`n_4>w4@O;e+z&xLR7M>?uULOPlO^5FFHHg<-%3}N9mJb8qxiA#|Y#Ies! zKMOZqiip6LiTjvacWKI%1)^}kA-Mj@g?H5wgKs=FohBfM<-4Xy_7oT1-?O3!&B>dD zb&^rmf%;{hYlnyZg51H>(QL;%U(2SeYPl4AENh%7COn;txHK2?`?+_m!r z=2~|)gP+Z5kj%o`P5yqTFA&c*YWJ9!47nOy@5$eLUn|WReid?U{}3!;)ymR+l1AeC zx(25FNxKP6Gy`v=n^gCFy}%krDN97DX+kzLk+w#fig4MmI*U&y8M2A^>n5&*{a70n z`!QK7_~RGBuz;7}fFC|)oq7sHqoyX`fZ;CF3dw26tjX&ceH@z{F*CKj$<|F)Y=ZBz zEPmL6%pkKMjsMo7gvzbi39O-3yIN~JLp6*? zQ)}94LT45bYAi}m5(mPWzv%)ptc-KdnOC@mp6u30y9IeMRtP`lhRZ)s4OakYNfm#G zYSXmmD&svy;Z(w}46_Y$aNel&V&)l_4Y?Oe)~_2f>QX9wPYJJzBs+zwH-%uThD5 zidw)MBFc7d;p6J?+_4hL5fEMZQ5I-Sqe{Eo|MxBJ zth5?pp%&kazWOsupo^!MYNu?=kMG>rqi_H1X_K1m6=Yo8hP1T}0iHx#Oq3riF?+)A z;IVl0&<4h$f z;Z}4k{$P>)KYzZct^mz}C)%N7^lcxY|&WRB#Z5wR_1aSE*k}&Wl zo9GMl#8E|J8!v{Wo4p*>;aSI||5q~0u*zcJN}YQlkh!3+P%%gRl8Gz`k%33_RlCp9 zWiQM_wjgaI&~XIYyqeZQ2Ok%Yj%T}@M@+@KEtJ3xGs+#akFV-B{78dYFwuaIUFnom zM2bzu`{wzLCV164xWC~@S=bhPU`kk63X6KIdyD_cTHzFAA~+w-akB z4B~hL`shzYGwaYWnUCs4Z+^V;P!SYeYNE-XaH*vgbhwLm^Jl7Y{!IUy-L>_IPH|xP zc7CL>wE<3EBDLNz;m>TP(nK|&{??$SPqbcZM76+l+jFK|ua3F3eo^4SwavF_60>YH zwM|Nwv`Ltb1UmU7VsYb-^kb?PdN#*)R1f)s*-VQAW01Z703g(J#oxmshDg%sQOWZv zDb1;_W$zc{Rk7$=ERAY!G$v{#=NAvDzeFJk*Y5$4+jh1ujMzuAXc!=oflFk|TEtD4 zS2Zp-DXaZ_X9G`ySSFb}a+U4NNsPP2CWaBQj@?oVs&hT3g@G=+W6DM^BCuBWRnRU1 zd_cMriog_q40%o7>k|ii-Ag;tRWKSID%+3PYY~w{i;~k%@Anl)kzU{({lcx-+L&m` z(5#AuWkHUoluJcUCt#~1nHVr@C4TrF0vBKTk%>t+ET=Z`%%;@LXQ2O~Q+rzeo5?pW zb+_Q8DJglfwaI%qRSxMwN14)0NP&W@J5Dc+BiS+QLgnvPCfp2|IDa{h{_r4zk#b6C zk&Ocdv?>4&_9Yen(iGq*gOlA@IEKtUyfN{pOZg?xl8%Mitdal_MD3kGHX zblsbUR9=b0#lNnq+dF9;jM+h?Ge#Vzfdp>=tN`)?O!tw_f{o?~N2Ls655f|g;}^Zg zy$>KNkd*$JjqlX_27FiwTlm88K#ecw|eQy{ATyR_n`)KbwuPqec`~xu0 z2&o;IQKc*tpZ@+ttl2O?JEE)#u~u1VVbK3QDO%8_SZWo2Ef7qp%~z?sHoB)hTj_9hW!maZ4(xPl4Xha3L!2;|9Lj%VNAJ~4KhD1`SDc$<0GdY} zU(crfIp}cyHcukC$Xj=##%r~mWGG-nFpLCI)5~cMg5i^@8aA=*kTkNbIeTAJ-A!6U zF87L&DUYpT>MECEXUD-rF0q=uj43sj*Kt0ZxW)r6y|i2Vi*))4i~ySC@K9)z(-mRE zsPnbT^g%~Qo-{J5fpRt*UgA1!Hc)OkJ|FWHouOXKl=a-|8UC}0GU*AE>>J;ETLa}@ zmgS@|#1-&84%GyOoX5K}jKkrfrC(tf{wSejBe^eq$X|f^1orAl2>T8Ny!5W`IbZvI zg8d5inHGoayLr!Nb%kH9hZ@H&9Kq3)Aeju7S z?}9JUu^`zN8Qwl2)}UCl168I(c!ZUNo0Lw5887cD$DWMp5RQT4Cb6~4)RArH`2nDT zznO#QUv#%CsNpSF{K~o^I)Oi%sGMj<{y9kGW4F^=>Ra1>?9XSGcB&Ml?|}%bWbU+E&7~wcPj65|1Ts*_V2_(aF_&8FjUe<{=O`$sf1;&@vhlM7 zv$tq5DWkK9x250IkPu9K{`_IFt!;6fgnz|z3fiUm`=z*%`{pl90na?T_ERFRH{U;) zj30e{4pSfsaHFc`OAKdPRpF-Oy;YP&3L(HItyGU!b+E=&|9^4Bg8WREE97s18Uw-S4kAN7Tq zhb~;s;Ei)5hx_;a&nh9T8nO2Fwy|gsNwz7*T+xsTVBq>^DEOR(U;IvA_Ypf0p*lb+ z8@(zwd;n66$Ok78&4WqXj7})Q0sT}#olgb*n_#m~7uqR6UL_Hwv0?=)>P~>tq;ZAd z_Sz|Gs!r$~55-Po{(LJNXXV!K>jJQAIgEA39dh}TB7g)JdKEC#Gm{1ry)GD2VIAly(h z8k$b1$^qkpuEWU}eOMhoT|{4lh?}2ukv5N{Rn=5^LzR11U_^S(~4pE^5H*S$A2)n;TU+Q2{Q14LW85=mmAVUxw{vb zo&Wig`QouE*)1M&k$8m2nNqyZ{IzErnkU8Xr+x3!dRHd^Q+7!lZBLEKZ2wt zgygekW8=x@t6z@22I6vGIbQcc5O2P0DG#OAyl@o-Fs;$|$Ps&VyOyj+ejO%XD}Kg0 z{Avi&N-voD1y$6%w`&jal^hI_&}kFIsf?KWwlNg}Pz~&*$>K7N^iLXTT7Uzw{E3io z=pRDiJFv{GnyACmv?Y7~;fed~`iYws-=_uY!R(f~PU9Y38}xR}^IizF=;nUxSDgKt zVJrZfaNgQfs#P(Cgh4ljaQ)&(-i5CiUy*0(=t`8FM8wEjS0Bg=%NM{^mtRz))GyX4 z$GQS47bw-x)PnY2JB{QKiwd?wQC3;SoeZR@GYHGH%Eust(yk#l)4Db#Cpyc7hfyB* z=LTPlN~g3_P4HTyonW!ptAoQ`o7V*IvjuEBHtwprnMynQX4 z&wSPuUMkKd)@-oa;m+4a`9v3=J^WYh`-1={4C%qJX)dvYaFNzfN|i0Mi|CEuv&Na+UC}@A}GD3!%?96CpLF^O=-+u3GcJUv~ib9p>%N8b2uM> z>nyrk{mRo`3c8vtop+u9PfgJ~#xXlB0x<{1wk|5Q(38!TuB8L<;ZAHT2$0E`zfYv< zYSjbw-d9as@J#@|svy?5r}kskW?Ke0uUBb5cd_x?0qyYRlIAfn(DY!wxlN@Nv~LOS z(27ieLdnhQ%%Xf)K7>T6w)SNMQly+X*UOd@HIkPQI)5oaZ08kvbN^;j!kGHi{P-K# zC%pO?Pm#ku(PLWA;F;zjvxLNa8;9HZG!aK;Ir-J+%VCMPf(jk$m-f!*y*ai_fAGtO zNfFf4pk4h~N)0I`O3$rS8&IYB=FKt1P=|5kU8Brj9t%eDk*T$Cqz*$sq=w2?`WAy& zsq%ITSK4r{IJ)aPwCN`n)5NYtPQbwXZ+{HKdo=Yb7*Rej(W>o>ep8eAs-~E}a51ve zI>N{gcq8{^DMWr{BmPcNba|(2Ql>NeCpK~|oUA3;r(G-!!O3Q+h8X@fRL1SoCjmPo z$e~9bk9=l9tg}Ql%uuTta8)}%5&-KtywV(j@QmUrjijNy+>_ccB*USXa7X=NB$F^M z?CpW~Ytze5DlOlMtexdIi&tr5YiQ0M!de{e&w8MjO9!{eDdV-H1(SQqg$k;b?b^h6 z8rFZ|8n0MG)ZnGmD@cxau9L6$&YSo?LEx^tP;-%x8yOK((0Pqr`n|ks;j0km z5@pw*h~M>#-&ZDt zh&t0eC#0mrkoPU)^_=s`iEJG?jSwlQ4R>wo6kjBa#aDdk&P2?_4vQU##>I-tuqE5* zj?(+|>0~CQ9wD6MEVd}iKqt(9!Dw>7GuP}x>tUPo$*k-Q^a|C%?U;D^ewq%=C|SWE zP{*&DNk^hY@FRtH)a|}()X8;f-2!u2rnR)m3UZC<6W?`-9Q9u5ugMy3#jMvgk(Q0M Ywm3(XCkK_M&QGY^YHy@rl;L3h2Q$L3x&QzG diff --git a/src/dayjs.ts b/src/dayjs.ts index a214b5c..6f03a14 100644 --- a/src/dayjs.ts +++ b/src/dayjs.ts @@ -1,7 +1,7 @@ import dayjsbr from "dayjs" export type { ManipulateType } from "dayjs" -import "dayjs/locale/pt-br" + import duration from "dayjs/plugin/duration" import isSameOrAfter from "dayjs/plugin/isSameOrAfter" import isSameOrBefore from "dayjs/plugin/isSameOrBefore" @@ -19,6 +19,5 @@ dayjsbr.extend(isSameOrAfter) dayjsbr.extend(minMax) dayjsbr.extend(relativeTime) dayjsbr.extend(duration) -dayjsbr.locale("pt-br") export { dayjsbr } From bdab1f75b15ff598f9ddf55d9d26a8342e7ca46b Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 11:15:11 -0300 Subject: [PATCH 04/36] . --- dist-back/dayjs.js | 32 ++++++++++++++++---------------- dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 24563 -> 24568 bytes src/dayjs.ts | 32 ++++++++++++++++---------------- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js index 511226c..a834178 100644 --- a/dist-back/dayjs.js +++ b/dist-back/dayjs.js @@ -32,22 +32,22 @@ __export(dayjs_exports, { }); module.exports = __toCommonJS(dayjs_exports); var import_dayjs = __toESM(require("dayjs")); -var import_duration = __toESM(require("dayjs/plugin/duration")); -var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter")); -var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore")); -var import_minMax = __toESM(require("dayjs/plugin/minMax")); -var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime")); -var import_timezone = __toESM(require("dayjs/plugin/timezone")); -var import_utc = __toESM(require("dayjs/plugin/utc")); -var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear")); -import_dayjs.default.extend(import_utc.default); -import_dayjs.default.extend(import_timezone.default); -import_dayjs.default.extend(import_weekOfYear.default); -import_dayjs.default.extend(import_isSameOrBefore.default); -import_dayjs.default.extend(import_isSameOrAfter.default); -import_dayjs.default.extend(import_minMax.default); -import_dayjs.default.extend(import_relativeTime.default); -import_dayjs.default.extend(import_duration.default); +var duration = __toESM(require("dayjs/plugin/duration")); +var isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter")); +var isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore")); +var minMax = __toESM(require("dayjs/plugin/minMax")); +var relativeTime = __toESM(require("dayjs/plugin/relativeTime")); +var timezone = __toESM(require("dayjs/plugin/timezone")); +var utc = __toESM(require("dayjs/plugin/utc")); +var weekOfYear = __toESM(require("dayjs/plugin/weekOfYear")); +import_dayjs.default.extend(utc.default); +import_dayjs.default.extend(timezone.default); +import_dayjs.default.extend(weekOfYear.default); +import_dayjs.default.extend(isSameOrBefore.default); +import_dayjs.default.extend(isSameOrAfter.default); +import_dayjs.default.extend(minMax.default); +import_dayjs.default.extend(relativeTime.default); +import_dayjs.default.extend(duration.default); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { dayjsbr diff --git a/dist-front/index.mjs b/dist-front/index.mjs index e11214d..e95311c 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 i=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),r=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[i]={valor:e,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,io=y,ro=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";import P from"dayjs/plugin/isSameOrAfter";import C from"dayjs/plugin/isSameOrBefore";import I from"dayjs/plugin/minMax";import U from"dayjs/plugin/relativeTime";import A from"dayjs/plugin/timezone";import E from"dayjs/plugin/utc";import J from"dayjs/plugin/weekOfYear";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="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"}],ko=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===e)?.tipo||"outros"};var So={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var No=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(i,JSON.stringify(e));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var Mo=o=>new Promise(e=>setTimeout(()=>e(!0),o)),g=o=>Object.keys(o).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:o})=>{let e=await K(`${F}${G}`,{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="",Uo=o=>{f=o},Ao=({app:o,eProducao:e,parametros:t})=>({inquilino:i,usuario:r,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:i,usuario:r,level:a,...t||{},...n||{},..._||{}},values:[[w,L]]}]};return await V({objeto:j})};var h=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}`)}},Jo=h,qo=h;var Fo=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Vo="Ol\xE1 Mundo! (vari\xE1vel)";var Yo=(...o)=>o.map(e=>e==null?"":String(e).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:e,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(e);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.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"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Xo=[{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,ee=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,te=W;export{b as TipagemRotas,oo as aleatorio,y as cacheM,ro as cacheMFixo,io as cacheMemoria,T as camposComuns,Oo as cdn_carro_de_boi,m as dayjsbr,Uo as defineCwd,Y as erUuid,Mo as esperar,q as extensoes,So as graficos_pilao,No as localValor,Ao as logger,g as nomeVariavel,qo as objetoPg,N as operadores,h as paraObjetoRegistroPg,Jo as pgObjeto,V as postLogger,D as siglas_unidades_medida,Yo as texto_busca,ko as tipoArquivo,z as tipoUsuarioResiduos,S as tx,Fo as umaFuncao,Vo as umaVariavel,Xo as unidades_medida,te as uuid,H as uuidV3,W as uuidV4,ao as uuid_null,ee as validarUuid,to as verCacheM,po as zFiltro,$ as zOperadores}; +var x="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),ee=e=>`eli-${Array.from({length:e||8}).map(()=>x[(999*Math.random()|0)%x.length]).join("")}`;var d={};globalThis.cacheMemoria_cache=d;var y=(e,o,t)=>{let i=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),r=t&&new Date().getTime()+t*1e3;o!==void 0&&(d[i]={valor:o,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,ie=y,re=e=>o=>y(e,o);var ae="00000000-0000-0000-0000-000000000000",I=(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))(I||{}),U=(o=>(o.token="token",o))(U||{}),A=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))(A||{});import l from"zod";var E=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(E||{}),J=l.enum(["=","!=",">",">=","<","<=","like","in"]),pe=l.object({coluna:l.string(),valor:l.any(),operador:J,ou:l.boolean().optional()});import m from"dayjs";import*as h from"dayjs/plugin/duration";import*as b from"dayjs/plugin/isSameOrAfter";import*as v from"dayjs/plugin/isSameOrBefore";import*as O from"dayjs/plugin/minMax";import*as _ from"dayjs/plugin/relativeTime";import*as w from"dayjs/plugin/timezone";import*as L from"dayjs/plugin/utc";import*as k from"dayjs/plugin/weekOfYear";m.extend(L.default);m.extend(w.default);m.extend(k.default);m.extend(v.default);m.extend(b.default);m.extend(O.default);m.extend(_.default);m.extend(h.default);var ue="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"}],ye=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===o)?.tipo||"outros"};var be={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Oe=(e,o)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(i,JSON.stringify(o));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var we=e=>new Promise(o=>setTimeout(()=>o(!0),e)),g=e=>Object.keys(e).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:e})=>{let o=await K(`${F}${G}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(t=>t);return o.ok?[e]:[e,`Erro ${o.status}: ${await o?.text?.()}`]},f="",Te=e=>{f=e},Se=({app:e,eProducao:o,parametros:t})=>({inquilino:i,usuario:r,parametros:n})=>async(a,s,S)=>{let{__filename:p,detalhes:c,local:u,parametros:z}=S||{},N=`${o?"":"DEV-"}${e}`;f&&p&&(p=p.replace(f,"")),u&&(c=[`${g({local:u})}="${u}"`,...c||[]]),p&&(c=[`${g({__filename:p})}="${p}"`,...c||[]]);let $=`${Date.now()}000000`,M=c?.length?`${s} | ${c.map(C=>JSON.stringify(C)).join(" | ")}`:s,P={streams:[{stream:{app:N,inquilino:i,usuario:r,level:a,...t||{},...n||{},...z||{}},values:[[$,M]]}]};return await V({objeto:P})};var j=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}`)}},Ne=j,$e=j;var Pe=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Ie="Ol\xE1 Mundo! (vari\xE1vel)";var qe=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var T=class{constructor({caminho:o,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(o);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.href}ir(o){this._acaoIr?this._acaoIr(this.endereco({...o})):typeof window<"u"&&(window.location.href=this.endereco({...o}))}parametros(o){let t=o?new URL(o):new URL(typeof window<"u"?window.location.href:"http://localhost"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Ge=[{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 R,v3 as B,v4 as Y}from"uuid";var Q=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Re=e=>Q.test(String(e||"")),H=(e,o)=>B(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?H(o):R),W=Y,Be=W;export{T as TipagemRotas,ee as aleatorio,y as cacheM,re as cacheMFixo,ie as cacheMemoria,I as camposComuns,ue as cdn_carro_de_boi,m as dayjsbr,Te as defineCwd,Q as erUuid,we as esperar,q as extensoes,be as graficos_pilao,Oe as localValor,Se as logger,g as nomeVariavel,$e as objetoPg,E as operadores,j as paraObjetoRegistroPg,Ne as pgObjeto,V as postLogger,D as siglas_unidades_medida,qe as texto_busca,ye as tipoArquivo,A as tipoUsuarioResiduos,U as tx,Pe as umaFuncao,Ie as umaVariavel,Ge as unidades_medida,Be as uuid,H as uuidV3,W as uuidV4,ae as uuid_null,Re as validarUuid,te as verCacheM,pe as zFiltro,J as zOperadores}; diff --git a/package.json b/package.json index a9eae50..8a40a4e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.266.0", + "version": "0.268.0", "description": "", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 28b43ecfd5eb097d92973eba72eb7d3e1a8e1b0d..3ffe48d6750ea358e6f98806f444fd096d45b567 100644 GIT binary patch delta 23872 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 Oe+dDVUg~lHOacJQP&cvw delta 23753 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 diff --git a/src/dayjs.ts b/src/dayjs.ts index 6f03a14..20b2100 100644 --- a/src/dayjs.ts +++ b/src/dayjs.ts @@ -2,22 +2,22 @@ import dayjsbr from "dayjs" export type { ManipulateType } from "dayjs" -import duration from "dayjs/plugin/duration" -import isSameOrAfter from "dayjs/plugin/isSameOrAfter" -import isSameOrBefore from "dayjs/plugin/isSameOrBefore" -import minMax from "dayjs/plugin/minMax" -import relativeTime from "dayjs/plugin/relativeTime" -import timezone from "dayjs/plugin/timezone" -import utc from "dayjs/plugin/utc" -import weekOfYear from "dayjs/plugin/weekOfYear" +import * as duration from "dayjs/plugin/duration" +import * as isSameOrAfter from "dayjs/plugin/isSameOrAfter" +import * as isSameOrBefore from "dayjs/plugin/isSameOrBefore" +import * as minMax from "dayjs/plugin/minMax" +import * as relativeTime from "dayjs/plugin/relativeTime" +import * as timezone from "dayjs/plugin/timezone" +import * as utc from "dayjs/plugin/utc" +import * as weekOfYear from "dayjs/plugin/weekOfYear" -dayjsbr.extend(utc) -dayjsbr.extend(timezone) -dayjsbr.extend(weekOfYear) -dayjsbr.extend(isSameOrBefore) -dayjsbr.extend(isSameOrAfter) -dayjsbr.extend(minMax) -dayjsbr.extend(relativeTime) -dayjsbr.extend(duration) +dayjsbr.extend(utc.default) +dayjsbr.extend(timezone.default) +dayjsbr.extend(weekOfYear.default) +dayjsbr.extend(isSameOrBefore.default) +dayjsbr.extend(isSameOrAfter.default) +dayjsbr.extend(minMax.default) +dayjsbr.extend(relativeTime.default) +dayjsbr.extend(duration.default) export { dayjsbr } From f02f1029b349a6d3168e4fd86ce183bbd44c0b8c Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 11:18:19 -0300 Subject: [PATCH 05/36] . --- dist-back/dayjs.js | 32 ++++++++++++++++---------------- dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 24568 -> 24563 bytes src/dayjs.ts | 32 ++++++++++++++++---------------- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js index a834178..511226c 100644 --- a/dist-back/dayjs.js +++ b/dist-back/dayjs.js @@ -32,22 +32,22 @@ __export(dayjs_exports, { }); module.exports = __toCommonJS(dayjs_exports); var import_dayjs = __toESM(require("dayjs")); -var duration = __toESM(require("dayjs/plugin/duration")); -var isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter")); -var isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore")); -var minMax = __toESM(require("dayjs/plugin/minMax")); -var relativeTime = __toESM(require("dayjs/plugin/relativeTime")); -var timezone = __toESM(require("dayjs/plugin/timezone")); -var utc = __toESM(require("dayjs/plugin/utc")); -var weekOfYear = __toESM(require("dayjs/plugin/weekOfYear")); -import_dayjs.default.extend(utc.default); -import_dayjs.default.extend(timezone.default); -import_dayjs.default.extend(weekOfYear.default); -import_dayjs.default.extend(isSameOrBefore.default); -import_dayjs.default.extend(isSameOrAfter.default); -import_dayjs.default.extend(minMax.default); -import_dayjs.default.extend(relativeTime.default); -import_dayjs.default.extend(duration.default); +var import_duration = __toESM(require("dayjs/plugin/duration")); +var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter")); +var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore")); +var import_minMax = __toESM(require("dayjs/plugin/minMax")); +var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime")); +var import_timezone = __toESM(require("dayjs/plugin/timezone")); +var import_utc = __toESM(require("dayjs/plugin/utc")); +var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear")); +import_dayjs.default.extend(import_utc.default); +import_dayjs.default.extend(import_timezone.default); +import_dayjs.default.extend(import_weekOfYear.default); +import_dayjs.default.extend(import_isSameOrBefore.default); +import_dayjs.default.extend(import_isSameOrAfter.default); +import_dayjs.default.extend(import_minMax.default); +import_dayjs.default.extend(import_relativeTime.default); +import_dayjs.default.extend(import_duration.default); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { dayjsbr diff --git a/dist-front/index.mjs b/dist-front/index.mjs index e95311c..e11214d 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -var x="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),ee=e=>`eli-${Array.from({length:e||8}).map(()=>x[(999*Math.random()|0)%x.length]).join("")}`;var d={};globalThis.cacheMemoria_cache=d;var y=(e,o,t)=>{let i=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),r=t&&new Date().getTime()+t*1e3;o!==void 0&&(d[i]={valor:o,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,ie=y,re=e=>o=>y(e,o);var ae="00000000-0000-0000-0000-000000000000",I=(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))(I||{}),U=(o=>(o.token="token",o))(U||{}),A=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))(A||{});import l from"zod";var E=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(E||{}),J=l.enum(["=","!=",">",">=","<","<=","like","in"]),pe=l.object({coluna:l.string(),valor:l.any(),operador:J,ou:l.boolean().optional()});import m from"dayjs";import*as h from"dayjs/plugin/duration";import*as b from"dayjs/plugin/isSameOrAfter";import*as v from"dayjs/plugin/isSameOrBefore";import*as O from"dayjs/plugin/minMax";import*as _ from"dayjs/plugin/relativeTime";import*as w from"dayjs/plugin/timezone";import*as L from"dayjs/plugin/utc";import*as k from"dayjs/plugin/weekOfYear";m.extend(L.default);m.extend(w.default);m.extend(k.default);m.extend(v.default);m.extend(b.default);m.extend(O.default);m.extend(_.default);m.extend(h.default);var ue="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"}],ye=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===o)?.tipo||"outros"};var be={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Oe=(e,o)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(i,JSON.stringify(o));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var we=e=>new Promise(o=>setTimeout(()=>o(!0),e)),g=e=>Object.keys(e).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:e})=>{let o=await K(`${F}${G}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(t=>t);return o.ok?[e]:[e,`Erro ${o.status}: ${await o?.text?.()}`]},f="",Te=e=>{f=e},Se=({app:e,eProducao:o,parametros:t})=>({inquilino:i,usuario:r,parametros:n})=>async(a,s,S)=>{let{__filename:p,detalhes:c,local:u,parametros:z}=S||{},N=`${o?"":"DEV-"}${e}`;f&&p&&(p=p.replace(f,"")),u&&(c=[`${g({local:u})}="${u}"`,...c||[]]),p&&(c=[`${g({__filename:p})}="${p}"`,...c||[]]);let $=`${Date.now()}000000`,M=c?.length?`${s} | ${c.map(C=>JSON.stringify(C)).join(" | ")}`:s,P={streams:[{stream:{app:N,inquilino:i,usuario:r,level:a,...t||{},...n||{},...z||{}},values:[[$,M]]}]};return await V({objeto:P})};var j=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}`)}},Ne=j,$e=j;var Pe=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Ie="Ol\xE1 Mundo! (vari\xE1vel)";var qe=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var T=class{constructor({caminho:o,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(o);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.href}ir(o){this._acaoIr?this._acaoIr(this.endereco({...o})):typeof window<"u"&&(window.location.href=this.endereco({...o}))}parametros(o){let t=o?new URL(o):new URL(typeof window<"u"?window.location.href:"http://localhost"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Ge=[{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 R,v3 as B,v4 as Y}from"uuid";var Q=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Re=e=>Q.test(String(e||"")),H=(e,o)=>B(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?H(o):R),W=Y,Be=W;export{T as TipagemRotas,ee as aleatorio,y as cacheM,re as cacheMFixo,ie as cacheMemoria,I as camposComuns,ue as cdn_carro_de_boi,m as dayjsbr,Te as defineCwd,Q as erUuid,we as esperar,q as extensoes,be as graficos_pilao,Oe as localValor,Se as logger,g as nomeVariavel,$e as objetoPg,E as operadores,j as paraObjetoRegistroPg,Ne as pgObjeto,V as postLogger,D as siglas_unidades_medida,qe as texto_busca,ye as tipoArquivo,A as tipoUsuarioResiduos,U as tx,Pe as umaFuncao,Ie as umaVariavel,Ge as unidades_medida,Be as uuid,H as uuidV3,W as uuidV4,ae as uuid_null,Re as validarUuid,te as verCacheM,pe as zFiltro,J as zOperadores}; +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 i=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),r=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[i]={valor:e,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,io=y,ro=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";import P from"dayjs/plugin/isSameOrAfter";import C from"dayjs/plugin/isSameOrBefore";import I from"dayjs/plugin/minMax";import U from"dayjs/plugin/relativeTime";import A from"dayjs/plugin/timezone";import E from"dayjs/plugin/utc";import J from"dayjs/plugin/weekOfYear";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="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"}],ko=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===e)?.tipo||"outros"};var So={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var No=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(i,JSON.stringify(e));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var Mo=o=>new Promise(e=>setTimeout(()=>e(!0),o)),g=o=>Object.keys(o).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:o})=>{let e=await K(`${F}${G}`,{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="",Uo=o=>{f=o},Ao=({app:o,eProducao:e,parametros:t})=>({inquilino:i,usuario:r,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:i,usuario:r,level:a,...t||{},...n||{},..._||{}},values:[[w,L]]}]};return await V({objeto:j})};var h=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}`)}},Jo=h,qo=h;var Fo=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Vo="Ol\xE1 Mundo! (vari\xE1vel)";var Yo=(...o)=>o.map(e=>e==null?"":String(e).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:e,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(e);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.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"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Xo=[{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,ee=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,te=W;export{b as TipagemRotas,oo as aleatorio,y as cacheM,ro as cacheMFixo,io as cacheMemoria,T as camposComuns,Oo as cdn_carro_de_boi,m as dayjsbr,Uo as defineCwd,Y as erUuid,Mo as esperar,q as extensoes,So as graficos_pilao,No as localValor,Ao as logger,g as nomeVariavel,qo as objetoPg,N as operadores,h as paraObjetoRegistroPg,Jo as pgObjeto,V as postLogger,D as siglas_unidades_medida,Yo as texto_busca,ko as tipoArquivo,z as tipoUsuarioResiduos,S as tx,Fo as umaFuncao,Vo as umaVariavel,Xo as unidades_medida,te as uuid,H as uuidV3,W as uuidV4,ao as uuid_null,ee as validarUuid,to as verCacheM,po as zFiltro,$ as zOperadores}; diff --git a/package.json b/package.json index 8a40a4e..38560c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.268.0", + "version": "0.269.0", "description": "", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 3ffe48d6750ea358e6f98806f444fd096d45b567..95c3f4441612cafec9762a0ddd81fee117c8ef81 100644 GIT binary patch delta 23398 zcmXtBRh#%!D>jcqozZJYP~^!s1GXI{*_8?0;1 zIcM+vxt_Zr@46uY(&$eR{~b`^^UiVSb(wm)<+JxFI<9yE;~A zPl8EkktRa?jp&~-NJvN=(9nRGUw}e*6=4X)cfn$i6Ob+yVw51};$`yeNV|;v4`J=lX^>~NvvREK$j6(MFlGEkLJY;z zPaseLFKga0&sCAPESU-9NC-YG#%r!P{?22HN&=QTJ@|O;8 zYSgu}$TDLC!qJH-%4~yNQXD=D({#fia?VcTb6LaYjTZ%ncoC$K89uF_iM{{b_ReCF zL$}ZS2bxl@@R~np7*~MRuoE=b4SE5#n3Q4)*&3L~>3%7XQDe;QM^Ng+Ga=&Q()_fR zn-au>@e!v;LvAP{QE_A=F-$7o8+0{0Ta@8z(8(&Mj3f03C{NW9q=%j8sJoSX(gbqVhzgg?#Win)wOIzh%DuHADNcF8G{qJ#g`CJJL1Q?M4v}}nv!}xC z=o3Dy&_t#5mnlk@F1Th01-N3~3!>%F@nFCaahXU$<7)4p;kb+h?6ehpbSMP;AQFme z%bHn5-Ufnl=<#*UBuXB#$Ye=K>#;=L(X}U(t8_Ft zg$X$}OmSnyF2a=2z)Dln*;!M)6p&kGg#?BtR!okGJi~;@nF3ccSJ!aui+E^V{e9`? z1M?h#58tBu9~SUM(Cbli^H6H(C^B)+2^&7;t>7qTlQ5 z2CN|+5x2ZZ;NE0OB>7uqT99#<$vU?ok+{gLbydMQ-$8Q#nCUNTIy04@>Jg*e8jLo* zml&tp(ybRdYAft{0;qE{#H7qWB|I>Qu}hZ>I&0>GGI!Qb1f^U_Bhliv)!aI5j?Q;U zb8|vBZz1RT)4&@R4Kj^XgbM3aK?&WT5_C*26V=zg^)@* zPSQ+j0k0nMeRT5CxUdhAd~30VQnS>oQ8Z!|#Llai-Ftxyb&YrPiYse^3Yqqudx0fB z4aI*_0oDfjrVW|3#$sq6b7Igi_FY-uuWzh#7^2rFXh!MP zo9t?D$TP8P<|a4mtYvtmofs+y#uSw}2)L>gIlZ%ekoKea{miIPHEE!emo0SRHrg#?%UG|eCLvlpJ}ho+!Cgw9J9~qu2i8G9+lfsN ze~|L|bcTJ|Pv{Kb4%fI`bV~dIh44B>pCBEkmNL43pI)dFJrbr8S5fC{gX4s#)}c5S zjU%xN&d@or5{pzJOlS3Viy)I zQJzbi61lz_%^H4I;TopNsY>ir&J!E+iE@|5ByT=~65%yKU)EmdZn)TR@dJ%EW_zg& z)~^x^O@`Tk*91OBoE&e~e@hkG>~4C9T~cYu&d>y%j}R;9A~7W4Pso+Pfd z{Hi30rFWdih8d<=67}RWI{bKKuVMqq@35VoB!UCw@A2Bk3gJwe)=qewIg7B$$BxZm zyML`bb+8-&DLYUK2?%S{O4kbclXta_!2cC|W%qjC)ao z2ui^^$BMNv4%sjyq`&vM;za4hIe(A92czG2o9Undr-UWzmQXN^PWva>niPtZH!55M zCK%kiRyea$GaT%4_$UJyraDAk&&_@l(ksJF)&ok~{JX{+pYM*Wmg&rcsPTh_RSp{b zGII@T0`Ud@wiQK$U08WuJADk4e}d&Mw}PDKDnfPAcf;%7($&b)_bZpklj<(b4IxfOzsiF``#X>wbP>P=Pcf-0owP*1t%4a*G*Tf5FTmcg1bF4P?f1-RK~ znQFXPv|a^o^Ni)-3#JC|*b0~SpiiN|O15NY#V)lai%L`k+#QBkY6a0lhB&zovcmM4A_^ zY{pc&!G^GWQq};0n+=xtxZ<7!`!E77V5Pe|@Z2Q$<;5rY$YHFB;2pm2S&(Lohak`h<<) zC7XaK_vp)Mo?$z1a0LEB{Hiq#Hf)`n26wwS)PUJVz(+^m_jfQ~F1SU~K;q=MHsx3D zYiiY4prI%G51|Lv(7t=ACj@OoTCuz^=yPcil3>-Z;N@Lvj|T+a`|kt8MZY4Pgh{@^ zD2e5%`trhjdrkI7CZMzMB_&q!he~pU@n&K5loAO{5fqEhG7+&5!}EpW+m1cjlgG_r z@B=6JAnO27V6c3pM;6HNYVr!Wd)s>d@bCw}pKJk664?)z-$zrfIy3Hdy#*45R7&-B zbDD#Gdu}nSV4+SwHKyNHaN~<#nhBOj)RBJ4e)`F``lTaFc|m*|l`}C~xQ=LJ!)VXo zH2sB{r!1;aH=INb#q&de$Y0{F!^D_`c#LFzXe1^O31;ex`ZF&nLX{K=q{`UIE<5LB=`pdPqW zf?9KmJQxjgeaL>yXRMwrGW5e392U#iMa+*8-4&r$N3wHyPS9y1DN43-7_J0$BZE8mA7_{Jz1~f&ePL?PbT*J$P zujP(Vh6$*vB}xol=3^x(DhlEi&2}OO;^%01>kGP;D-Umg*Eidg`>6%JMZ2Tq z3sRCRprN&)5qvuMIikol#hh~H3~G2cv{wM_Jzp!JIakQH>*IMv9^z8!o%eiJWto`O zL%NlhL3A7ya#JgtTDZ4Gs!rcxn<$?FMkW*Q=4;Q3jFMFbhR>+|Nm5^blV2TMd4jOU zR#w|dVCCa_hPgB#c#LuO@;E8)hQepUWmMi%IRl+*#x#m!m>avVG2r+sObgEIGsS)a zyk#dpC-WNg+vWVtb(H-Y7NIn8HR^rnkDTH7oKqBEtu&9(Ud=4$dNz7dNvQ@s1s^kG z3ZJh>cKJSSC{ymG@IH;-vyIHJqicdOeIe~%2jOxx+`|zZ z|4_?UAYlDwkJiHs9zgb?7Uhkquni;Osl!-*-8WJV)ekEA_KA z4kA@M>w$IB3%vXAsc&z#T->k=lnvOGsF4bvfsM*Y9>T;Iqiy0$^@t31MmHs(VQcy* zge5c>NHTW+%AH@8`$O$Emq~#u26ryeetb}E?K9MHA_YQp2W=Xs5Lu_mWZFX9u}(7C zXCBNSy24hFTlRs!~P4iP3;CjvYFUH5pN-LX5C)WOVZTV>=?8Kgs<()D&7Fs z0izdSZLV5_n3=nOLoWaGgh9Km#Bt$5VoZzX@A@cdDy{X;5_-J#k;#!bRey0zckykh z>{FJ6r@fFQvD}gLU)37IrW3d{5i`+&4aD`a~KIl>B)gIfyQ{)bbuj?ox&e zAm~%KXEIh43tp6!gG#*9mA252QgZgsv?0wrr zD_J@B)+DJSixAVIFK>87dCzOLW7f8@ptNg!X(`xv@O5!W>=|;9wCvVnjNBEuf*m_( zS=sZAGRs0CMg8Kkny?iUx}$L~{=o%tRpV!6->G%caT>{rhR73<1G*Hx{DniYuTErJ z$+e!7>bz5j*w=%Bk=0{Ipx?S`vh$SM%ZJcRO_ljlNR zCI_mJP417>pxZ~CDgg4_IS%#gKamG2-*Q`? ztaza;s8)}z<%aew&eQ9nL?!*AJ()X>h^}gG`}3z5-gnR55Qh#fml{$&bIM);{(&b; zc$*y@7gconb!1M48LY*cd;EmvCY2K++oN>7&(;x{h>{w(IkLTf8>h+*@#PPHs^-hH zSUwFJa(2ohJ}MAqBZ@$V_e}*K`_CtNhTr%ib)3Nq(^qO4B^AH49r~=pq@h+Faq#5M z#_PL|^8KlLz!}wx0z}64BqPq652A3qalhE;!|qzDyBT}nyY(|t9?s0Ui_l6B3BFR% z6J{h|e?hrP4O1SescmDco}f?N;1By?ochD2L20zypS1?Kt$1^41YtE`RXbszWb$8F z)P|L{o9Jr#t$#yovXGjaELZaY|1nYiuCvuQy%b+*7X+n%UlS0yd0ZjK;}x2=z1@^<~L)#z`T#RPL&omy|TW`qILK_Pzy zQz@pW1@j;fqDJVBn>oK&5}TnkWG2CR?4Nrqma3uuF|YS)h=od@DNHtS zP#ZO@xwk$|p9ykkBaGagxgopyi&9822R52JE{(R)tG}_T1p5YMr0+cF#`TObX&A=7 zj$H8884GS*z)A;m5T`h?T>4^)7Q)7H#l?E6WDCHNTsjv*n-w;|aqWGZy4@IhyV_W2 z6iDX4r-bB4*2L$4Bu|dSCkN&*?l^}P)1w8V(r+9x?A>f-7>2*MIa}A?%a%p1ePP{I zbu^QOeUw*jb^gMjB~p6V_GeA#+`ZlZNtL*Hm8#rlStDiSmh%vmzr`HtFx-6?s<|p7 zGDALnjA~mPlw<^@hbV}AjG}<8<{{r;*CUwUQ!K5SW{f&qC0%vJMtHII@$KIL_L|8DG7`r#32 z-yB?n#pxvls(Coggv~;@_V^HNA?-?a6!G;DULUs)MfcA};!APtzbnWE0iLgaD?(C4 zrb7LbWT$B}&3Ub|AW^SKIQbRZDj9UzhCT%p!5p|Dp&#E0os*TLS8fJ_GQu%POSwuJ z^l|761dU%aLe)8V!d4nnj{=X?0Sw0b1j%zKBnm#wU`?N~!&swX1 z+xD-HPowO?E>v?t*$3PZ{o)%vok5iRsciz8L7f&wphJK!K~6~(a;}MNh_EQnf?xXb zE5^8d44;3}6CzHF*cx*2LR^n8rcmM+$EdiiEMTr{1dqI^rx0m`?xR?P)~HDBx#g_6Httc2b<&{ohkqnWc*>6#YecAC?r2`8T7*Jfc6 z45X5X`$;wZX?q`|)?%q&t$!`s`~LIYQ0RWpG96r1(>MYw{`1PS!9V}g#aCrVU>m|+ zCQV1Ue~M`^qU29RZ>jLkH9IBJi5=$!rrt(Omi* zfZvCk-Zt3h;8OMD-Oxbi=NYgyBBCv@7<3)4tw3H(CUus^sNf3DH)$MSnR#&YwdZww zG{?uU&>J!o`Kyij2}vQA)LA5)5Ds@}qW%#bb+G1-%w0F3b zYRPomicsVET&DI%9nJyc4*Sh(5jYFjhU>R^krEj8nj zt*F?NsEZ|ylYalvyJCX;!BR(6OKpy)nf22Lii$07m_4ITiyYy%Z*J+t6ei6CCd^}v zmMn{QKsdPItCcY?_PD*cP@FmNzT=)z?U|AzRHidD3nTh$WCXPzWS>Jaqi430A!J5L z#&sj1L)~Ko=7C+H5Qx^!**u!{&n@{W9@1Z&nxX zdxdGankt@@))=SI<4AoXXw7(LTWo+_^ImhnC^`d$fTsVGc5V1Xyp=E061B5o{?(5g`e4tjN40}a)KxEd=ul?g1nZT2ig50TTwsE{$9Oz| z_MLnRjk4*1yDZTPc9|bG9o4ugGrRH7Ax?^31jQ85A4q zNzOD^xspoOZ_D@MR4B>gq7>8xL0gB@h!Q%dZ|_4vtM?y*layJZqmGs-90U{RY;7HS zXAIdF?BD9AdCJ;!+U~DubnwY2+dX}djD1Gj=W&ciz4S)k)bPvzY0da5td^~5_SC{; zOs|G6{4af6mQKfa5wy#n7;@R+ep;{i<5eGVnajElgb=wBEQoD*xt|TXycb3_|jMm$RRi}@`%9FC>u6O4e5$2%#3P<3>hd&sS!;xo%c@v)j zDB$2K&9X5n!YVN3&k3sZH2+96bCu)RNgk9mQj@6uX-|BZj7z}_nUbtbK?k&pudNq) zxevr9>rCDL1$nFWP2hmJqP^bY+U2Atco;3FL0De>1) z*DH!l_pAm%D;GygAOwfo!HdowkwEreDk)x z`Q2RXli;lBYdr!u4xV6GR~C@(8AAJBSz~aMzmJ%vz6=VeL~sbzUK&ekeot+#SB+^M zkxsZN@hGE$9Je|geBHYAH1t}16@9~i(W~5yqHtnaeX*Vb9GHAb>S~PeuP1j8_eI7T zJ-+V(TRCgs&Gnb5Ahx}7_|Hb4SshFSRtolR-OUkl%Y^Sd`HN+r;{f`VNUd|c)ac+a zl8~~WD)SHw?o=A~WFO;j2<1s>x_Gr3M1S+Nq6R<-Lb?1KeC&GDOY$GSh1jltEt0bcvn;a(Ssux=@tJl4xhH>KFT) zyK``6!aFfX@*PUmbOUZa_YrggugHV8wp$`04HKI{1v$?t@WQ&h*9M zVm+t!-EiU+Oa!%!wBK#}l=Uj|boqA+?C|4bN^f6R;+9Ghp5Lw|1J}P3m zUs!W_sbC>5iR`n#rApDN&0wp?Ck?am3t*2C)eZ4(a&FMp(bcKX4~asPR?%QPxp61+l*Gj|<4bN9C9&Cn;7xL{9jF}&wBbl$KmYP6= zFHl0j-e(g8V#IUV^Tc~f$wF;<>nP3H#e_=G0JL9@y>>y#;cH6N*b&?T+K^HY+Y}-w zI~a*lXqi(te0onv^Y6q$$VF_yQV~S_u^0`=1ynsIC<9Iz*q`$1W8k=o;0(|aI5AD( zLf8{jNDtxz0%IWC=4-m*c z1_a>%gM0fbcsl*WzIt{q}Jcs2J$BpjY&aWHmyk8zs}lhyJ559|N!6!?9CjveQjSC;LPEbVSSBmJ8RWuR|kjX!Mb- zBdQF1o#M23P~le$SUyeuBulK2kc0x5zs0jKrRYMS!V~tg;#v9LYn)JNvp=OJtBjG? zr!1W?v9P%FcYj5<#g{5N!G z4l(-AqmU!V`|<1XZ?1SIEc|`T<@w9kaJ*mGcSpm!gXz^{jq0(*{7k8sOhqeAct*r3 z4?hBzPV(a9_G#3ebwEF*W_U+g5R;3~BtPq#(*| zp>w=|6R!Eq_9e4tjm3cmu zz~O#B!0O$~Vd}Kqc?pTZL{j2h9@B#E?7v53w1=+clqI)GG5{=8pgHX#`r z?-aUW&&bsOQxbxER>>c&%b&3V@?{Oslvs#qI16WfkXQDOq*@a4cK0`A!tW9qCjrK; zL#i2^HkbIFdO2~Nr4+!UT$x0)u?4&J0^Nx#O&;hL2)#Y(yaZsfR@*_e#?MsZQO)o1 zOlN?d@rOTPAbV*^Pv~h{H`~NeLBjLP_#Xh(f(hPoA8y3}0WX_2cOQV8xits`P=b4U zd#$%t-w%8HtEIR6pPt`Ha|QjHKHlS5-3_|DKgxiQyKWsI7f;gI;(OYj^XAdV+yB5N zbmbN3Jd{T&lTkK-)0?NO?reSo1?i@X`>VXmRYSjrg^MySfm>BxCet;q?)~@ia@w7z zKeiC#nIu)v)M5aKKB?4uf)s1K_|D6`h>4QU#9YGVp0tQ)Pea#V{X+{yFbF1FKg90< zKlllFTV0riyTXqgYn~0ets2N7kv9_Xe%QT%CW-g#OPZ)@)!B{PEB!cMWWG*^NRw}Z zR+Q@z3c7d~ZttAXTw1~X_@_)Eb=usMmH9A=TtJjt)W>d*v z8u(sh+;62>65PdXKXzdH~O`@eub%uZVb{C+-M0c#WE z&+PKAIH2EphrEw*A)ZUk4In>(I|JE$Klufd*373*oesYP%KU7V-<#GaoX$P8{q^~p zBBrGgPi^-Sgw(7&s=FGOnqSj?Ug#QbU$O2F`#t*^f(Gv2I6iEjKN{a7PYfm6a6^Zy z9D2dm*ff5O3RL7%W)e8B7;W0WfdV;PTgdweoNIEDP>8WhzRQRwN~N~q-?YN)B8(2Xk z{^#W5cmJFE%zr+yUO3=wZ#{a@o^ze)^g9~09>;GXntCEMt@FlYzMhId&Zp)(NcG=| zZpAE52bibBlTaV^i8ldoLNU@uf#OYYLdM}oeI{LSlYPCd9|11}+A&ilS~20>BC$nK zL`A$4a3cE1ez_?*7+4`Ny8H!5(-@l+#<6aYis=X~Ksm>6-W_Wr9Dz>tRwqnP-+`n# z-lS&z|06Tpm379TJBm`?6nac;h`jjAew}k+rq?jyL~k!L031k$xFt{*@q_>4GS1&r z+_4Fy-$P0$NocT``*c7e*kvf{~;L=1Q~JtcY#W{ zrh(mn-23nzQuH*_!EQ#H`7^Bf=3xPV9Io2hFo>%~i32H@j`tNe4FcWtEM_WP`V&eQ zKT!@^CqGeaj2K;fm`)Kycz>=>%sb~MmA2s)`et`C)A0E7=gYYWp+M^A07RpSh1ih> zB8LI#riPm3yXH+Y1t@{@Ewr8a^QX6omFoZ?;OUClR|$O)OKFgJGf!|kGATXKvx5h} z)D``;!}29HM$*UwI?9%8oN}|F0#+pn^+oLoA%hTm|!nZ zKa3xJFn`3^lfT+uV&+7h z(@aDrY=UcZpvx!fZuGu>`1Oe~?&0+*^J6e+uMgYhQ%~uX;E&e{Xy16bT*h4qR^&~u z9-g+X$Lb#g@%=2sp&K{O9x2h3<9-`J**4!mE<}3n4M`sV;C?AB*Te|gV{hO7jH~hO z#eGlC0F%J3*pzoy=iRJxJRXWRgZJkQ%lxK4pU|8%-Ao6TqRV|of*TA>=S$;RB(=xZ=5=DbWUS7mc*Wx7_g3pF42dPQ4f9zqP<@n`xuF4OBGSlcy~oNbfy2Kdo254UoT$20QL5T*lTM}dAB@x&t$PE zJl`AnIi4*ZFEabglX}q;O3qsXk3F#I3qSnN(k`An&~RuZdGxq;Qiw}ZR z0NCFH?S~%CFWKxMQjHxajBE%YGU;nfe-i;UuO$)3y!#InYX22p?TiR|FC`or;W4|o zwhN^YSwC&CJ1}jc1`jN-=6_P|u&!ZU50VgtJe3zy`86XkD(J%dAgRR>9AiI&0PZ zN7K>$RsUAkrtW6<)IQD4Kiu-~*hNKBDV1z0ms@Qkcm1pLh@R+a4X;n!s;=FkLVZz6 zUOu6sHbOZw?pN_qvf&Hhd3df`Bd*qNZTS+{4lj!7U@BZlkDL8-5bBD0EjifJdt0IG z@~H#Z?>hLPY_*pmR}td)qZ3ZaQ?=9q_`h30ymDTxH;i z#Objsiw)9f%w-vG8ylo|B?~1blFu$4bxXv3CUgw|R(Cj6;UuuJJHTvFu!@HE=KnP` zIse?i2ui@ZN|a#<{9=?mdNh1@U1&-V+_w6DG*2+09?zV-); zVegSK5JaCgRmR|i1dFd@ZmnGhBrW*P3U~@vFwV6;6rx-c(RuD+ipqicW+peAB~3<` zMR-A2t)ccv`KRZA;y9KNl1Z34D1H*r-T4*BQ!GGQ=@Us|0S!;P+qkCTf8mdn?;Lb8 z$uP=qp*c3@b``}$l)L_+_`)rk+@s&+d-nvLZf9v5i-sSMw{y3?fv41WgWUJpY-LX; z{kvfwRkP_oX26GV1UN-Iygz2A>W%`6-4; zJ`J3xqwo}L-|)COI&78r_$3RimH1>y1P@M89!mOJk)E?C9N&LH;bdGUe*KXzlKaCC z_LQQh2E7G}N!p0Yaa%$D5tSz;+)vB_|| zGto)9><96KvMK11L8cwO>CShc{wAUgxy+mIyqR?_){PJ%k#H+OD{_oGwUzQ^OChYA0sLl_8HhpH9bhkq7XxMHRTr zt-MZvFXS*YH&AbqJW>j|N>BVUx3|m})m6>FUl38Lm5>18_V=_Oz1l8@mch)1J%T!t z`q5BA6y`(!yk96A$9ivYa?b~+FHk{7p~SBAh7UxOlHucKBY41bE`)wRkME0ce!{2O zt$8DmnEg=!bIpE&y3>48x$YOek~HHd?3yR5hGhSJp9F(JS4aHGhl!V94EgDczf+=6 z;uoQiEBr)jaE#>6(BKoA%Z}QUc4-J@7ky*&x(B~lr+cRn1+p{CI`IUr8$fEDC|J7v zp6LA42x7^4tmP=t_g$0)c<*=V6+4CX-A0KgGd! zf4}-=g#7t7g=Xi|dU>ImJ`kZ3v}!PvCRd9D zxxDU!UO-(sim`Q!;gv8VgXQU2<-xzP*36!uf#`#%mxy%7x_(!}ZNs9h#gzsR0m)fy z<9F+OoLFnPnGX5KJA}rv1{t?&hLTmku#wGuxlV3O{x)|%QV=ib0U+2lxth5VD3)8h zbW-|aJmt!X6l<+^I}PV~tu&{Cu2Q`Tu}9w|Uiz)lXzpQ=B!SqK`2)h9o*#f%ZCf>o z(+C@*){z_j^C_R()NY&Y3L}`V>hm#^m2FXBSS2qL8P{bAmywwSNj^(3+0?-s?q@1U z0r~82M$Z{D5^y+aaKKGIzse5BJg@x1=U;}Evqtrc1%WZDd2kH`ubdEbh3ab1+$p*h zunem#aNpdhvyz5Ny}y0`ts8oDvTWp3ZUCJxH&e-L-*F3Txo0B zNA-KJLY&|d3IRo5+I=c!xr}b48rd`8;Km7$=U1hBxjc&-7h_S;CFx_M@3gN-kxXFd#;Mz03nPBi@H2q9JcigLPAp`@08fzm}BF*>tJHac_GJs!O(jdnk*qeDlD5P;PqrQZFjxKCX zsCJ1Uf?C3xznuI~nKL7F`Z6hFeQ(~mSBm}kndD-mCdA2&yz^*R(AF-$#HdjEJQCBR z#jK)S8O^Uz^WSEzWzC0N(8CXbjOazH!OLzB!+Q6?N7|rHqOLg*6o*(h<+r+g*g}0E6vsbUojY-;F zn06V^ye`+J2d&I+cG~KdTP-}^R7!E5{gaN#nGAp09TN$RVP2U+kCnm#0dg`F7ASZw0$G{11`@HScF?+4*P%swes{lVnoGiP35S*r)F;^{cM2j!a25|2B1jRx8N?-T`!zO!* zkkLoLaxivW3jcMS%AB2aul#r}<<-cAf%Xnq?pn$v>SU${<;Au`QRESKJL5xSW;zfO|za@u)WBpKO5DHEf5g-8s z5H-6WY=mchQ!c7mn3?q>3f3u%p3*} zE4Y-qK%od}?xvBXaq=FOrI1QQCc&534uk!W<-|-`t5yAYd*6hkY4%f>|Mbd*&o&yP zL(Y%^m%2qMN2v^TU(jo<0ewA-A8zJ?FsZ`*KPsp^Mzo+k$cv62?#URkXCBEygm;&}TF?>}AHp@tiNF+shQC#tR#H{(WwvYeXN0$j1WrmOy`!(@3M%B(MB| z0-1Umh>=#cgP?D+pQ7f9Yg-{1QE{49awv&%pH4$XBCv2S0jXKU$~N(eGXpcWgK{T{s&itADe7KVS`rbeJv0Ckg~>z$@0&L2YJ25gIl`|RT-B<28SXEb z+nX?xvJbqHLU)%1JOqx$m?6T7-+FZ`ek6Cwpv04S^@e>f1B!<349e}MDc$3MnB;bl zprxEe)LPCdi7S5v0wUR0#+J+X_7PDwGh6BAO4OS1e{evDmAKNFC8w(&m%<$euhYzp za&+!@s#+K(VFDB{0tF zcdt;GcY{TshD|6SbR1i3wjBAn7phkp(IC?ii43tZH6)RmI1IaZX-IGJw+u*o0wo*f zVB}2@KNzVN!q9sGPsT(2v@cL&<@}Fy5*iqzA;q=;Yvg=?Q2sHvLUp!Frb#+!_)Z4H zQqwSGM@bHf1bFtr?86`0u zWVs9|xrK|1K9g&qN_6gyAtSVGwz(KRO?%mgR+f@=VtI=q2%v;3p!5;SNzoIA&myJp zREpUOb#lfoA=ZP@>r}>kvwjEI1y27J>@;%S!49X@$=K)0XX^>2{VkSz@DDpf_Af^! z4uA%93NDCb4CS!4FfCOy3o5%1Wd7EW{1%h4u}jp=f+4ZJ!u^{l6zM`0x+hS8ze5JE zsk9||rg!p;LdC$B#-2B_kUii-r3(2IOs{ug70=YZUni}(ZK9=u)o`=v!S5#1{JqK) zX^zPSsZ*5Ov@oQhAVs{c!JY4`Q$GvVR|bB-r&uHEkU-a0H+V{Yv-0#p!|gHa)H}>M zS95~V^%mK$qm6;Y8mM*sb|F}up`|g#_;913-{CIQp$a>t-u<)0TWhARl5Rb5^{yr{ z--)}VH1&__{7PvvJikv^n}MWSZ9y^Z!`+`Bxr^hR>bDH5o?#RQ1;LhGnMtisn^UR) z7_D$vBPzp7KaLyfOT-zt#Mm6~S6B=ZcA$)lIEYKi{c5z|;aT zL_F#8dAarSSowZwXA-e+O}shav!5`NQet*dDKI`hUg>%>p1SSmWbbu-K=Ba;8$HqO zalED9F0pjEangawq`!Xe=WEFKnGp>j5%ItO;HgC0@_l%{*$v3^e|sH7b72=%;WoeJywuiY-qCtyG8OYnyj z$Xa6^QYfVjD%}NEt1jS+hJojc-Q2+i`s^-u99_55S8VdDtz_27qz8H)=N`br=GNWb zkxu$Ya+Ew@cn7UK>PtFQl_M+dO^Wd0VfJwA*_PQrtqW2M8EEcSmlL$t>ErSNCVYAN zUGYHNdR?L><>kV)RpxZi*{xXpgj3>?%B7K-ny=O(sw9x()_$)ObZ9o3Ik&5pbgv;` z)1DPV#`N;(= zq;u%fcPE&?`W05+s2kdi5Iro|1~CeB7V_{!)Gte*m&sfuMt?MnP$-s>={!N5{3I6t zv0+2{x}}x>Bl)1Dgjy5_HKjPqcjoG6Mc}Cu!LYg3!<0e6U~$;Mh5EmJq2J-Q>F85m zKYj4C=nGh+qw*KPW~i6?Zmd#$E39YXre#IXPm(_u45iH(D`vc$a!lDh@t9m!N2;$C z7RWP6md=BncXvx8E!`oK(jg$tKIiv;V&-|VJNxpU+1c6eeD3S|^jIA*;uMLG z7#}3X6jBsvR{5Putm}^)X;`!C)F->e%Iq3zl|sWc`F<9xwkAEAt~}vaGc0gCwc3HE z?;IC_>WbC$Q&1x4QLv4n`h-+qbTDeo^5;RV#f5&oPsO6hd<8XSQ(RbKeye+9hNvzs z;{4HgxG@K#7SRzI^joX1pmuDE%WTWFv`tO1EPlVaC_K?wJ7crDnC`rUxaJpIJkszz z0{*JDhJNX*gc!!w&=?7n_z9i6@C3RY{X4Me_5Ly0!7e)F4NL0pjrJd`QAp0(X3w{u zjE36nFYFrqI)?oriyu7!_j)(l1i@(F8ceZySlAJ92WbV{Kt~svza;U<d zfLRY6{}-7&DM}&kH$Qh=?IrSuABaU4>%s~!c1@WRM=@ej(vqi z*(g-+3D6o}LkT5duq$ri${}u>angj+8{zu1OcUrv@w0jRLX`X?|7V19{h0>(5(+EJ z(&r8M4=neKx=EfKsGcb^02Hw26fhu z3>~e_;$0gI6)KP2=Jd+(H)0Y-D+>*XE1Dcsy@V7ZPu4~i$2+brA~3kcZZ^FUv8-{f zoX?g|)R=8?t`nKq6JA=JwNu_{eGO}?F*wN(H%=~nH@bCm| z-O)N%U6sXMQQ%!U#9a<)vzdBfl!i5HDQIbYvPo`_+s|^*t!Uru?nCmTeS$cb=0LBi zqS{yt2k#~tAiCRtI9cwHJ}d?Q#&H>iOCMBbzos|@Pu6blL6s_S?W+h-^v2hw4ptUBLWGOhO z-=)qb>X};^{hgX@6rgt6H{xvoM^iZ>Gy0$11korH-_=l;abLNN3Vdg2uv*~wyFy3D zq|Miwqj<2`)pCHpoaj4V;|aCZ5L8L%I|yR+ZgLydpmzM zU^Q1a*I~YzJ!R+YMyY%+n>`k(SLy7Z%w^U{U?=XVk+eg=xaV#!QV>&0v8#X20=E|& zT0S+Ns&Ft}*0J7CZ(Hza-!`H`7e)^z#hYunwD#_tA}Qr>z{smagsCKoebfq2)%^p& zoL4cUu=j!)S{?t1^kTCAD7m20>{M|=zwy05hQUxtOb&dD6tdMYIu zHpI`7Q(>v`8#>tya*Z|q_9bIVpn*OajUyS~e z4pJkz;k^fxw^TKx3##bMGAx|b978vG6iT0tl8>N?^&fHWT*}0nRNaR4&n-gbf*VPp zl=3HNWWl$~;RG#$+mSvdfH>huB);Vx*S59ybRR#gD`YE5IMLGauOq4} zy?ls*dB4{<(K^>^o{{fs{fBAk@wyQ^R;HxV&95Y^!PW+8I6s~!-{Kk4)zXdm9F*!O z!__&_8~UU;xwd&eGKxO1b82`Y5Jl2Y6mfN8*e2XurY4=-Y2=#nz$089wSIF3gO$gh zh<-9XTXP;(;KIJY@Klo4S zglHC?JyEA6`~&Swa-cZOLwe%UGXDSYZ&;!D($vS#k!}CtjZQK`PU5D!;-|k|JS25{ z8C&=!9#v)a05l#{H!8s&sZ=(4VIG(CXe&^RSK@fRBxJaGi2Jvly^WG5r8vWvkeBCJWD< zxy%Y7H{u&2zg~~5PiNWSaaV8j1|8KdtIo*)TI>KoU@h_jJ4uOoCZttk!S**;aC31- zi!}ZRJXy8x1YfOZ+ymb=o+i{<3E<>ZLy1d$p+Ard^sQmGGkovOk>(j}bwx)0e;<<1 z%c4KRg#7!(B;82hn%}>(+kacOuXvCY`r$H{V!|dTac&>11UP~yrA{2^fs=!cV?zcO zPbGZK`o1Mk?$mdE4o#Qm*cs(Q%KpLsD%c9%DaZxb<4ez{OFKodqqCK})vyvXW?{s8 zP7_mn&9|fFfU$K*=&ZLz6ho>GQW2`;|1%{yXm}`Uw0~%%aWd zyxn6^-TBC#edq(k2cL50{4AO-&(3G6HQfvMd1%>{ve%1%h%TaRtn?NjkwSmE@f;_F zeRldjz9i|n`M(`Wop62gzJwS$tkJhfd@8;?t%mX4BQTb4ny90z&zT4yxb-?*@vgUN zL7C}1sFZ}LBC)PPnSN%i^NJQTY;tlQ-A#*une*L&XqkT6-Rwz2Fof1)n?$Ih3h1Yi zbjZApv`(O@rFq|B(olp=eAKxwRZM{0z1-zFN;hjyPxCNEN^3GAPk03-@x=bQZU31l zLpyJZ6aBt5BYVoQkmbWJ2$+IOamI|0yY9#5iI6hV~r7sff zvvDDVzA#niDn;=1Hl&C%X!eXNwez`@<9I00dMu7u1Z@W8F4-c%N2>mWauufwX4c^E@^dYJ&`J`Mgn1gn~E0mF<@@V(}f z;MDkdF<){3wvbHH98%R@bFa)Z(dS8YBukt0SMa&nsP)LG*>%6l;DRuMEtPNs)$aCk z1MKf4ip|rbXJ_YPVMxCZcuhkaJb^&!@|@JTeNJkVF%z#{7j&{JFmJ|19rWHm(M$r{ zo16GeLBW2Iw1@A*!$ujip7)4_xO}5YcG2tvd5NuLg_uMrZGZ6wD>Dg|xwK?tnQwEg z^5y4aUzX&Q5%Ttrs?b@aZSgege*aBO@X6Di%>!r2S7(c?0NI%sOi~!NC(|?s%-o2L@m5nk z+ii4lzUD2pv<0a*{e(ey1eup6{rw@PuaUU)YV*s2NzXbK@ejAj-a(wT9*S&Bd|quw ztm+6zL~yLBtr104?rVcv`tn?r#$=5Vk$G#sbc5lTPNB_?129`*Qv2%vDqzi1_~k#p zwnx09ZI)!E37HD0>9l^z38Wb;X?iC$)w zupF|vPG0s->7{WAoa}ObP*&!IX=?AVk5=W4++_hb?9C1qa&hAMGuH6`F%pllREybo z=j#9+gMx=9WO%R+qlS&2dKX0;mRmYKWZ>+x@e;^R399@6+dg`i)`HbsYni8@-~bp9 z{XjbaVL|3v}FYc|A&M0s1 zQ{HEMNpNQO*u?ggNvoAvN3Cr7rHE+M2C;DbKXRu9r?u25)xhEIqVJn>eK#Ne4LXnLALK2Gn<`GyFWf6Z>O zzFAF1Um?5fTz;DiH>HD?oS$#J>f_dUrP4gS^~_^&_@lbUm?ljrk|Uc}X2CD*k7=oH zQ|dkr4Bd`IPkZDBI`50sj>^JY!~xTuIQ5>(p{l#q;%W+-eloMt$5@h^=fgf3i6gHM zcx5x|Up3`L-rK z>MZ2tGwfF zW{xIlb+oCrknXh(xrz>uJvwKkx-%@CRBAXtZYEaqI<@=!OIOwFcpnV)*5m92GtR<{ z@5crhPAZvsSH~aQ%iR78w$=Oa4|u+M_u@o$Vf4gLLqvDiH9ly|x0a~JiN?-0A^OjV zAH{RClvR6~e!sL6a!dmgu@KJdZePynE_GoNOq-gF^{PG*<}{0cgcDb>Y)N8M%Es2j zdNh_4sQsLRN5p*@C(vD2012H+K|75k#0ycsFo#8Y){|7DO$wOKsCUX~BJ|ZC2z{0N zf9tE`BGSDLX|6>b@YbF$$AVhSiad@}s~9{9r85rmmgL1`#PtrTCJv!vcB{fVy1_-N zMhorS!o}T32lI2ztFR~?=NOq*H{5Q-_#IaHohj*~jnCMVJuk7i>c2@}6*aZJGTvy6 zm}(lY=m1j24Q~teC-evEkW*6hN~-9)|7~QrrDs%6r5SPf53)L)DL5%=p(u}*z$*DW z_M%#SwGEP(kH#FLi%Q~Fc~}&jvXF`$&QdjribW*xL#FE7Hk}b>t1};&ASFkQmhEAFRqu%cFYV=-$_!{Z%Df_d3DCjG0xZ!i=nyyTDiF4XXhm3dtq^hsb2n&Dv@EP044G-fSY89+*s z)}O;-g6&*M7z}_BOV{Hoh0VDfa@#mt%xRz zA|D0W(v_j@FCDL}t(c&r*j-%AF3SkWJEKv%qLh{eiPB7Qh~nrJIGh~>>pA)m!wWFo zU{jell#)12AsmHFPY4wP-a?1(Lv^uzPpw{qr&(z#lXV{G>+-v1*zS#0Akwd`Br-i7 z)K52%BxOA|y0Jct?Uxb0M6wkM==?-P!}H_g^Ysw8VD=@QtIod-m!uRuW(D`#vp~L{tI0C`{qIB1T~{i0H`)W}paohwTO*v^ zfN^kL6ol7zenKv(xm~9Jb#-v#5loR5=b0`6PNhg2j}K8=MF+$?S%r~jv*B=|JB z{}uVIsaC&E>fd}x+KaZRvq5&|nb-4UbnTyQ&j6XwCpWInob59I_M<9e*R<8e#u}%g zYZ1ZWNwV24GjX^9QMagEZ_QvWHS>yz^(4O5CkA~(459Ql@6G9P&b~%>b{kuK@ZFco z2j1L}UeLkQ!m3Pq6&*M;M|TDVhju|t{DTZ}usZCbiway%1}lGV0U+-LIO_V~I+fLP zmQT0Oc#7#aV3=)-zf>vMoV$}WMH-DiH(ySfA(`+{9=qH`U3-t_pPu;qKY2s9cN;^Jr)U>+n` zdJRAfvl}xFN#)kKWfO#A!cA%5Y>EH0jai+IKKtjo)oRP8!h1$A-fhJCCWnk(UlVKy zhTGwB3>Ro==|s<^D>0Tbm;_W7wz+#cR!Hoc_eZeCmMXc}rve6h#?w4<5h$-CUrA#% z&+u0yULJdD%CuSe+S~6R$UcI{@7CV0ye8?K&>|S%Dp7Ge%=V}Zs-&F8Wr=UvGyGGe zsI?@D*hH z^Xi!6{#?S)OCNBe@G8N!b*U{of6)7v<=rB3gc(x9yN8A{^`qy`q3F;0SdH^fPl@}Y z%D8WLwQlw1v4Wj-KSt!2$j*O#XwEvE2RI*Hw1a+4-JNcjxxNGKf!U2NFIwFhIt>K;5BAU*KJ-gt+133wlLZ5SXnEH0NN zqu}DOPG;kG|4-!6b1cuxKX{Jx)=f(t9Y<oSg{aK1gDNm0tLDtXCuS= zd&ud!7!1fN7~VhsGD!CJ>i&kN3qPDpLUgh+C)W9D2m5pE9G&Z#EWfjjVRD!AXCJe9 z=98BC(*73GME6?Qw&>vp)lZpqan(N7f=;X`FT)1Z)dNQx3`}>?9Joj0zw<<~NM;ub zYe$MGHTKbv+Ey7G((~90n-;m3_;C`>eETc=+;$$=XQK>EzLJ)eF_ zHhHK!j`{}E@(%ww+N54)O0(aB?<@vpw|JQ*E?iiLIEa~&47wVWDe57y=j45qf8`fL zPyutfrCdmeTu3oZM4dMgY_>tGlKd0K;X%JdRdQa!hWUrsd|nSKL@Bsf@_pcKmj?4n zR-_)FygRTL{iUa+yD~;1{+7kalp;2sHvkI{g#(X$Oi%&&DxOZe3$pGi9AsXaqJ%ftr`z*HEi`we3B0P6U}NR6XW={H&g?X~>!dkqz(6)>@+5;9*y4%tF;>m%`S@ z)y?Uj_m9o@H~7QvsIm9+-h{8qmRXMws6Mds)icNhc5xQ|@lMCsCwCvCRMRbw8Wf1w ztQ_x74YRV6`W>1(Xqm7>IFb2@VRP6I-swhlGMnB&@SN~0>Pz` z@cz$(9-jt$>Sh00qkHI8F)>f%4=0B3A+#5-!yNZYqcOS^dfkc?uKj-M937WIC^db% vFj_4h*>7fF5MQWl?~^|TskIu*2^eVzVteU%doFmlJ)tqQ#cd<0q9FY*2R>?; delta 23513 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 R-SwTWe*u+V>T&=~0sttzlm-9* diff --git a/src/dayjs.ts b/src/dayjs.ts index 20b2100..6f03a14 100644 --- a/src/dayjs.ts +++ b/src/dayjs.ts @@ -2,22 +2,22 @@ import dayjsbr from "dayjs" export type { ManipulateType } from "dayjs" -import * as duration from "dayjs/plugin/duration" -import * as isSameOrAfter from "dayjs/plugin/isSameOrAfter" -import * as isSameOrBefore from "dayjs/plugin/isSameOrBefore" -import * as minMax from "dayjs/plugin/minMax" -import * as relativeTime from "dayjs/plugin/relativeTime" -import * as timezone from "dayjs/plugin/timezone" -import * as utc from "dayjs/plugin/utc" -import * as weekOfYear from "dayjs/plugin/weekOfYear" +import duration from "dayjs/plugin/duration" +import isSameOrAfter from "dayjs/plugin/isSameOrAfter" +import isSameOrBefore from "dayjs/plugin/isSameOrBefore" +import minMax from "dayjs/plugin/minMax" +import relativeTime from "dayjs/plugin/relativeTime" +import timezone from "dayjs/plugin/timezone" +import utc from "dayjs/plugin/utc" +import weekOfYear from "dayjs/plugin/weekOfYear" -dayjsbr.extend(utc.default) -dayjsbr.extend(timezone.default) -dayjsbr.extend(weekOfYear.default) -dayjsbr.extend(isSameOrBefore.default) -dayjsbr.extend(isSameOrAfter.default) -dayjsbr.extend(minMax.default) -dayjsbr.extend(relativeTime.default) -dayjsbr.extend(duration.default) +dayjsbr.extend(utc) +dayjsbr.extend(timezone) +dayjsbr.extend(weekOfYear) +dayjsbr.extend(isSameOrBefore) +dayjsbr.extend(isSameOrAfter) +dayjsbr.extend(minMax) +dayjsbr.extend(relativeTime) +dayjsbr.extend(duration) export { dayjsbr } From 8eafd7c9433383797f6e024f8ac86a938976e98f Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 11:46:39 -0300 Subject: [PATCH 06/36] ajustes --- package.json | 8 +++++++- pacote.tgz | Bin 24563 -> 24569 bytes 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 38560c4..916b836 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.269.0", + "version": "0.271.0", "description": "", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", @@ -37,5 +37,11 @@ "tsup": "8.5.0", "typescript": "~5.9.3", "vitest": "^3.2.4" + }, + "peerDependencies": { + "cross-fetch": "4.1.0", + "dayjs": "^1.11.18", + "uuid": "^11.1.0", + "zod": "4.1.4" } } diff --git a/pacote.tgz b/pacote.tgz index 95c3f4441612cafec9762a0ddd81fee117c8ef81..8cce6e27069c2eccdf51e82edd38d5b3a17a5540 100644 GIT binary patch delta 16111 zcmVI5pRJ;G(xih!_xjFt1q%N>DM~gm6kR&rVW~oqXcF9}0 zx9ly+^gu~;Rh~?QxXH*r8ZQa3vz>Zx6gtUK8Zd*DCz%3@HB_e0pBA9Ni!-6`nwoi2 zJELdrh?hemcVFZJFQ7_sr1&&CvyruFb^X>X-`)5=o>(OP#+xPk=C5LoNuodlCF<*&Szm14|AK7x!dy*nidSVl81*8g_L`^wYS2ilJy z;9B)oOcFk5_u?<{Uk{5wMjJEmkOUa@0TE)E)c5T0&EQ3I%0?yA~AN-Z84 zcNNvbSD@0J&$J>$AH8;6|HUbz)5Ml>1bbjTJ5jAnVt3|b8ADWm=+tEiG$A}i~> zEV>8}EAtN5=E)VVD}XA$>nmXFz$~^YM*e z-jL=`ct7{`kN4l}-2g6H|92YxUsjiw=l)-RVe4N>QX0#DYv=BK<^N*V|K|_@UnKv% z*VO;He|K;G{(p1pf94|B8j_FU37?Ouk6JW}_{q*0JRfDDuil=^S9J*~O%!gEC!xH0 z#e|W~_%KB41B_t=(jwHem7B%N(#nzrB~*Mkic(9kN(ealo{s4b-iM?O1}FZ9e+1!> z6BdUVgq|U{yNbLhJOq^@ExrwS?BN6EVWeK3fA*l3Eiqz#I0$`8s33>oVHEO=`4j>+ z1u0Yuh8-!33F;|*_G`Y3+{4AcxH)q#AZ zfB*15KKxG%a)5PFRg)gJryu?i!WxQ=h@RJNVN`vIi8jC>|$|!ib?dgGmle zsWiwz=nwy%_#q_;B|$h~DTqU1r2fh=Vg(~H4L|&c@bicY!a$y1e#NK&i`}E!Q6>I0 zOL4+Wd;x<%Ne0o%7@%dMW;~z*mI)sfvj$eDfsH}wj24s57-(@Ej-G^v57fhkf5!fJ zm~f0eH?ETBVNv031qBTPc}gc8kAOHu>%yEg|PPbeO9Mae-ErE z2kQ6YwpYT=4ZjLs&$IC7eHZ>2f3N=+TbmD`Ze8!Xzufv?TW$J(TDr5gI$!@c@$a|4 zCI9)~{wsMUkiY&0r1jtLNJeNg&$v`LlgDkRvn4V{hIvRy%te+`$>|k3!4NonSE1Om z_4BxX2?*HOk%$%2lrTae6gY$&*L-}*;dhO5IN?OFoQzTqk)^y&XK`_{f7AKxZ+}ac zJ#~;nKh|r83S4syFm_GHSZ6+P6u@?@)6Nw8LeJ{ zR*Q^A*yrC!H4+|^11NLQf9V_?92`<{BvH^H08I%xW{UwE>!0kD`WdOd{r>?U{-JcI zbD#Ww|JVQif0I{&kpr{HfgHmj@~dH5V^}3aD3CdnoGMk9JzFqCD}12AO3sM%as|61MhVY zh+y$3l}lyBg^=?b=KvdrxQf$M^5%HU%W?3`!Cv#oW&jG;33!?<7W9Fsa(K|`;4;Q5 zJ&!RuBR!?NoQznCH)n>L)->(amJwpn-Mw8<8Kxip zLT=wS_cV;`m%>FUWy6$W-+&dw?b{@&Twpl~!jxqn{*i{99KcW?m>mZj^FxqKu+uE1 zy>j1d+*vxE9T=fdu(YUN?+bWugZsD|T4JM*2l3$_s!9h8f1@*&!kkfa&*d5_xtloaz9Ji zz#D^=wpCH}xIqn*`E$dS`2V&$&W-T@%lB5B@BgbSOY`^t8~Fzg4o>^l<~I)>Zaw<; zyT{-E@Z{;Uf9>age6jQL)$2d~>!1J4^28_#GuyHpm-9aF-#=hcxVSLcgn-H(_-wEz z5le>IQIEfW|K-&2Vmh*Ir+@!+*Z%6OuWmo3*^!sRVHw-b`z7aJPCW^~r(FYB&h%g% zC<*$L>H09@hctS56bjF${tb95?M}w{C&I1h8DP9dJ?t?h$O~ z_u1`bwz|%~==aAw49L>0TXwJ;?)4|=f4aw9=~pOVy>#lV1C>c10M^5S{e_)ucsl>q zt)%$>|qhmXfe7Ew=op|5@(K zzAgIqZ2{YJIOKgx{_RIJ0CsW7W>D#P--)3IMk6F^U z@Q>v($FX-L#Jj$o_3zu6_evt~TdEez&AdnGeTxM=?OTK5x8-JzW52`l>&mf3gg#PG zAsL74nL@j3^{u_W)wkSi*ZKl~e<45a!|(g@C#K(*>0iU|ujNln{~FT0C_H9;3;u_% ze=zA=VIm26CL6NQkI==64OO~W3!q1|fDiE~1WY;hc`xz~Igc1kY{%pH)<`4UDf=Uq{UH^)b>dSau{(@BDKy=naZ-uV5%`2F1Y{n+^Z z%J}_MZY$foe`$Zi0ROhXJ7K3;&l-jU%SC_uRv5!eu;s>K%+yyGvZt;DeKQ)Ke+T+z z#D)eeyFBnHITsePHRxeHIu8`GHRuUDJQo)8HE3abERGn<;>g3l zW#5motI#;&CoCQDFsWd;E<#5s6QFYd;Bi#>ET`@1Y=Sd(nsrAJy!B{s9$dbCoQhB& zi3LS~(ZD4>1(z`l1pz`oh`n&8nFmay2K#5umpe@TW5Se zJVI#j)#2!T=+)t9WDG)iG|U>KP1iXK5;d_Fxrg$pu@c!fhPn5h2 z#N)lmFr|ag=RM1>WGn)^8&F&WSswA8RV|2;bjY8&Pr%&p$9!pN>mD@`O8Z3Gf=ZS+ z1^5z=B=H%?JC?p-Wqspb7D1QnWIUxq2G<#N&&uvwxmDa%@+ewAf9Gy?sq5EzmYz+_ zD^}(SmOai`Y=>?QoH_EAmG;q~%g zdSUR+1HRGywr_PKe|{Wx=_u@um%F1}99iz`J_XMq_5`@}jQ9A|DJC~PpI+~?VXpFd&FqKQqh~hJOj0*MR@&E`WX0lO9zWjL<$Jwd?jCHVDJKgP=824ExtR9I!bFnBe>QOU-|%c_dayTj2Yt(O zU&-}3=<}(&$@}(%jz&H1f=kjM_bKl&cO;$Oq+IkeXsP-9A!X%$s z2d?LN{`>d4dvN12K~3Tm{HO|#i{J$40Xc$~@Dtma%Deu7`=sx0DDlh2!NNpL$$PRe z@lj@T+`nHN%VS5+MDm`1l%^-#H~onK;dLx}yXsdDf5&6nZSV1jfon?&6lU00p64a{ z$3Fa+y6AmV^mcbo+$Vc`)4i#lHF8qCF6Q!^sUx?iBb*V&B326s7UWivr6CixN@D7h zE78<0bF)3Ce;@w#_15zKeI_@F_wV&?R&H07G$l!@q^WzYwUO1AL*@cfcg5Lr)Yf7% zXObPIfBXd9aKcJRZMh&4N(MP@$3LEKt#W*2+s1akV8c*kDStlf;j)RD5Om0jx zc-Z$ND#XMueHz&l_1@WIF35Nur@hQgIUaN26nZ=q-ab6rGx0z|_ILNzWwI>L&)haB zTS_`Zfq!l0Y_Q%g+jG1@2+wBrH*)OdsY5f_=|tcTu+W=F7J^)o5bMMB)r6O5+* zQQxxEsa;#G%vm4s6kHkaCNACM1Clzre-L^&6Tk}ScmRo0X9uWL96cd;h=!Wn?A9$? zeI5LEVWRO(4@`O-H^lZ#!?f&1IYlMb%>uDbvox(vtr&BfDgo4N4)WN-dm+tjV_H38#X$}n*KaZFf@u7XNyD*{C_X}8H zx{gu1K*Y;DH5 zRDeZN1?_<*?tr7&~?vB3HptTQEzQ zw$4yNMw@8$z#!&Eu+z)cVNgG_o>xWR6roF7kV~kx2I%0V(>-;qm^^#@e+0BgUby2` z`1_4JUW31XoZ@W*-I~Y)x&O)WSX{<{k@|BbxQe{`I_`J+2KbGA_2;$5wZLT?-@)$n z!g2r9|D&6+{-4&R!tUe{nrC_jayf@28ZoeP3AuX)pYl1-O?mn8C_LqEXe7wTLieRi ziAP*{MR&I)P%TiM8$&8ef7B0C_Z7m(a0d@g0{74Gse*_+#XRk2{4IWfWL$72+#SqR z7jCgX3M0zhXPAh)?rRK5yQvbu$D})i-=?o}_bp~iM) eI`vUv~7`lM5t(G3El6p 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 B1Z)5R delta 16125 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 Pce?%sBD#*`08Rn`BgG#Z From 68a4d2a49654698f1299b2f2bd4054e35447753f Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:04:30 -0300 Subject: [PATCH 07/36] . --- dist-front/index.mjs | 600 +++++++++++++++++++++++++++++++++++++- package.json | 2 +- pacote.tgz | Bin 24569 -> 24987 bytes tsup/tsup.config.front.ts | 8 +- 4 files changed, 606 insertions(+), 4 deletions(-) diff --git a/dist-front/index.mjs b/dist-front/index.mjs index e11214d..da21edc 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1,599 @@ -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 i=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),r=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[i]={valor:e,validade:r});let n=d[i];if(!(n?.validade&&n.validaded,io=y,ro=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";import P from"dayjs/plugin/isSameOrAfter";import C from"dayjs/plugin/isSameOrBefore";import I from"dayjs/plugin/minMax";import U from"dayjs/plugin/relativeTime";import A from"dayjs/plugin/timezone";import E from"dayjs/plugin/utc";import J from"dayjs/plugin/weekOfYear";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="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"}],ko=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return q.find(i=>i.ext===e)?.tipo||"outros"};var So={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var No=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let i=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(i,JSON.stringify(e));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import K from"cross-fetch";var Mo=o=>new Promise(e=>setTimeout(()=>e(!0),o)),g=o=>Object.keys(o).join("/");var F="https://log.idz.one",G="/loki/api/v1/push",V=async({objeto:o})=>{let e=await K(`${F}${G}`,{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="",Uo=o=>{f=o},Ao=({app:o,eProducao:e,parametros:t})=>({inquilino:i,usuario:r,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:i,usuario:r,level:a,...t||{},...n||{},..._||{}},values:[[w,L]]}]};return await V({objeto:j})};var h=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}`)}},Jo=h,qo=h;var Fo=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Vo="Ol\xE1 Mundo! (vari\xE1vel)";var Yo=(...o)=>o.map(e=>e==null?"":String(e).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:e,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let i=new URL(typeof window<"u"?window.location.href:"http://localhost");i.pathname=this.caminho,i.search="";let r=Object.entries(e);for(let[n,a]of r)i.searchParams.set(String(n),JSON.stringify(a));return i.hash="",t&&(i.hash=`#${i.search}`,i.search=""),i.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"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let a=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var D=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(D||{}),Xo=[{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,ee=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,te=W;export{b as TipagemRotas,oo as aleatorio,y as cacheM,ro as cacheMFixo,io as cacheMemoria,T as camposComuns,Oo as cdn_carro_de_boi,m as dayjsbr,Uo as defineCwd,Y as erUuid,Mo as esperar,q as extensoes,So as graficos_pilao,No as localValor,Ao as logger,g as nomeVariavel,qo as objetoPg,N as operadores,h as paraObjetoRegistroPg,Jo as pgObjeto,V as postLogger,D as siglas_unidades_medida,Yo as texto_busca,ko as tipoArquivo,z as tipoUsuarioResiduos,S as tx,Fo as umaFuncao,Vo as umaVariavel,Xo as unidades_medida,te as uuid,H as uuidV3,W as uuidV4,ao as uuid_null,ee as validarUuid,to as verCacheM,po as zFiltro,$ as zOperadores}; +// src/aleatorio.ts +var alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); +var aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; + +// src/cacheMemoria.ts +var _cache = {}; +globalThis.cacheMemoria_cache = _cache; +var cacheM = (chave, valor, validadeSeg) => { + const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); + const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; + if (valor !== void 0) { + _cache[txChave] = { + valor, + validade + }; + } + const busca = _cache[txChave]; + if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { + return void 0; + } + return busca?.valor; +}; +var verCacheM = () => _cache; +var cacheMemoria = cacheM; +var cacheMFixo = (chave) => (valor) => cacheM(chave, valor); + +// src/constantes.ts +var uuid_null = "00000000-0000-0000-0000-000000000000"; +var camposComuns = /* @__PURE__ */ ((camposComuns2) => { + camposComuns2["codigo"] = "codigo"; + camposComuns2["excluido"] = "excluido"; + camposComuns2["data_hora_criacao"] = "data_hora_criacao"; + camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; + camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; + camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; + camposComuns2["versao"] = "versao"; + return camposComuns2; +})(camposComuns || {}); +var tx = /* @__PURE__ */ ((tx2) => { + tx2["token"] = "token"; + return tx2; +})(tx || {}); +var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { + tipoUsuarioResiduos2["Usuario"] = "usuario"; + tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; + return tipoUsuarioResiduos2; +})(tipoUsuarioResiduos || {}); + +// src/consulta.ts +import z from "zod"; +var operadores = /* @__PURE__ */ ((operadores2) => { + operadores2["="] = "="; + operadores2["!="] = "!="; + operadores2[">"] = ">"; + operadores2[">="] = ">="; + operadores2["<"] = "<"; + operadores2["<="] = "<="; + operadores2["like"] = "like"; + operadores2["in"] = "in"; + return operadores2; +})(operadores || {}); +var zOperadores = z.enum([ + "=", + "!=", + ">", + ">=", + "<", + "<=", + "like", + "in" +]); +var zFiltro = z.object({ + coluna: z.string(), + valor: z.any(), + operador: zOperadores, + ou: z.boolean().optional() +}); + +// src/dayjs.ts +import dayjsbr from "dayjs"; +import duration from "dayjs/plugin/duration"; +import isSameOrAfter from "dayjs/plugin/isSameOrAfter"; +import isSameOrBefore from "dayjs/plugin/isSameOrBefore"; +import minMax from "dayjs/plugin/minMax"; +import relativeTime from "dayjs/plugin/relativeTime"; +import timezone from "dayjs/plugin/timezone"; +import utc from "dayjs/plugin/utc"; +import weekOfYear from "dayjs/plugin/weekOfYear"; +dayjsbr.extend(utc); +dayjsbr.extend(timezone); +dayjsbr.extend(weekOfYear); +dayjsbr.extend(isSameOrBefore); +dayjsbr.extend(isSameOrAfter); +dayjsbr.extend(minMax); +dayjsbr.extend(relativeTime); +dayjsbr.extend(duration); + +// src/ecosistema/urls.ts +var cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +// src/extensoes.ts +var extensoes = [ + { + 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" + } +]; +var tipoArquivo = (nomeArquivo) => { + const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); + const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); + return extensao?.tipo || "outros"; +}; + +// src/graficosPilao.ts +var graficos_pilao = { + Condicionantes: { + grafico: "condicionantes-criadas", + titulo: "Condicionantes Criadas" + }, + Licen\u00E7as: { + grafico: "licencas-criadas", + titulo: "Licen\xE7as Criadas" + } +}; + +// src/local/index.ts +var localValor = (chave_, valor) => { + const localStorage = globalThis.localStorage; + if (typeof localStorage == "undefined") return null; + const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); + try { + if (valor !== void 0) { + localStorage.setItem(chave, JSON.stringify(valor)); + } + const v2 = localStorage.getItem(chave); + if (v2 === null) return null; + try { + return JSON.parse(v2); + } catch { + return v2; + } + } catch { + return null; + } +}; + +// src/logger.ts +import crossFetch from "cross-fetch"; + +// src/variaveisComuns.ts +var esperar = (ms) => new Promise( + (resolve) => setTimeout(() => resolve(true), ms) +); +var nomeVariavel = (v) => Object.keys(v).join("/"); + +// src/logger.ts +var LOKI_BASE_URL = "https://log.idz.one"; +var LOKI_ENDPOINT = "/loki/api/v1/push"; +var postLogger = async ({ + objeto +}) => { + 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]; +}; +var cwd = ""; +var defineCwd = (novoCwd) => { + cwd = novoCwd; +}; +var 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 = [`${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 = { + 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; +}; + +// src/postgres.ts +var paraObjetoRegistroPg = (entrada) => { + try { + return Object.fromEntries( + Object.entries(entrada).map(([k, v]) => [ + k, + v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) + ]) + ); + } catch (error) { + throw new Error( + `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` + ); + } +}; +var pgObjeto = paraObjetoRegistroPg; +var objetoPg = paraObjetoRegistroPg; + +// src/testes-de-variaveis/umaFuncao.ts +var umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; + +// src/testes-de-variaveis/umaVariavel.ts +var umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; + +// src/texto_busca.ts +var texto_busca = (...texto) => texto.map( + (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() +).join(" "); + +// src/tipagemRotas.ts +var TipagemRotas = class { + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ + caminho, + acaoIr, + rotulo + }) { + this._partesCaminho = []; + this._acaoIr = acaoIr; + this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); + this.rotulo = rotulo; + } + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho() { + const ret = `/${this._partesCaminho.join("/")}`; + return ret; + } + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial) { + this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); + } + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query, usarComoHash) { + const url = new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + url.pathname = this.caminho; + url.search = ""; + const queryKeys = Object.entries(query); + for (const [key, value] of queryKeys) { + url.searchParams.set(String(key), JSON.stringify(value)); + } + url.hash = ""; + if (usarComoHash) { + url.hash = `#${url.search}`; + url.search = ""; + } + return url.href; + } + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query) { + if (this._acaoIr) { + this._acaoIr(this.endereco({ ...query })); + } else { + if (typeof window != "undefined") { + window.location.href = this.endereco({ ...query }); + } + } + } + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada) { + const url = urlEntrada ? new URL(urlEntrada) : new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + const query = url.searchParams; + let queryObj = Object.fromEntries(query.entries()); + const hash = url.hash; + if (hash) { + const hashObj = Object.fromEntries( + new URLSearchParams(hash.slice(1)).entries() + ); + queryObj = { ...queryObj, ...hashObj }; + } + for (const chave in queryObj) { + try { + queryObj[chave] = JSON.parse(queryObj[chave]); + } catch { + console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); + } + } + return queryObj; + } +}; + +// src/unidades_medida.ts +var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { + siglas_unidades_medida2["UN"] = "UN"; + siglas_unidades_medida2["KG"] = "KG"; + siglas_unidades_medida2["TON"] = "TON"; + siglas_unidades_medida2["g"] = "g"; + siglas_unidades_medida2["M\xB3"] = "M\xB3"; + siglas_unidades_medida2["Lt"] = "Lt"; + return siglas_unidades_medida2; +})(siglas_unidades_medida || {}); +var unidades_medida = [ + { + sigla_unidade: "KG", + nome: "Quilograma", + sigla_normalizada: "KG", + normalizar: (valor) => valor, + tipo: "massa" + }, + { + sigla_unidade: "g", + nome: "Grama", + sigla_normalizada: "KG", + normalizar: (valor) => valor / 1e3, + tipo: "massa" + }, + { + sigla_unidade: "TON", + nome: "Tonelada", + sigla_normalizada: "KG", + normalizar: (valor) => valor * 1e3, + tipo: "massa" + }, + { + sigla_unidade: "Lt", + nome: "Litro", + sigla_normalizada: "Lt", + normalizar: (valor) => valor, + tipo: "volume" + }, + { + sigla_unidade: "M\xB3", + nome: "Metro C\xFAbico", + sigla_normalizada: "Lt", + normalizar: (valor) => valor * 1e3, + tipo: "volume" + }, + { + sigla_unidade: "UN", + nome: "Unidade", + sigla_normalizada: "UN", + normalizar: (valor) => valor, + tipo: "unidade" + } +]; + +// src/uuid.ts +import { NIL, v3, v4 } from "uuid"; +var erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; +var validarUuid = (uuid2) => { + const retorno = erUuid.test(String(uuid2 || "")); + return retorno; +}; +var uuidV3 = (chave, grupo) => { + return v3( + // Converte a chave para string (de forma segura) + typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), + // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL + grupo ? uuidV3(grupo) : NIL + ); +}; +var uuidV4 = v4; +var uuid = uuidV4; +export { + TipagemRotas, + aleatorio, + cacheM, + cacheMFixo, + cacheMemoria, + camposComuns, + cdn_carro_de_boi, + dayjsbr, + defineCwd, + erUuid, + esperar, + extensoes, + graficos_pilao, + localValor, + logger, + nomeVariavel, + objetoPg, + operadores, + paraObjetoRegistroPg, + pgObjeto, + postLogger, + siglas_unidades_medida, + texto_busca, + tipoArquivo, + tipoUsuarioResiduos, + tx, + umaFuncao, + umaVariavel, + unidades_medida, + uuid, + uuidV3, + uuidV4, + uuid_null, + validarUuid, + verCacheM, + zFiltro, + zOperadores +}; diff --git a/package.json b/package.json index 916b836..1fe0dbe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.271.0", + "version": "0.272.0", "description": "", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 8cce6e27069c2eccdf51e82edd38d5b3a17a5540..73ce297283842797a2705d2f37bf2c0f536b30ed 100644 GIT binary patch literal 24987 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
  • $Z0 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 eI`vUv~7`lM5t(G3El6p;Aki_ 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 Z%eEstDmytSqjY(~p$5Up!6_ra{SO;DrF8%R diff --git a/tsup/tsup.config.front.ts b/tsup/tsup.config.front.ts index 9e27a90..8470b79 100644 --- a/tsup/tsup.config.front.ts +++ b/tsup/tsup.config.front.ts @@ -14,10 +14,14 @@ export const tsup_config_front: Options = { dts: true, // Gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS // legacyOutput e outExtension foram removidos por não serem necessários sourcemap: false, - minify: true, // Recomendado para builds de produção + minify: false, // Recomendado para builds de produção platform: "browser", - external: ["fs", "path", "os", "stream", "module", "util"], + external: ['dayjs'], outExtension: () => ({ js: ".mjs" }), + shims: true, + + + } // Exporta a configuração padrão usando defineConfig From da38648a3528321d13181256126c8b8e34ff1fcf Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:10:44 -0300 Subject: [PATCH 08/36] . --- package.json | 1 + tsup/tsup.config.front.ts | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1fe0dbe..ac062bf 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "types": "./dist-front/index.d.mts", "exports": { ".": { + "browser": { "import": "./dist-front/index.mjs", "types": "./dist-front/index.d.ts" }, "types": "./dist-front/index.d.mts", "import": "./dist-front/index.mjs", "require": "./dist-back/index.js" diff --git a/tsup/tsup.config.front.ts b/tsup/tsup.config.front.ts index 8470b79..685f79e 100644 --- a/tsup/tsup.config.front.ts +++ b/tsup/tsup.config.front.ts @@ -14,14 +14,11 @@ export const tsup_config_front: Options = { dts: true, // Gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS // legacyOutput e outExtension foram removidos por não serem necessários sourcemap: false, - minify: false, // Recomendado para builds de produção + minify: true, // Recomendado para builds de produção platform: "browser", external: ['dayjs'], outExtension: () => ({ js: ".mjs" }), - shims: true, - - - + shims: false, } // Exporta a configuração padrão usando defineConfig From 4daa78f698b0ba41426af79b46adadef9dc99ada Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:21:27 -0300 Subject: [PATCH 09/36] testando unbuild --- build.config.ts | 12 + dist/index.cjs | 597 +++++++++++++++++++++++++ dist/index.d.cts | 312 ++++++++++++++ dist/index.d.mts | 312 ++++++++++++++ dist/index.d.ts | 312 ++++++++++++++ dist/index.mjs | 546 +++++++++++++++++++++++ package.json | 11 +- pnpm-lock.yaml | 1079 +++++++++++++++++++++++++++++++++++++++++++++- 8 files changed, 3164 insertions(+), 17 deletions(-) create mode 100644 build.config.ts create mode 100644 dist/index.cjs create mode 100644 dist/index.d.cts create mode 100644 dist/index.d.mts create mode 100644 dist/index.d.ts create mode 100644 dist/index.mjs diff --git a/build.config.ts b/build.config.ts new file mode 100644 index 0000000..de0def4 --- /dev/null +++ b/build.config.ts @@ -0,0 +1,12 @@ +import { defineBuildConfig } from 'unbuild' + +// pnpm exec unbuild + +export default defineBuildConfig({ + entries: ['src/index'], + clean: true, + declaration: true, + rollup: { + emitCJS: true, + }, +}) diff --git a/dist/index.cjs b/dist/index.cjs new file mode 100644 index 0000000..04f68fd --- /dev/null +++ b/dist/index.cjs @@ -0,0 +1,597 @@ +'use strict'; + +const z = require('zod'); +const dayjsbr = require('dayjs'); +const duration = require('dayjs/plugin/duration'); +const isSameOrAfter = require('dayjs/plugin/isSameOrAfter'); +const isSameOrBefore = require('dayjs/plugin/isSameOrBefore'); +const minMax = require('dayjs/plugin/minMax'); +const relativeTime = require('dayjs/plugin/relativeTime'); +const timezone = require('dayjs/plugin/timezone'); +const utc = require('dayjs/plugin/utc'); +const weekOfYear = require('dayjs/plugin/weekOfYear'); +const crossFetch = require('cross-fetch'); +const uuid$1 = require('uuid'); + +function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; } + +const z__default = /*#__PURE__*/_interopDefaultCompat(z); +const dayjsbr__default = /*#__PURE__*/_interopDefaultCompat(dayjsbr); +const duration__default = /*#__PURE__*/_interopDefaultCompat(duration); +const isSameOrAfter__default = /*#__PURE__*/_interopDefaultCompat(isSameOrAfter); +const isSameOrBefore__default = /*#__PURE__*/_interopDefaultCompat(isSameOrBefore); +const minMax__default = /*#__PURE__*/_interopDefaultCompat(minMax); +const relativeTime__default = /*#__PURE__*/_interopDefaultCompat(relativeTime); +const timezone__default = /*#__PURE__*/_interopDefaultCompat(timezone); +const utc__default = /*#__PURE__*/_interopDefaultCompat(utc); +const weekOfYear__default = /*#__PURE__*/_interopDefaultCompat(weekOfYear); +const crossFetch__default = /*#__PURE__*/_interopDefaultCompat(crossFetch); + +const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); +const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; + +const _cache = {}; +globalThis.cacheMemoria_cache = _cache; +const cacheM = (chave, valor, validadeSeg) => { + const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); + const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; + if (valor !== void 0) { + _cache[txChave] = { + valor, + validade + }; + } + const busca = _cache[txChave]; + if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { + return void 0; + } + return busca?.valor; +}; +const verCacheM = () => _cache; +const cacheMemoria = cacheM; +const cacheMFixo = (chave) => (valor) => cacheM(chave, valor); + +const uuid_null = "00000000-0000-0000-0000-000000000000"; +var camposComuns = /* @__PURE__ */ ((camposComuns2) => { + camposComuns2["codigo"] = "codigo"; + camposComuns2["excluido"] = "excluido"; + camposComuns2["data_hora_criacao"] = "data_hora_criacao"; + camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; + camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; + camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; + camposComuns2["versao"] = "versao"; + return camposComuns2; +})(camposComuns || {}); +var tx = /* @__PURE__ */ ((tx2) => { + tx2["token"] = "token"; + return tx2; +})(tx || {}); +var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { + tipoUsuarioResiduos2["Usuario"] = "usuario"; + tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; + return tipoUsuarioResiduos2; +})(tipoUsuarioResiduos || {}); + +var operadores = /* @__PURE__ */ ((operadores2) => { + operadores2["="] = "="; + operadores2["!="] = "!="; + operadores2[">"] = ">"; + operadores2[">="] = ">="; + operadores2["<"] = "<"; + operadores2["<="] = "<="; + operadores2["like"] = "like"; + operadores2["in"] = "in"; + return operadores2; +})(operadores || {}); +const zOperadores = z__default.enum([ + "=", + "!=", + ">", + ">=", + "<", + "<=", + "like", + "in" +]); +const zFiltro = z__default.object({ + coluna: z__default.string(), + valor: z__default.any(), + operador: zOperadores, + ou: z__default.boolean().optional() +}); + +dayjsbr__default.extend(utc__default); +dayjsbr__default.extend(timezone__default); +dayjsbr__default.extend(weekOfYear__default); +dayjsbr__default.extend(isSameOrBefore__default); +dayjsbr__default.extend(isSameOrAfter__default); +dayjsbr__default.extend(minMax__default); +dayjsbr__default.extend(relativeTime__default); +dayjsbr__default.extend(duration__default); + +const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +const extensoes = [ + { + 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" + } +]; +const tipoArquivo = (nomeArquivo) => { + const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); + const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); + return extensao?.tipo || "outros"; +}; + +const graficos_pilao = { + Condicionantes: { + grafico: "condicionantes-criadas", + titulo: "Condicionantes Criadas" + }, + Licen\u00E7as: { + grafico: "licencas-criadas", + titulo: "Licen\xE7as Criadas" + } +}; + +const localValor = (chave_, valor) => { + const localStorage = globalThis.localStorage; + if (typeof localStorage == "undefined") return null; + const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); + try { + if (valor !== void 0) { + localStorage.setItem(chave, JSON.stringify(valor)); + } + const v2 = localStorage.getItem(chave); + if (v2 === null) return null; + try { + return JSON.parse(v2); + } catch { + return v2; + } + } catch { + return null; + } +}; + +const esperar = (ms) => new Promise( + (resolve) => setTimeout(() => resolve(true), ms) +); +const nomeVariavel = (v) => Object.keys(v).join("/"); + +const LOKI_BASE_URL = "https://log.idz.one"; +const LOKI_ENDPOINT = "/loki/api/v1/push"; +const postLogger = async ({ + objeto +}) => { + const response = await crossFetch__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 = [`${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 = { + 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; +}; + +const paraObjetoRegistroPg = (entrada) => { + try { + return Object.fromEntries( + Object.entries(entrada).map(([k, v]) => [ + k, + v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) + ]) + ); + } catch (error) { + throw new Error( + `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` + ); + } +}; +const pgObjeto = paraObjetoRegistroPg; +const objetoPg = paraObjetoRegistroPg; + +const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; + +const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; + +const texto_busca = (...texto) => texto.map( + (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() +).join(" "); + +class TipagemRotas { + _partesCaminho = []; + _acaoIr; + rotulo; + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ + caminho, + acaoIr, + rotulo + }) { + this._acaoIr = acaoIr; + this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); + this.rotulo = rotulo; + } + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho() { + const ret = `/${this._partesCaminho.join("/")}`; + return ret; + } + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial) { + this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); + } + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query, usarComoHash) { + const url = new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + url.pathname = this.caminho; + url.search = ""; + const queryKeys = Object.entries(query); + for (const [key, value] of queryKeys) { + url.searchParams.set(String(key), JSON.stringify(value)); + } + url.hash = ""; + if (usarComoHash) { + url.hash = `#${url.search}`; + url.search = ""; + } + return url.href; + } + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query) { + if (this._acaoIr) { + this._acaoIr(this.endereco({ ...query })); + } else { + if (typeof window != "undefined") { + window.location.href = this.endereco({ ...query }); + } + } + } + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada) { + const url = urlEntrada ? new URL(urlEntrada) : new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + const query = url.searchParams; + let queryObj = Object.fromEntries(query.entries()); + const hash = url.hash; + if (hash) { + const hashObj = Object.fromEntries( + new URLSearchParams(hash.slice(1)).entries() + ); + queryObj = { ...queryObj, ...hashObj }; + } + for (const chave in queryObj) { + try { + queryObj[chave] = JSON.parse(queryObj[chave]); + } catch { + console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); + } + } + return queryObj; + } +} + +var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { + siglas_unidades_medida2["UN"] = "UN"; + siglas_unidades_medida2["KG"] = "KG"; + siglas_unidades_medida2["TON"] = "TON"; + siglas_unidades_medida2["g"] = "g"; + siglas_unidades_medida2["M\xB3"] = "M\xB3"; + siglas_unidades_medida2["Lt"] = "Lt"; + return siglas_unidades_medida2; +})(siglas_unidades_medida || {}); +const unidades_medida = [ + { + sigla_unidade: "KG", + nome: "Quilograma", + sigla_normalizada: "KG", + normalizar: (valor) => valor, + tipo: "massa" + }, + { + sigla_unidade: "g", + nome: "Grama", + sigla_normalizada: "KG", + normalizar: (valor) => valor / 1e3, + tipo: "massa" + }, + { + sigla_unidade: "TON", + nome: "Tonelada", + sigla_normalizada: "KG", + normalizar: (valor) => valor * 1e3, + tipo: "massa" + }, + { + sigla_unidade: "Lt", + nome: "Litro", + sigla_normalizada: "Lt", + normalizar: (valor) => valor, + tipo: "volume" + }, + { + sigla_unidade: "M\xB3", + nome: "Metro C\xFAbico", + sigla_normalizada: "Lt", + normalizar: (valor) => valor * 1e3, + tipo: "volume" + }, + { + sigla_unidade: "UN", + nome: "Unidade", + sigla_normalizada: "UN", + normalizar: (valor) => valor, + tipo: "unidade" + } +]; + +const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; +const validarUuid = (uuid2) => { + const retorno = erUuid.test(String(uuid2 || "")); + return retorno; +}; +const uuidV3 = (chave, grupo) => { + return uuid$1.v3( + // Converte a chave para string (de forma segura) + typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), + // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL + grupo ? uuidV3(grupo) : uuid$1.NIL + ); +}; +const uuidV4 = uuid$1.v4; +const uuid = uuidV4; + +exports.dayjsbr = dayjsbr__default; +exports.TipagemRotas = TipagemRotas; +exports.aleatorio = aleatorio; +exports.cacheM = cacheM; +exports.cacheMFixo = cacheMFixo; +exports.cacheMemoria = cacheMemoria; +exports.camposComuns = camposComuns; +exports.cdn_carro_de_boi = cdn_carro_de_boi; +exports.defineCwd = defineCwd; +exports.erUuid = erUuid; +exports.esperar = esperar; +exports.extensoes = extensoes; +exports.graficos_pilao = graficos_pilao; +exports.localValor = localValor; +exports.logger = logger; +exports.nomeVariavel = nomeVariavel; +exports.objetoPg = objetoPg; +exports.operadores = operadores; +exports.paraObjetoRegistroPg = paraObjetoRegistroPg; +exports.pgObjeto = pgObjeto; +exports.postLogger = postLogger; +exports.siglas_unidades_medida = siglas_unidades_medida; +exports.texto_busca = texto_busca; +exports.tipoArquivo = tipoArquivo; +exports.tipoUsuarioResiduos = tipoUsuarioResiduos; +exports.tx = tx; +exports.umaFuncao = umaFuncao; +exports.umaVariavel = umaVariavel; +exports.unidades_medida = unidades_medida; +exports.uuid = uuid; +exports.uuidV3 = uuidV3; +exports.uuidV4 = uuidV4; +exports.uuid_null = uuid_null; +exports.validarUuid = validarUuid; +exports.verCacheM = verCacheM; +exports.zFiltro = zFiltro; +exports.zOperadores = zOperadores; diff --git a/dist/index.d.cts b/dist/index.d.cts new file mode 100644 index 0000000..b8077fa --- /dev/null +++ b/dist/index.d.cts @@ -0,0 +1,312 @@ +import z from 'zod'; +export { ManipulateType, default as dayjsbr } from 'dayjs'; +import { v4 } from 'uuid'; + +declare const aleatorio: (tamanho?: number) => string; + +/** gerar uma função de cache para uso em memoria */ +declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +declare const verCacheM: () => { + [k: string]: { + /** new Date().getTime() */ + validade?: number | undefined; + valor: any; + } | undefined; +}; +declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +/** para uso fixo dentro de uma função, trava a chave */ +declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; + +declare const uuid_null = "00000000-0000-0000-0000-000000000000"; +/** Colunas Presentes n maioria das tabelas */ +declare enum camposComuns { + codigo = "codigo", + excluido = "excluido", + data_hora_criacao = "data_hora_criacao", + data_hora_atualizacao = "data_hora_atualizacao", + codigo_usuario_criacao = "codigo_usuario_criacao", + codigo_usuario_atualizacao = "codigo_usuario_atualizacao", + versao = "versao" +} +/** Palavras comumente usadas */ +declare enum tx { + token = "token" +} +declare enum tipoUsuarioResiduos { + Usuario = "usuario", + Fornecedor = "fornecedor" +} + +declare enum operadores { + "=" = "=", + "!=" = "!=", + ">" = ">", + ">=" = ">=", + "<" = "<", + "<=" = "<=", + like = "like", + in = "in" +} +type tipoFiltro = { + coluna: string; + valor: any; + operador: keyof typeof operadores | operadores; + ou?: boolean; +}; +type interfaceConsulta = { + offset?: number; + limit?: number; + filtros?: tipoFiltro[]; + ordem?: string; + ordemTipo?: "asc" | "desc"; + colunas?: string[]; + apenasConsulta?: boolean; + apenasContagem?: boolean; +}; +declare const zOperadores: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; +}>; +declare const zFiltro: z.ZodObject<{ + coluna: z.ZodString; + valor: z.ZodAny; + operador: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; + }>; + ou: z.ZodOptional; +}, z.core.$strip>; + +declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; +declare const extensoes: { + ext: string; + tipo: tiposArquivo; + mime: string; +}[]; +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; + +declare const graficos_pilao: { + [k: string]: { + grafico: string; + titulo: string; + }; +}; + +/** + * LocalStorage Tipado + * Lê ou grava um valor no localStorage, mantendo o tipo genérico . + */ +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 + * @returns + */ +declare const paraObjetoRegistroPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const pgObjeto: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const objetoPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; + +declare const umaFuncao: () => string; + +declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; + +/** gerar o texto de busca removendo caracteres especies e caixa alta */ +declare const texto_busca: (...texto: any[]) => string; + +/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys + * + * Definições: + * + * caminho = "/aplicacao/funcionalidade" + * + * endereco = "http://localhost:3000/aplicacao/funcionalidade" + * + * parametros = {nome:"José"} + */ +declare class TipagemRotas { + _partesCaminho: string[]; + _acaoIr?: (endereco: string) => undefined; + rotulo: string | undefined; + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ caminho, acaoIr, rotulo, }: { + caminho: (string | null | undefined)[] | string; + acaoIr?: undefined | ((endereco: string) => undefined); + /** Rotulo da página + * Inicio | Controle + */ + rotulo?: string; + }); + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho(): string; + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial: string); + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query: T, usarComoHash?: boolean): string; + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query: T): void; + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada?: string): Partial; +} + +/** + * Essa variável se conecta a tabela_lidades + * + * onde sigla se conecta com sigla + * + * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha + * usar a normalizada + */ +declare enum siglas_unidades_medida { + UN = "UN", + KG = "KG", + TON = "TON", + g = "g", + "M³" = "M\u00B3", + Lt = "Lt" +} +declare const unidades_medida: { + sigla_unidade: keyof typeof siglas_unidades_medida; + nome: string; + sigla_normalizada: keyof typeof siglas_unidades_medida; + normalizar: (valor: number) => number; + tipo: "massa" | "volume" | "comprimento" | "unidade"; +}[]; + +/** + * Valida se uma string é um UUID válido (qualquer versão). + * + * @param valor - A string que será validada. + * @returns booleano indicando se é um UUID válido. + */ +declare const erUuid: RegExp; +declare const validarUuid: (uuid: string | number | undefined | null) => boolean; +/** + * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). + * + * - Usa o algoritmo MD5 (RFC 4122). + * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. + * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. + * + * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). + * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. + * @returns UUID v3 (determinístico) + */ +declare const uuidV3: (chave: any, grupo?: any) => string; +/** + * Gera um UUID v4 (aleatório, não determinístico). + * + * - Usado quando unicidade é necessária, mas não se exige que seja previsível. + */ +declare const uuidV4: typeof v4; +/** + * @deprecated Esta variável será descontinuada em versões futuras. + * Use a função `uuidV4()` diretamente. + */ +declare const uuid: typeof v4; + +declare const esperar: (ms: number) => Promise; +/** + * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto + * const nomex = {a: 1, b: 2} + * nomeVariavel({nomex}) // retorna "nomex" + * @param v + * @returns + */ +declare const nomeVariavel: (v: { + [key: string]: any; +}) => string; + +export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; +export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.d.mts b/dist/index.d.mts new file mode 100644 index 0000000..b8077fa --- /dev/null +++ b/dist/index.d.mts @@ -0,0 +1,312 @@ +import z from 'zod'; +export { ManipulateType, default as dayjsbr } from 'dayjs'; +import { v4 } from 'uuid'; + +declare const aleatorio: (tamanho?: number) => string; + +/** gerar uma função de cache para uso em memoria */ +declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +declare const verCacheM: () => { + [k: string]: { + /** new Date().getTime() */ + validade?: number | undefined; + valor: any; + } | undefined; +}; +declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +/** para uso fixo dentro de uma função, trava a chave */ +declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; + +declare const uuid_null = "00000000-0000-0000-0000-000000000000"; +/** Colunas Presentes n maioria das tabelas */ +declare enum camposComuns { + codigo = "codigo", + excluido = "excluido", + data_hora_criacao = "data_hora_criacao", + data_hora_atualizacao = "data_hora_atualizacao", + codigo_usuario_criacao = "codigo_usuario_criacao", + codigo_usuario_atualizacao = "codigo_usuario_atualizacao", + versao = "versao" +} +/** Palavras comumente usadas */ +declare enum tx { + token = "token" +} +declare enum tipoUsuarioResiduos { + Usuario = "usuario", + Fornecedor = "fornecedor" +} + +declare enum operadores { + "=" = "=", + "!=" = "!=", + ">" = ">", + ">=" = ">=", + "<" = "<", + "<=" = "<=", + like = "like", + in = "in" +} +type tipoFiltro = { + coluna: string; + valor: any; + operador: keyof typeof operadores | operadores; + ou?: boolean; +}; +type interfaceConsulta = { + offset?: number; + limit?: number; + filtros?: tipoFiltro[]; + ordem?: string; + ordemTipo?: "asc" | "desc"; + colunas?: string[]; + apenasConsulta?: boolean; + apenasContagem?: boolean; +}; +declare const zOperadores: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; +}>; +declare const zFiltro: z.ZodObject<{ + coluna: z.ZodString; + valor: z.ZodAny; + operador: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; + }>; + ou: z.ZodOptional; +}, z.core.$strip>; + +declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; +declare const extensoes: { + ext: string; + tipo: tiposArquivo; + mime: string; +}[]; +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; + +declare const graficos_pilao: { + [k: string]: { + grafico: string; + titulo: string; + }; +}; + +/** + * LocalStorage Tipado + * Lê ou grava um valor no localStorage, mantendo o tipo genérico . + */ +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 + * @returns + */ +declare const paraObjetoRegistroPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const pgObjeto: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const objetoPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; + +declare const umaFuncao: () => string; + +declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; + +/** gerar o texto de busca removendo caracteres especies e caixa alta */ +declare const texto_busca: (...texto: any[]) => string; + +/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys + * + * Definições: + * + * caminho = "/aplicacao/funcionalidade" + * + * endereco = "http://localhost:3000/aplicacao/funcionalidade" + * + * parametros = {nome:"José"} + */ +declare class TipagemRotas { + _partesCaminho: string[]; + _acaoIr?: (endereco: string) => undefined; + rotulo: string | undefined; + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ caminho, acaoIr, rotulo, }: { + caminho: (string | null | undefined)[] | string; + acaoIr?: undefined | ((endereco: string) => undefined); + /** Rotulo da página + * Inicio | Controle + */ + rotulo?: string; + }); + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho(): string; + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial: string); + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query: T, usarComoHash?: boolean): string; + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query: T): void; + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada?: string): Partial; +} + +/** + * Essa variável se conecta a tabela_lidades + * + * onde sigla se conecta com sigla + * + * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha + * usar a normalizada + */ +declare enum siglas_unidades_medida { + UN = "UN", + KG = "KG", + TON = "TON", + g = "g", + "M³" = "M\u00B3", + Lt = "Lt" +} +declare const unidades_medida: { + sigla_unidade: keyof typeof siglas_unidades_medida; + nome: string; + sigla_normalizada: keyof typeof siglas_unidades_medida; + normalizar: (valor: number) => number; + tipo: "massa" | "volume" | "comprimento" | "unidade"; +}[]; + +/** + * Valida se uma string é um UUID válido (qualquer versão). + * + * @param valor - A string que será validada. + * @returns booleano indicando se é um UUID válido. + */ +declare const erUuid: RegExp; +declare const validarUuid: (uuid: string | number | undefined | null) => boolean; +/** + * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). + * + * - Usa o algoritmo MD5 (RFC 4122). + * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. + * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. + * + * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). + * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. + * @returns UUID v3 (determinístico) + */ +declare const uuidV3: (chave: any, grupo?: any) => string; +/** + * Gera um UUID v4 (aleatório, não determinístico). + * + * - Usado quando unicidade é necessária, mas não se exige que seja previsível. + */ +declare const uuidV4: typeof v4; +/** + * @deprecated Esta variável será descontinuada em versões futuras. + * Use a função `uuidV4()` diretamente. + */ +declare const uuid: typeof v4; + +declare const esperar: (ms: number) => Promise; +/** + * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto + * const nomex = {a: 1, b: 2} + * nomeVariavel({nomex}) // retorna "nomex" + * @param v + * @returns + */ +declare const nomeVariavel: (v: { + [key: string]: any; +}) => string; + +export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; +export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..b8077fa --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,312 @@ +import z from 'zod'; +export { ManipulateType, default as dayjsbr } from 'dayjs'; +import { v4 } from 'uuid'; + +declare const aleatorio: (tamanho?: number) => string; + +/** gerar uma função de cache para uso em memoria */ +declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +declare const verCacheM: () => { + [k: string]: { + /** new Date().getTime() */ + validade?: number | undefined; + valor: any; + } | undefined; +}; +declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +/** para uso fixo dentro de uma função, trava a chave */ +declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; + +declare const uuid_null = "00000000-0000-0000-0000-000000000000"; +/** Colunas Presentes n maioria das tabelas */ +declare enum camposComuns { + codigo = "codigo", + excluido = "excluido", + data_hora_criacao = "data_hora_criacao", + data_hora_atualizacao = "data_hora_atualizacao", + codigo_usuario_criacao = "codigo_usuario_criacao", + codigo_usuario_atualizacao = "codigo_usuario_atualizacao", + versao = "versao" +} +/** Palavras comumente usadas */ +declare enum tx { + token = "token" +} +declare enum tipoUsuarioResiduos { + Usuario = "usuario", + Fornecedor = "fornecedor" +} + +declare enum operadores { + "=" = "=", + "!=" = "!=", + ">" = ">", + ">=" = ">=", + "<" = "<", + "<=" = "<=", + like = "like", + in = "in" +} +type tipoFiltro = { + coluna: string; + valor: any; + operador: keyof typeof operadores | operadores; + ou?: boolean; +}; +type interfaceConsulta = { + offset?: number; + limit?: number; + filtros?: tipoFiltro[]; + ordem?: string; + ordemTipo?: "asc" | "desc"; + colunas?: string[]; + apenasConsulta?: boolean; + apenasContagem?: boolean; +}; +declare const zOperadores: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; +}>; +declare const zFiltro: z.ZodObject<{ + coluna: z.ZodString; + valor: z.ZodAny; + operador: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; + }>; + ou: z.ZodOptional; +}, z.core.$strip>; + +declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; +declare const extensoes: { + ext: string; + tipo: tiposArquivo; + mime: string; +}[]; +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; + +declare const graficos_pilao: { + [k: string]: { + grafico: string; + titulo: string; + }; +}; + +/** + * LocalStorage Tipado + * Lê ou grava um valor no localStorage, mantendo o tipo genérico . + */ +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 + * @returns + */ +declare const paraObjetoRegistroPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const pgObjeto: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const objetoPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; + +declare const umaFuncao: () => string; + +declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; + +/** gerar o texto de busca removendo caracteres especies e caixa alta */ +declare const texto_busca: (...texto: any[]) => string; + +/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys + * + * Definições: + * + * caminho = "/aplicacao/funcionalidade" + * + * endereco = "http://localhost:3000/aplicacao/funcionalidade" + * + * parametros = {nome:"José"} + */ +declare class TipagemRotas { + _partesCaminho: string[]; + _acaoIr?: (endereco: string) => undefined; + rotulo: string | undefined; + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ caminho, acaoIr, rotulo, }: { + caminho: (string | null | undefined)[] | string; + acaoIr?: undefined | ((endereco: string) => undefined); + /** Rotulo da página + * Inicio | Controle + */ + rotulo?: string; + }); + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho(): string; + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial: string); + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query: T, usarComoHash?: boolean): string; + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query: T): void; + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada?: string): Partial; +} + +/** + * Essa variável se conecta a tabela_lidades + * + * onde sigla se conecta com sigla + * + * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha + * usar a normalizada + */ +declare enum siglas_unidades_medida { + UN = "UN", + KG = "KG", + TON = "TON", + g = "g", + "M³" = "M\u00B3", + Lt = "Lt" +} +declare const unidades_medida: { + sigla_unidade: keyof typeof siglas_unidades_medida; + nome: string; + sigla_normalizada: keyof typeof siglas_unidades_medida; + normalizar: (valor: number) => number; + tipo: "massa" | "volume" | "comprimento" | "unidade"; +}[]; + +/** + * Valida se uma string é um UUID válido (qualquer versão). + * + * @param valor - A string que será validada. + * @returns booleano indicando se é um UUID válido. + */ +declare const erUuid: RegExp; +declare const validarUuid: (uuid: string | number | undefined | null) => boolean; +/** + * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). + * + * - Usa o algoritmo MD5 (RFC 4122). + * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. + * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. + * + * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). + * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. + * @returns UUID v3 (determinístico) + */ +declare const uuidV3: (chave: any, grupo?: any) => string; +/** + * Gera um UUID v4 (aleatório, não determinístico). + * + * - Usado quando unicidade é necessária, mas não se exige que seja previsível. + */ +declare const uuidV4: typeof v4; +/** + * @deprecated Esta variável será descontinuada em versões futuras. + * Use a função `uuidV4()` diretamente. + */ +declare const uuid: typeof v4; + +declare const esperar: (ms: number) => Promise; +/** + * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto + * const nomex = {a: 1, b: 2} + * nomeVariavel({nomex}) // retorna "nomex" + * @param v + * @returns + */ +declare const nomeVariavel: (v: { + [key: string]: any; +}) => string; + +export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; +export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.mjs b/dist/index.mjs new file mode 100644 index 0000000..c9476a9 --- /dev/null +++ b/dist/index.mjs @@ -0,0 +1,546 @@ +import z from 'zod'; +import dayjsbr from 'dayjs'; +export { default as dayjsbr } from 'dayjs'; +import duration from 'dayjs/plugin/duration'; +import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'; +import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'; +import minMax from 'dayjs/plugin/minMax'; +import relativeTime from 'dayjs/plugin/relativeTime'; +import timezone from 'dayjs/plugin/timezone'; +import utc from 'dayjs/plugin/utc'; +import weekOfYear from 'dayjs/plugin/weekOfYear'; +import crossFetch from 'cross-fetch'; +import { v4, v3, NIL } from 'uuid'; + +const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); +const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; + +const _cache = {}; +globalThis.cacheMemoria_cache = _cache; +const cacheM = (chave, valor, validadeSeg) => { + const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); + const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; + if (valor !== void 0) { + _cache[txChave] = { + valor, + validade + }; + } + const busca = _cache[txChave]; + if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { + return void 0; + } + return busca?.valor; +}; +const verCacheM = () => _cache; +const cacheMemoria = cacheM; +const cacheMFixo = (chave) => (valor) => cacheM(chave, valor); + +const uuid_null = "00000000-0000-0000-0000-000000000000"; +var camposComuns = /* @__PURE__ */ ((camposComuns2) => { + camposComuns2["codigo"] = "codigo"; + camposComuns2["excluido"] = "excluido"; + camposComuns2["data_hora_criacao"] = "data_hora_criacao"; + camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; + camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; + camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; + camposComuns2["versao"] = "versao"; + return camposComuns2; +})(camposComuns || {}); +var tx = /* @__PURE__ */ ((tx2) => { + tx2["token"] = "token"; + return tx2; +})(tx || {}); +var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { + tipoUsuarioResiduos2["Usuario"] = "usuario"; + tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; + return tipoUsuarioResiduos2; +})(tipoUsuarioResiduos || {}); + +var operadores = /* @__PURE__ */ ((operadores2) => { + operadores2["="] = "="; + operadores2["!="] = "!="; + operadores2[">"] = ">"; + operadores2[">="] = ">="; + operadores2["<"] = "<"; + operadores2["<="] = "<="; + operadores2["like"] = "like"; + operadores2["in"] = "in"; + return operadores2; +})(operadores || {}); +const zOperadores = z.enum([ + "=", + "!=", + ">", + ">=", + "<", + "<=", + "like", + "in" +]); +const zFiltro = z.object({ + coluna: z.string(), + valor: z.any(), + operador: zOperadores, + ou: z.boolean().optional() +}); + +dayjsbr.extend(utc); +dayjsbr.extend(timezone); +dayjsbr.extend(weekOfYear); +dayjsbr.extend(isSameOrBefore); +dayjsbr.extend(isSameOrAfter); +dayjsbr.extend(minMax); +dayjsbr.extend(relativeTime); +dayjsbr.extend(duration); + +const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +const extensoes = [ + { + 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" + } +]; +const tipoArquivo = (nomeArquivo) => { + const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); + const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); + return extensao?.tipo || "outros"; +}; + +const graficos_pilao = { + Condicionantes: { + grafico: "condicionantes-criadas", + titulo: "Condicionantes Criadas" + }, + Licen\u00E7as: { + grafico: "licencas-criadas", + titulo: "Licen\xE7as Criadas" + } +}; + +const localValor = (chave_, valor) => { + const localStorage = globalThis.localStorage; + if (typeof localStorage == "undefined") return null; + const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); + try { + if (valor !== void 0) { + localStorage.setItem(chave, JSON.stringify(valor)); + } + const v2 = localStorage.getItem(chave); + if (v2 === null) return null; + try { + return JSON.parse(v2); + } catch { + return v2; + } + } catch { + return null; + } +}; + +const esperar = (ms) => new Promise( + (resolve) => setTimeout(() => resolve(true), ms) +); +const nomeVariavel = (v) => Object.keys(v).join("/"); + +const LOKI_BASE_URL = "https://log.idz.one"; +const LOKI_ENDPOINT = "/loki/api/v1/push"; +const postLogger = async ({ + objeto +}) => { + 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 = ""; +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 = [`${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 = { + 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; +}; + +const paraObjetoRegistroPg = (entrada) => { + try { + return Object.fromEntries( + Object.entries(entrada).map(([k, v]) => [ + k, + v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) + ]) + ); + } catch (error) { + throw new Error( + `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` + ); + } +}; +const pgObjeto = paraObjetoRegistroPg; +const objetoPg = paraObjetoRegistroPg; + +const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; + +const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; + +const texto_busca = (...texto) => texto.map( + (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() +).join(" "); + +class TipagemRotas { + _partesCaminho = []; + _acaoIr; + rotulo; + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ + caminho, + acaoIr, + rotulo + }) { + this._acaoIr = acaoIr; + this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); + this.rotulo = rotulo; + } + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho() { + const ret = `/${this._partesCaminho.join("/")}`; + return ret; + } + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial) { + this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); + } + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query, usarComoHash) { + const url = new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + url.pathname = this.caminho; + url.search = ""; + const queryKeys = Object.entries(query); + for (const [key, value] of queryKeys) { + url.searchParams.set(String(key), JSON.stringify(value)); + } + url.hash = ""; + if (usarComoHash) { + url.hash = `#${url.search}`; + url.search = ""; + } + return url.href; + } + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query) { + if (this._acaoIr) { + this._acaoIr(this.endereco({ ...query })); + } else { + if (typeof window != "undefined") { + window.location.href = this.endereco({ ...query }); + } + } + } + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada) { + const url = urlEntrada ? new URL(urlEntrada) : new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + const query = url.searchParams; + let queryObj = Object.fromEntries(query.entries()); + const hash = url.hash; + if (hash) { + const hashObj = Object.fromEntries( + new URLSearchParams(hash.slice(1)).entries() + ); + queryObj = { ...queryObj, ...hashObj }; + } + for (const chave in queryObj) { + try { + queryObj[chave] = JSON.parse(queryObj[chave]); + } catch { + console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); + } + } + return queryObj; + } +} + +var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { + siglas_unidades_medida2["UN"] = "UN"; + siglas_unidades_medida2["KG"] = "KG"; + siglas_unidades_medida2["TON"] = "TON"; + siglas_unidades_medida2["g"] = "g"; + siglas_unidades_medida2["M\xB3"] = "M\xB3"; + siglas_unidades_medida2["Lt"] = "Lt"; + return siglas_unidades_medida2; +})(siglas_unidades_medida || {}); +const unidades_medida = [ + { + sigla_unidade: "KG", + nome: "Quilograma", + sigla_normalizada: "KG", + normalizar: (valor) => valor, + tipo: "massa" + }, + { + sigla_unidade: "g", + nome: "Grama", + sigla_normalizada: "KG", + normalizar: (valor) => valor / 1e3, + tipo: "massa" + }, + { + sigla_unidade: "TON", + nome: "Tonelada", + sigla_normalizada: "KG", + normalizar: (valor) => valor * 1e3, + tipo: "massa" + }, + { + sigla_unidade: "Lt", + nome: "Litro", + sigla_normalizada: "Lt", + normalizar: (valor) => valor, + tipo: "volume" + }, + { + sigla_unidade: "M\xB3", + nome: "Metro C\xFAbico", + sigla_normalizada: "Lt", + normalizar: (valor) => valor * 1e3, + tipo: "volume" + }, + { + sigla_unidade: "UN", + nome: "Unidade", + sigla_normalizada: "UN", + normalizar: (valor) => valor, + tipo: "unidade" + } +]; + +const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; +const validarUuid = (uuid2) => { + const retorno = erUuid.test(String(uuid2 || "")); + return retorno; +}; +const uuidV3 = (chave, grupo) => { + return v3( + // Converte a chave para string (de forma segura) + typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), + // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL + grupo ? uuidV3(grupo) : NIL + ); +}; +const uuidV4 = v4; +const uuid = uuidV4; + +export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; diff --git a/package.json b/package.json index ac062bf..e7e73ee 100644 --- a/package.json +++ b/package.json @@ -4,15 +4,19 @@ "description": "", "main": "./dist-back/index.js", "module": "./dist-front/index.mjs", - "types": "./dist-front/index.d.mts", + "types": "./dist-front/index.d.ts", "exports": { ".": { - "browser": { "import": "./dist-front/index.mjs", "types": "./dist-front/index.d.ts" }, - "types": "./dist-front/index.d.mts", + "types": "./dist-front/index.d.ts", "import": "./dist-front/index.mjs", "require": "./dist-back/index.js" } }, + "type": "module", + + + + "scripts": { "biome": "pnpm exec biome check --write", "check": "pnpm run biome && npx tsc --noEmit", @@ -37,6 +41,7 @@ "@types/node": "^20.19.22", "tsup": "8.5.0", "typescript": "~5.9.3", + "unbuild": "^3.6.1", "vitest": "^3.2.4" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50439c8..138e2de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,16 +29,27 @@ importers: version: 20.19.22 tsup: specifier: 8.5.0 - version: 8.5.0(postcss@8.5.6)(typescript@5.9.3) + version: 8.5.0(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3) typescript: specifier: ~5.9.3 version: 5.9.3 + unbuild: + specifier: ^3.6.1 + version: 3.6.1(typescript@5.9.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@20.19.22) + version: 3.2.4(@types/node@20.19.22)(jiti@2.6.1) packages: + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + '@biomejs/biome@2.1.4': resolution: {integrity: sha512-QWlrqyxsU0FCebuMnkvBIkxvPqH89afiJzjMl+z67ybutse590jgeaFdDurE9XYtzpjRGTI1tlUZPGWmbKsElA==} engines: {node: '>=14.21.3'} @@ -269,6 +280,60 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-commonjs@28.0.9': + resolution: {integrity: sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@6.0.2': + resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.52.5': resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} cpu: [arm] @@ -391,6 +456,9 @@ packages: '@types/node@20.19.22': resolution: {integrity: sha512-hRnu+5qggKDSyWHlnmThnUqg62l29Aj/6vcYgUaSFL9oc7DVjeWEQN3PRgdSc6F8d9QRMWkf36CLMch1Do/+RQ==} + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} @@ -448,12 +516,31 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + baseline-browser-mapping@2.8.20: + resolution: {integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==} + hasBin: true + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -464,6 +551,12 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001751: + resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} + chai@5.3.3: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} @@ -476,6 +569,9 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -483,13 +579,26 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + consola@3.4.2: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -501,6 +610,54 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-declaration-sorter@7.3.0: + resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-default@7.0.9: + resolution: {integrity: sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + cssnano-utils@5.0.1: + resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + cssnano@7.1.1: + resolution: {integrity: sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + csso@5.0.5: + 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==} @@ -517,15 +674,42 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + electron-to-chromium@1.5.240: + resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} @@ -534,6 +718,13 @@ packages: engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -541,6 +732,9 @@ packages: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -557,32 +751,69 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + knitwork@1.2.0: + resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -594,9 +825,15 @@ packages: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} @@ -606,6 +843,12 @@ packages: magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -614,6 +857,27 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mkdist@2.4.1: + resolution: {integrity: sha512-Ezk0gi04GJBkqMfsksICU5Rjoemc4biIekwgrONWVPor2EO/N9nBgN6MZXAf7Yw4mDDhrNyKbdETaHNevfumKg==} + hasBin: true + peerDependencies: + sass: ^1.92.1 + typescript: '>=5.9.2' + vue: ^3.5.21 + vue-sfc-transformer: ^0.1.1 + vue-tsc: ^1.8.27 || ^2.0.21 || ^3.0.0 + peerDependenciesMeta: + sass: + optional: true + typescript: + optional: true + vue: + optional: true + vue-sfc-transformer: + optional: true + vue-tsc: + optional: true + mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -637,6 +901,16 @@ packages: encoding: optional: true + node-releases@2.0.26: + resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -648,6 +922,9 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -673,6 +950,51 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + postcss-calc@10.1.1: + resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} + engines: {node: ^18.12 || ^20.9 || >=22.0} + peerDependencies: + postcss: ^8.4.38 + + postcss-colormin@7.0.4: + resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-convert-values@7.0.7: + resolution: {integrity: sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-comments@7.0.4: + resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-duplicates@7.0.2: + resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-empty@7.0.1: + resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-overridden@7.0.1: + resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -691,10 +1013,147 @@ packages: yaml: optional: true + postcss-merge-longhand@7.0.5: + resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-merge-rules@7.0.6: + resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-font-values@7.0.1: + resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-gradients@7.0.1: + resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-params@7.0.4: + resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-selectors@7.0.5: + resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-nested@7.0.2: + resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-normalize-charset@7.0.1: + resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-display-values@7.0.1: + resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-positions@7.0.1: + resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-repeat-style@7.0.1: + resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-string@7.0.1: + resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-timing-functions@7.0.1: + resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-unicode@7.0.4: + resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-url@7.0.1: + resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-whitespace@7.0.1: + resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-ordered-values@7.0.2: + resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-reduce-initial@7.0.4: + resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-reduce-transforms@7.0.1: + resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss-svgo@7.1.0: + resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==} + engines: {node: ^18.12.0 || ^20.9.0 || >= 18} + peerDependencies: + postcss: ^8.4.32 + + postcss-unique-selectors@7.0.4: + resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + pretty-bytes@7.1.0: + resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} + engines: {node: '>=20'} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -707,11 +1166,34 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + rollup-plugin-dts@6.2.3: + resolution: {integrity: sha512-UgnEsfciXSPpASuOelix7m4DrmyQgiaWBnvI0TM4GxuDh5FkqW8E5hu57bCxXB90VvR1WNfLV80yEDN18UogSA==} + engines: {node: '>=16'} + peerDependencies: + rollup: ^3.29.4 || ^4 + typescript: ^4.5 || ^5.0 + rollup@4.52.5: resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -761,11 +1243,26 @@ packages: strip-literal@3.1.0: resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} + stylehacks@7.0.6: + resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svgo@4.0.0: + resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==} + engines: {node: '>=16'} + hasBin: true + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -835,9 +1332,31 @@ packages: ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + unbuild@3.6.1: + resolution: {integrity: sha512-+U5CdtrdjfWkZhuO4N9l5UhyiccoeMEXIc2Lbs30Haxb+tRwB3VwB8AoZRxlAzORXunenSo+j6lh45jx+xkKgg==} + hasBin: true + peerDependencies: + typescript: ^5.9.2 + peerDependenciesMeta: + typescript: + optional: true + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + untyped@2.0.0: + resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} + hasBin: true + + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + uuid@11.1.0: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true @@ -950,6 +1469,16 @@ packages: snapshots: + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + optional: true + + '@babel/helper-validator-identifier@7.28.5': + optional: true + '@biomejs/biome@2.1.4': optionalDependencies: '@biomejs/cli-darwin-arm64': 2.1.4 @@ -1089,6 +1618,53 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@rollup/plugin-alias@5.1.1(rollup@4.52.5)': + optionalDependencies: + rollup: 4.52.5 + + '@rollup/plugin-commonjs@28.0.9(rollup@4.52.5)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + commondir: 1.0.1 + estree-walker: 2.0.2 + fdir: 6.5.0(picomatch@4.0.3) + is-reference: 1.2.1 + magic-string: 0.30.19 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.52.5 + + '@rollup/plugin-json@6.1.0(rollup@4.52.5)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + optionalDependencies: + rollup: 4.52.5 + + '@rollup/plugin-node-resolve@16.0.3(rollup@4.52.5)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.11 + optionalDependencies: + rollup: 4.52.5 + + '@rollup/plugin-replace@6.0.2(rollup@4.52.5)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + magic-string: 0.30.19 + optionalDependencies: + rollup: 4.52.5 + + '@rollup/pluginutils@5.3.0(rollup@4.52.5)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.52.5 + '@rollup/rollup-android-arm-eabi@4.52.5': optional: true @@ -1167,6 +1743,8 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/resolve@1.20.2': {} + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2 @@ -1175,13 +1753,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.1.10(@types/node@20.19.22))': + '@vitest/mocker@3.2.4(vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.19 optionalDependencies: - vite: 7.1.10(@types/node@20.19.22) + vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -1225,12 +1803,34 @@ snapshots: assertion-error@2.0.1: {} + autoprefixer@10.4.21(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + caniuse-lite: 1.0.30001751 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + balanced-match@1.0.2: {} + baseline-browser-mapping@2.8.20: {} + + boolbase@1.0.0: {} + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 + browserslist@4.27.0: + dependencies: + baseline-browser-mapping: 2.8.20 + caniuse-lite: 1.0.30001751 + electron-to-chromium: 1.5.240 + node-releases: 2.0.26 + update-browserslist-db: 1.1.4(browserslist@4.27.0) + bundle-require@5.1.0(esbuild@0.25.11): dependencies: esbuild: 0.25.11 @@ -1238,6 +1838,15 @@ snapshots: cac@6.7.14: {} + caniuse-api@3.0.0: + dependencies: + browserslist: 4.27.0 + caniuse-lite: 1.0.30001751 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001751: {} + chai@5.3.3: dependencies: assertion-error: 2.0.1 @@ -1252,16 +1861,28 @@ snapshots: dependencies: readdirp: 4.1.2 + citty@0.1.6: + dependencies: + consola: 3.4.2 + color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} + colord@2.9.3: {} + + commander@11.1.0: {} + commander@4.1.1: {} + commondir@1.0.1: {} + confbox@0.1.8: {} + confbox@0.2.2: {} + consola@3.4.2: {} cross-fetch@4.1.0: @@ -1276,6 +1897,80 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-declaration-sorter@7.3.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + + css-what@6.2.2: {} + + cssesc@3.0.0: {} + + cssnano-preset-default@7.0.9(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + css-declaration-sorter: 7.3.0(postcss@8.5.6) + cssnano-utils: 5.0.1(postcss@8.5.6) + postcss: 8.5.6 + postcss-calc: 10.1.1(postcss@8.5.6) + postcss-colormin: 7.0.4(postcss@8.5.6) + postcss-convert-values: 7.0.7(postcss@8.5.6) + postcss-discard-comments: 7.0.4(postcss@8.5.6) + postcss-discard-duplicates: 7.0.2(postcss@8.5.6) + postcss-discard-empty: 7.0.1(postcss@8.5.6) + postcss-discard-overridden: 7.0.1(postcss@8.5.6) + postcss-merge-longhand: 7.0.5(postcss@8.5.6) + postcss-merge-rules: 7.0.6(postcss@8.5.6) + postcss-minify-font-values: 7.0.1(postcss@8.5.6) + postcss-minify-gradients: 7.0.1(postcss@8.5.6) + postcss-minify-params: 7.0.4(postcss@8.5.6) + postcss-minify-selectors: 7.0.5(postcss@8.5.6) + postcss-normalize-charset: 7.0.1(postcss@8.5.6) + postcss-normalize-display-values: 7.0.1(postcss@8.5.6) + postcss-normalize-positions: 7.0.1(postcss@8.5.6) + postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6) + postcss-normalize-string: 7.0.1(postcss@8.5.6) + postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6) + postcss-normalize-unicode: 7.0.4(postcss@8.5.6) + postcss-normalize-url: 7.0.1(postcss@8.5.6) + postcss-normalize-whitespace: 7.0.1(postcss@8.5.6) + postcss-ordered-values: 7.0.2(postcss@8.5.6) + postcss-reduce-initial: 7.0.4(postcss@8.5.6) + postcss-reduce-transforms: 7.0.1(postcss@8.5.6) + postcss-svgo: 7.1.0(postcss@8.5.6) + postcss-unique-selectors: 7.0.4(postcss@8.5.6) + + cssnano-utils@5.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + cssnano@7.1.1(postcss@8.5.6): + dependencies: + cssnano-preset-default: 7.0.9(postcss@8.5.6) + lilconfig: 3.1.3 + postcss: 8.5.6 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + dayjs@1.11.18: {} debug@4.4.3: @@ -1284,12 +1979,38 @@ snapshots: deep-eql@5.0.2: {} + deepmerge@4.3.1: {} + + defu@6.1.4: {} + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + eastasianwidth@0.2.0: {} + electron-to-chromium@1.5.240: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + entities@4.5.0: {} + es-module-lexer@1.7.0: {} esbuild@0.25.11: @@ -1321,12 +2042,18 @@ snapshots: '@esbuild/win32-ia32': 0.25.11 '@esbuild/win32-x64': 0.25.11 + escalade@3.2.0: {} + + estree-walker@2.0.2: {} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 expect-type@1.2.2: {} + exsolve@1.0.7: {} + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -1342,9 +2069,13 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + fraction.js@4.3.7: {} + fsevents@2.3.3: optional: true + function-bind@1.1.2: {} + glob@10.4.5: dependencies: foreground-child: 3.3.1 @@ -1354,8 +2085,24 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hookable@5.5.3: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-fullwidth-code-point@3.0.0: {} + is-module@1.0.0: {} + + is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.8 + isexe@2.0.0: {} jackspeak@3.4.3: @@ -1364,18 +2111,31 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jiti@1.21.7: {} + + jiti@2.6.1: {} + joycon@3.1.1: {} + js-tokens@4.0.0: + optional: true + js-tokens@9.0.1: {} + knitwork@1.2.0: {} + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} load-tsconfig@0.2.5: {} + lodash.memoize@4.1.2: {} + lodash.sortby@4.7.0: {} + lodash.uniq@4.5.0: {} + loupe@3.2.1: {} lru-cache@10.4.3: {} @@ -1384,12 +2144,34 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + mdn-data@2.0.28: {} + + mdn-data@2.12.2: {} + minimatch@9.0.5: dependencies: brace-expansion: 2.0.2 minipass@7.1.2: {} + mkdist@2.4.1(typescript@5.9.3): + dependencies: + autoprefixer: 10.4.21(postcss@8.5.6) + citty: 0.1.6 + cssnano: 7.1.1(postcss@8.5.6) + defu: 6.1.4 + esbuild: 0.25.11 + jiti: 1.21.7 + mlly: 1.8.0 + pathe: 2.0.3 + pkg-types: 2.3.0 + postcss: 8.5.6 + postcss-nested: 7.0.2(postcss@8.5.6) + semver: 7.7.3 + tinyglobby: 0.2.15 + optionalDependencies: + typescript: 5.9.3 + mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -1411,12 +2193,22 @@ snapshots: dependencies: whatwg-url: 5.0.0 + node-releases@2.0.26: {} + + normalize-range@0.1.2: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + object-assign@4.1.1: {} package-json-from-dist@1.0.1: {} path-key@3.1.1: {} + path-parse@1.0.7: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -1438,24 +2230,208 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 - postcss-load-config@6.0.1(postcss@8.5.6): + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + + postcss-calc@10.1.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + postcss-colormin@7.0.4(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-convert-values@7.0.7(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@7.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-discard-duplicates@7.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-empty@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-discard-overridden@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6): dependencies: lilconfig: 3.1.3 optionalDependencies: + jiti: 2.6.1 postcss: 8.5.6 + postcss-merge-longhand@7.0.5(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + stylehacks: 7.0.6(postcss@8.5.6) + + postcss-merge-rules@7.0.6(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + caniuse-api: 3.0.0 + cssnano-utils: 5.0.1(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-minify-font-values@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@7.0.1(postcss@8.5.6): + dependencies: + colord: 2.9.3 + cssnano-utils: 5.0.1(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-params@7.0.4(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + cssnano-utils: 5.0.1(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@7.0.5(postcss@8.5.6): + dependencies: + cssesc: 3.0.0 + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-nested@7.0.2(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-normalize-charset@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-normalize-display-values@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@7.0.4(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@7.0.2(postcss@8.5.6): + dependencies: + cssnano-utils: 5.0.1(postcss@8.5.6) + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@7.0.4(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + caniuse-api: 3.0.0 + postcss: 8.5.6 + + postcss-reduce-transforms@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-svgo@7.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + svgo: 4.0.0 + + postcss-unique-selectors@7.0.4(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-value-parser@4.2.0: {} + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 + pretty-bytes@7.1.0: {} + punycode@2.3.1: {} readdirp@4.1.2: {} resolve-from@5.0.0: {} + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + rollup-plugin-dts@6.2.3(rollup@4.52.5)(typescript@5.9.3): + dependencies: + magic-string: 0.30.19 + rollup: 4.52.5 + typescript: 5.9.3 + optionalDependencies: + '@babel/code-frame': 7.27.1 + rollup@4.52.5: dependencies: '@types/estree': 1.0.8 @@ -1484,6 +2460,12 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.52.5 fsevents: 2.3.3 + sax@1.4.1: {} + + scule@1.3.0: {} + + semver@7.7.3: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -1528,6 +2510,12 @@ snapshots: dependencies: js-tokens: 9.0.1 + stylehacks@7.0.6(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -1538,6 +2526,18 @@ snapshots: pirates: 4.0.7 ts-interface-checker: 0.1.13 + supports-preserve-symlinks-flag@1.0.0: {} + + svgo@4.0.0: + dependencies: + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.1.0 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.4.1 + thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -1571,7 +2571,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.5.0(postcss@8.5.6)(typescript@5.9.3): + tsup@8.5.0(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.11) cac: 6.7.14 @@ -1582,7 +2582,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.6) + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6) resolve-from: 5.0.0 rollup: 4.52.5 source-map: 0.8.0-beta.0 @@ -1603,17 +2603,67 @@ snapshots: ufo@1.6.1: {} + unbuild@3.6.1(typescript@5.9.3): + dependencies: + '@rollup/plugin-alias': 5.1.1(rollup@4.52.5) + '@rollup/plugin-commonjs': 28.0.9(rollup@4.52.5) + '@rollup/plugin-json': 6.1.0(rollup@4.52.5) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.52.5) + '@rollup/plugin-replace': 6.0.2(rollup@4.52.5) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + esbuild: 0.25.11 + fix-dts-default-cjs-exports: 1.0.1 + hookable: 5.5.3 + jiti: 2.6.1 + magic-string: 0.30.19 + mkdist: 2.4.1(typescript@5.9.3) + mlly: 1.8.0 + pathe: 2.0.3 + pkg-types: 2.3.0 + pretty-bytes: 7.1.0 + rollup: 4.52.5 + rollup-plugin-dts: 6.2.3(rollup@4.52.5)(typescript@5.9.3) + scule: 1.3.0 + tinyglobby: 0.2.15 + untyped: 2.0.0 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - sass + - vue + - vue-sfc-transformer + - vue-tsc + undici-types@6.21.0: {} + untyped@2.0.0: + dependencies: + citty: 0.1.6 + defu: 6.1.4 + jiti: 2.6.1 + knitwork: 1.2.0 + scule: 1.3.0 + + update-browserslist-db@1.1.4(browserslist@4.27.0): + dependencies: + browserslist: 4.27.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + util-deprecate@1.0.2: {} + uuid@11.1.0: {} - vite-node@3.2.4(@types/node@20.19.22): + vite-node@3.2.4(@types/node@20.19.22)(jiti@2.6.1): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.10(@types/node@20.19.22) + vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1) transitivePeerDependencies: - '@types/node' - jiti @@ -1628,7 +2678,7 @@ snapshots: - tsx - yaml - vite@7.1.10(@types/node@20.19.22): + vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1): dependencies: esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3) @@ -1639,12 +2689,13 @@ snapshots: optionalDependencies: '@types/node': 20.19.22 fsevents: 2.3.3 + jiti: 2.6.1 - vitest@3.2.4(@types/node@20.19.22): + vitest@3.2.4(@types/node@20.19.22)(jiti@2.6.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.10(@types/node@20.19.22)) + '@vitest/mocker': 3.2.4(vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -1662,8 +2713,8 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.10(@types/node@20.19.22) - vite-node: 3.2.4(@types/node@20.19.22) + vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1) + vite-node: 3.2.4(@types/node@20.19.22)(jiti@2.6.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.19.22 From 5dfc211852e3aa4e1e4027f3d2109a5ea920d8c6 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:25:00 -0300 Subject: [PATCH 10/36] . --- dist-back/aleatorio.js | 29 - dist-back/cacheMemoria.js | 53 -- dist-back/constantes.js | 53 -- dist-back/consulta.js | 69 --- dist-back/dayjs.js | 54 -- dist-back/ecosistema/index.js | 22 - dist-back/ecosistema/urls.js | 28 - dist-back/extensoes.js | 186 ------ dist-back/graficosPilao.js | 37 -- dist-back/index.js | 54 -- dist-back/instalarAmbiente.js | 63 -- dist-back/local/index.js | 46 -- dist-back/logger.js | 106 ---- dist-back/postgres.js | 47 -- dist-back/teste.js | 6 - dist-back/testes-de-variaveis/index.js | 24 - dist-back/testes-de-variaveis/umaFuncao.js | 28 - dist-back/testes-de-variaveis/umaVariavel.js | 28 - dist-back/testes/TipagemRotas.test.js | 22 - dist-back/texto_busca.js | 30 - dist-back/tipagemRotas.js | 118 ---- dist-back/unidades_medida.js | 82 --- dist-back/uuid.js | 51 -- dist-back/variaveisComuns.js | 33 - dist-front/index.d.mts | 311 ---------- dist-front/index.mjs | 599 ------------------- package.json | 14 +- 27 files changed, 7 insertions(+), 2186 deletions(-) delete mode 100644 dist-back/aleatorio.js delete mode 100644 dist-back/cacheMemoria.js delete mode 100644 dist-back/constantes.js delete mode 100644 dist-back/consulta.js delete mode 100644 dist-back/dayjs.js delete mode 100644 dist-back/ecosistema/index.js delete mode 100644 dist-back/ecosistema/urls.js delete mode 100644 dist-back/extensoes.js delete mode 100644 dist-back/graficosPilao.js delete mode 100644 dist-back/index.js delete mode 100644 dist-back/instalarAmbiente.js delete mode 100644 dist-back/local/index.js delete mode 100644 dist-back/logger.js delete mode 100644 dist-back/postgres.js delete mode 100644 dist-back/teste.js delete mode 100644 dist-back/testes-de-variaveis/index.js delete mode 100644 dist-back/testes-de-variaveis/umaFuncao.js delete mode 100644 dist-back/testes-de-variaveis/umaVariavel.js delete mode 100644 dist-back/testes/TipagemRotas.test.js delete mode 100644 dist-back/texto_busca.js delete mode 100644 dist-back/tipagemRotas.js delete mode 100644 dist-back/unidades_medida.js delete mode 100644 dist-back/uuid.js delete mode 100644 dist-back/variaveisComuns.js delete mode 100644 dist-front/index.d.mts delete mode 100644 dist-front/index.mjs diff --git a/dist-back/aleatorio.js b/dist-back/aleatorio.js deleted file mode 100644 index 1566283..0000000 --- a/dist-back/aleatorio.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var aleatorio_exports = {}; -__export(aleatorio_exports, { - aleatorio: () => aleatorio -}); -module.exports = __toCommonJS(aleatorio_exports); -const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); -const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - aleatorio -}); diff --git a/dist-back/cacheMemoria.js b/dist-back/cacheMemoria.js deleted file mode 100644 index 7c004f4..0000000 --- a/dist-back/cacheMemoria.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var cacheMemoria_exports = {}; -__export(cacheMemoria_exports, { - cacheM: () => cacheM, - cacheMFixo: () => cacheMFixo, - cacheMemoria: () => cacheMemoria, - verCacheM: () => verCacheM -}); -module.exports = __toCommonJS(cacheMemoria_exports); -const _cache = {}; -globalThis.cacheMemoria_cache = _cache; -const cacheM = (chave, valor, validadeSeg) => { - const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); - const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; - if (valor !== void 0) { - _cache[txChave] = { - valor, - validade - }; - } - const busca = _cache[txChave]; - if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { - return void 0; - } - return busca?.valor; -}; -const verCacheM = () => _cache; -const cacheMemoria = cacheM; -const cacheMFixo = (chave) => (valor) => cacheM(chave, valor); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - cacheM, - cacheMFixo, - cacheMemoria, - verCacheM -}); diff --git a/dist-back/constantes.js b/dist-back/constantes.js deleted file mode 100644 index 4671769..0000000 --- a/dist-back/constantes.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var constantes_exports = {}; -__export(constantes_exports, { - camposComuns: () => camposComuns, - tipoUsuarioResiduos: () => tipoUsuarioResiduos, - tx: () => tx, - uuid_null: () => uuid_null -}); -module.exports = __toCommonJS(constantes_exports); -const uuid_null = "00000000-0000-0000-0000-000000000000"; -var camposComuns = /* @__PURE__ */ ((camposComuns2) => { - camposComuns2["codigo"] = "codigo"; - camposComuns2["excluido"] = "excluido"; - camposComuns2["data_hora_criacao"] = "data_hora_criacao"; - camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; - camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; - camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; - camposComuns2["versao"] = "versao"; - return camposComuns2; -})(camposComuns || {}); -var tx = /* @__PURE__ */ ((tx2) => { - tx2["token"] = "token"; - return tx2; -})(tx || {}); -var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { - tipoUsuarioResiduos2["Usuario"] = "usuario"; - tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; - return tipoUsuarioResiduos2; -})(tipoUsuarioResiduos || {}); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - camposComuns, - tipoUsuarioResiduos, - tx, - uuid_null -}); diff --git a/dist-back/consulta.js b/dist-back/consulta.js deleted file mode 100644 index d5cb3e3..0000000 --- a/dist-back/consulta.js +++ /dev/null @@ -1,69 +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 consulta_exports = {}; -__export(consulta_exports, { - operadores: () => operadores, - zFiltro: () => zFiltro, - zOperadores: () => zOperadores -}); -module.exports = __toCommonJS(consulta_exports); -var import_zod = __toESM(require("zod")); -var operadores = /* @__PURE__ */ ((operadores2) => { - operadores2["="] = "="; - operadores2["!="] = "!="; - operadores2[">"] = ">"; - operadores2[">="] = ">="; - operadores2["<"] = "<"; - operadores2["<="] = "<="; - operadores2["like"] = "like"; - operadores2["in"] = "in"; - return operadores2; -})(operadores || {}); -const zOperadores = import_zod.default.enum([ - "=", - "!=", - ">", - ">=", - "<", - "<=", - "like", - "in" -]); -const zFiltro = import_zod.default.object({ - coluna: import_zod.default.string(), - valor: import_zod.default.any(), - operador: zOperadores, - ou: import_zod.default.boolean().optional() -}); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - operadores, - zFiltro, - zOperadores -}); diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js deleted file mode 100644 index 511226c..0000000 --- a/dist-back/dayjs.js +++ /dev/null @@ -1,54 +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 dayjs_exports = {}; -__export(dayjs_exports, { - dayjsbr: () => import_dayjs.default -}); -module.exports = __toCommonJS(dayjs_exports); -var import_dayjs = __toESM(require("dayjs")); -var import_duration = __toESM(require("dayjs/plugin/duration")); -var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter")); -var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore")); -var import_minMax = __toESM(require("dayjs/plugin/minMax")); -var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime")); -var import_timezone = __toESM(require("dayjs/plugin/timezone")); -var import_utc = __toESM(require("dayjs/plugin/utc")); -var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear")); -import_dayjs.default.extend(import_utc.default); -import_dayjs.default.extend(import_timezone.default); -import_dayjs.default.extend(import_weekOfYear.default); -import_dayjs.default.extend(import_isSameOrBefore.default); -import_dayjs.default.extend(import_isSameOrAfter.default); -import_dayjs.default.extend(import_minMax.default); -import_dayjs.default.extend(import_relativeTime.default); -import_dayjs.default.extend(import_duration.default); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - dayjsbr -}); diff --git a/dist-back/ecosistema/index.js b/dist-back/ecosistema/index.js deleted file mode 100644 index fc9ce97..0000000 --- a/dist-back/ecosistema/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var ecosistema_exports = {}; -module.exports = __toCommonJS(ecosistema_exports); -__reExport(ecosistema_exports, require("./urls"), module.exports); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - ...require("./urls") -}); diff --git a/dist-back/ecosistema/urls.js b/dist-back/ecosistema/urls.js deleted file mode 100644 index e63a7bd..0000000 --- a/dist-back/ecosistema/urls.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var urls_exports = {}; -__export(urls_exports, { - cdn_carro_de_boi: () => cdn_carro_de_boi -}); -module.exports = __toCommonJS(urls_exports); -const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - cdn_carro_de_boi -}); diff --git a/dist-back/extensoes.js b/dist-back/extensoes.js deleted file mode 100644 index 3f49f81..0000000 --- a/dist-back/extensoes.js +++ /dev/null @@ -1,186 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var extensoes_exports = {}; -__export(extensoes_exports, { - extensoes: () => extensoes, - tipoArquivo: () => tipoArquivo -}); -module.exports = __toCommonJS(extensoes_exports); -const extensoes = [ - { - 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" - } -]; -const tipoArquivo = (nomeArquivo) => { - const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); - const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); - return extensao?.tipo || "outros"; -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - extensoes, - tipoArquivo -}); diff --git a/dist-back/graficosPilao.js b/dist-back/graficosPilao.js deleted file mode 100644 index 12ac7cb..0000000 --- a/dist-back/graficosPilao.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var graficosPilao_exports = {}; -__export(graficosPilao_exports, { - graficos_pilao: () => graficos_pilao -}); -module.exports = __toCommonJS(graficosPilao_exports); -const graficos_pilao = { - Condicionantes: { - grafico: "condicionantes-criadas", - titulo: "Condicionantes Criadas" - }, - Licen\u00E7as: { - grafico: "licencas-criadas", - titulo: "Licen\xE7as Criadas" - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - graficos_pilao -}); diff --git a/dist-back/index.js b/dist-back/index.js deleted file mode 100644 index a12049e..0000000 --- a/dist-back/index.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var index_exports = {}; -module.exports = __toCommonJS(index_exports); -__reExport(index_exports, require("./aleatorio"), module.exports); -__reExport(index_exports, require("./cacheMemoria"), module.exports); -__reExport(index_exports, require("./constantes"), module.exports); -__reExport(index_exports, require("./consulta"), module.exports); -__reExport(index_exports, require("./dayjs"), module.exports); -__reExport(index_exports, require("./ecosistema"), 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("./postgres"), module.exports); -__reExport(index_exports, require("./testes-de-variaveis"), module.exports); -__reExport(index_exports, require("./texto_busca"), module.exports); -__reExport(index_exports, require("./tipagemRotas"), module.exports); -__reExport(index_exports, require("./unidades_medida"), module.exports); -__reExport(index_exports, require("./uuid"), module.exports); -__reExport(index_exports, require("./variaveisComuns"), module.exports); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - ...require("./aleatorio"), - ...require("./cacheMemoria"), - ...require("./constantes"), - ...require("./consulta"), - ...require("./dayjs"), - ...require("./ecosistema"), - ...require("./extensoes"), - ...require("./graficosPilao"), - ...require("./local"), - ...require("./logger"), - ...require("./postgres"), - ...require("./testes-de-variaveis"), - ...require("./texto_busca"), - ...require("./tipagemRotas"), - ...require("./unidades_medida"), - ...require("./uuid"), - ...require("./variaveisComuns") -}); diff --git a/dist-back/instalarAmbiente.js b/dist-back/instalarAmbiente.js deleted file mode 100644 index d31e0a5..0000000 --- a/dist-back/instalarAmbiente.js +++ /dev/null @@ -1,63 +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 __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 import_node_fs = __toESM(require("node:fs")); -var import_node_path = __toESM(require("node:path")); -const mesclar = (entrada, novo) => { - const saida = { ...entrada || {} }; - for (const [k, v] of Object.entries(novo)) { - if (v && typeof v === "object" && !Array.isArray(v)) { - saida[k] = mesclar(saida[k], v); - } else { - saida[k] = v; - } - } - return saida; -}; -const abrirJson = (caminho) => { - try { - return JSON.parse(import_node_fs.default.readFileSync(caminho, "utf-8")); - } catch { - return {}; - } -}; -const settings_json = { - "editor.defaultFormatter": "biomejs.biome", - "[javascript]": { "editor.defaultFormatter": "biomejs.biome" }, - "[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, - "[typescript]": { "editor.defaultFormatter": "biomejs.biome" }, - "[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, - "[json]": { "editor.defaultFormatter": "biomejs.biome" }, - "[jsonc]": { "editor.defaultFormatter": "biomejs.biome" }, - "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "editor.codeActionsOnSave": { - "source.organizeImports.biome": "always", - "source.fixAll.biome": "always" - } -}; -const caminhoSeting = import_node_path.default.join(process.cwd(), ".vscode/settings.json"); -import_node_fs.default.mkdirSync(import_node_path.default.dirname(caminhoSeting), { recursive: true }); -const atual = abrirJson(caminhoSeting); -const final = mesclar(atual, settings_json); -import_node_fs.default.writeFileSync(caminhoSeting, JSON.stringify(final, null, 2), "utf8"); -console.log(`\u2705 Configura\xE7\xF5es salvas em ${caminhoSeting}`); diff --git a/dist-back/local/index.js b/dist-back/local/index.js deleted file mode 100644 index 4b0c95a..0000000 --- a/dist-back/local/index.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var local_exports = {}; -__export(local_exports, { - localValor: () => localValor -}); -module.exports = __toCommonJS(local_exports); -const localValor = (chave_, valor) => { - const localStorage = globalThis.localStorage; - if (typeof localStorage == "undefined") return null; - const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); - try { - if (valor !== void 0) { - localStorage.setItem(chave, JSON.stringify(valor)); - } - const v2 = localStorage.getItem(chave); - if (v2 === null) return null; - try { - return JSON.parse(v2); - } catch { - return v2; - } - } catch { - return null; - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - localValor -}); 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/postgres.js b/dist-back/postgres.js deleted file mode 100644 index 62a7d6b..0000000 --- a/dist-back/postgres.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var postgres_exports = {}; -__export(postgres_exports, { - objetoPg: () => objetoPg, - paraObjetoRegistroPg: () => paraObjetoRegistroPg, - pgObjeto: () => pgObjeto -}); -module.exports = __toCommonJS(postgres_exports); -const paraObjetoRegistroPg = (entrada) => { - try { - return Object.fromEntries( - Object.entries(entrada).map(([k, v]) => [ - k, - v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) - ]) - ); - } catch (error) { - throw new Error( - `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` - ); - } -}; -const pgObjeto = paraObjetoRegistroPg; -const objetoPg = paraObjetoRegistroPg; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - objetoPg, - paraObjetoRegistroPg, - pgObjeto -}); diff --git a/dist-back/teste.js b/dist-back/teste.js deleted file mode 100644 index c2d0e9c..0000000 --- a/dist-back/teste.js +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; -var import_cacheMemoria = require("./cacheMemoria"); -var import_texto_busca = require("./texto_busca"); -console.log("Vari\xE1veis funcionando", import_texto_busca.texto_busca); -(0, import_cacheMemoria.cacheM)(1, { Jaca: Promise.resolve() }); -console.log("cache:", (0, import_cacheMemoria.cacheM)(1)); diff --git a/dist-back/testes-de-variaveis/index.js b/dist-back/testes-de-variaveis/index.js deleted file mode 100644 index 6263622..0000000 --- a/dist-back/testes-de-variaveis/index.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var testes_de_variaveis_exports = {}; -module.exports = __toCommonJS(testes_de_variaveis_exports); -__reExport(testes_de_variaveis_exports, require("./umaFuncao"), module.exports); -__reExport(testes_de_variaveis_exports, require("./umaVariavel"), module.exports); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - ...require("./umaFuncao"), - ...require("./umaVariavel") -}); diff --git a/dist-back/testes-de-variaveis/umaFuncao.js b/dist-back/testes-de-variaveis/umaFuncao.js deleted file mode 100644 index c1d2b86..0000000 --- a/dist-back/testes-de-variaveis/umaFuncao.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var umaFuncao_exports = {}; -__export(umaFuncao_exports, { - umaFuncao: () => umaFuncao -}); -module.exports = __toCommonJS(umaFuncao_exports); -const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - umaFuncao -}); diff --git a/dist-back/testes-de-variaveis/umaVariavel.js b/dist-back/testes-de-variaveis/umaVariavel.js deleted file mode 100644 index 6560bb5..0000000 --- a/dist-back/testes-de-variaveis/umaVariavel.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var umaVariavel_exports = {}; -__export(umaVariavel_exports, { - umaVariavel: () => umaVariavel -}); -module.exports = __toCommonJS(umaVariavel_exports); -const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - umaVariavel -}); diff --git a/dist-back/testes/TipagemRotas.test.js b/dist-back/testes/TipagemRotas.test.js deleted file mode 100644 index 49b4bbb..0000000 --- a/dist-back/testes/TipagemRotas.test.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var import_vitest = require("vitest"); -var import_tipagemRotas = require("../tipagemRotas"); -(0, import_vitest.describe)("TipagemRotas", () => { - (0, import_vitest.it)("deve montar _partesCaminho a partir de string ou array, normalizando barras", () => { - const r1 = new import_tipagemRotas.TipagemRotas({ caminho: "aplicacao/func" }); - (0, import_vitest.expect)(r1.caminho).toBe("/aplicacao/func"); - const r2 = new import_tipagemRotas.TipagemRotas({ - caminho: ["aplicacao", "func"] - }); - (0, import_vitest.expect)(r2.caminho).toBe("/aplicacao/func"); - const r3 = new import_tipagemRotas.TipagemRotas({ caminho: "/a//b///c/" }); - (0, import_vitest.expect)(r3.caminho).toBe("/a/b/c"); - }); - (0, import_vitest.it)("Valores de entrada com mesmo valor dos valores de sa\xEDda", () => { - const r1 = new import_tipagemRotas.TipagemRotas({ caminho: "aplicacao/func" }); - const objetoEntrada = { idade: 21, nome: "Jo\xE3o" }; - const rota = r1.endereco(objetoEntrada); - const parametros = r1.parametros(rota); - (0, import_vitest.expect)(parametros.nome).toBe(objetoEntrada.nome); - }); -}); diff --git a/dist-back/texto_busca.js b/dist-back/texto_busca.js deleted file mode 100644 index 3d0ec36..0000000 --- a/dist-back/texto_busca.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var texto_busca_exports = {}; -__export(texto_busca_exports, { - texto_busca: () => texto_busca -}); -module.exports = __toCommonJS(texto_busca_exports); -const texto_busca = (...texto) => texto.map( - (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() -).join(" "); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - texto_busca -}); diff --git a/dist-back/tipagemRotas.js b/dist-back/tipagemRotas.js deleted file mode 100644 index 05c4f5b..0000000 --- a/dist-back/tipagemRotas.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var tipagemRotas_exports = {}; -__export(tipagemRotas_exports, { - TipagemRotas: () => TipagemRotas -}); -module.exports = __toCommonJS(tipagemRotas_exports); -class TipagemRotas { - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ - caminho, - acaoIr, - rotulo - }) { - this._partesCaminho = []; - this._acaoIr = acaoIr; - this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); - this.rotulo = rotulo; - } - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho() { - const ret = `/${this._partesCaminho.join("/")}`; - return ret; - } - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial) { - this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); - } - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query, usarComoHash) { - const url = new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - url.pathname = this.caminho; - url.search = ""; - const queryKeys = Object.entries(query); - for (const [key, value] of queryKeys) { - url.searchParams.set(String(key), JSON.stringify(value)); - } - url.hash = ""; - if (usarComoHash) { - url.hash = `#${url.search}`; - url.search = ""; - } - return url.href; - } - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query) { - if (this._acaoIr) { - this._acaoIr(this.endereco({ ...query })); - } else { - if (typeof window != "undefined") { - window.location.href = this.endereco({ ...query }); - } - } - } - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada) { - const url = urlEntrada ? new URL(urlEntrada) : new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - const query = url.searchParams; - let queryObj = Object.fromEntries(query.entries()); - const hash = url.hash; - if (hash) { - const hashObj = Object.fromEntries( - new URLSearchParams(hash.slice(1)).entries() - ); - queryObj = { ...queryObj, ...hashObj }; - } - for (const chave in queryObj) { - try { - queryObj[chave] = JSON.parse(queryObj[chave]); - } catch { - console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); - } - } - return queryObj; - } -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - TipagemRotas -}); diff --git a/dist-back/unidades_medida.js b/dist-back/unidades_medida.js deleted file mode 100644 index 1d9b95a..0000000 --- a/dist-back/unidades_medida.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var unidades_medida_exports = {}; -__export(unidades_medida_exports, { - siglas_unidades_medida: () => siglas_unidades_medida, - unidades_medida: () => unidades_medida -}); -module.exports = __toCommonJS(unidades_medida_exports); -var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { - siglas_unidades_medida2["UN"] = "UN"; - siglas_unidades_medida2["KG"] = "KG"; - siglas_unidades_medida2["TON"] = "TON"; - siglas_unidades_medida2["g"] = "g"; - siglas_unidades_medida2["M\xB3"] = "M\xB3"; - siglas_unidades_medida2["Lt"] = "Lt"; - return siglas_unidades_medida2; -})(siglas_unidades_medida || {}); -const unidades_medida = [ - { - sigla_unidade: "KG", - nome: "Quilograma", - sigla_normalizada: "KG", - normalizar: (valor) => valor, - tipo: "massa" - }, - { - sigla_unidade: "g", - nome: "Grama", - sigla_normalizada: "KG", - normalizar: (valor) => valor / 1e3, - tipo: "massa" - }, - { - sigla_unidade: "TON", - nome: "Tonelada", - sigla_normalizada: "KG", - normalizar: (valor) => valor * 1e3, - tipo: "massa" - }, - { - sigla_unidade: "Lt", - nome: "Litro", - sigla_normalizada: "Lt", - normalizar: (valor) => valor, - tipo: "volume" - }, - { - sigla_unidade: "M\xB3", - nome: "Metro C\xFAbico", - sigla_normalizada: "Lt", - normalizar: (valor) => valor * 1e3, - tipo: "volume" - }, - { - sigla_unidade: "UN", - nome: "Unidade", - sigla_normalizada: "UN", - normalizar: (valor) => valor, - tipo: "unidade" - } -]; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - siglas_unidades_medida, - unidades_medida -}); diff --git a/dist-back/uuid.js b/dist-back/uuid.js deleted file mode 100644 index 6d8dfc0..0000000 --- a/dist-back/uuid.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var uuid_exports = {}; -__export(uuid_exports, { - erUuid: () => erUuid, - uuid: () => uuid, - uuidV3: () => uuidV3, - uuidV4: () => uuidV4, - validarUuid: () => validarUuid -}); -module.exports = __toCommonJS(uuid_exports); -var import_uuid = require("uuid"); -const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; -const validarUuid = (uuid2) => { - const retorno = erUuid.test(String(uuid2 || "")); - return retorno; -}; -const uuidV3 = (chave, grupo) => { - return (0, import_uuid.v3)( - // Converte a chave para string (de forma segura) - typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), - // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL - grupo ? uuidV3(grupo) : import_uuid.NIL - ); -}; -const uuidV4 = import_uuid.v4; -const uuid = uuidV4; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - erUuid, - uuid, - uuidV3, - uuidV4, - validarUuid -}); diff --git a/dist-back/variaveisComuns.js b/dist-back/variaveisComuns.js deleted file mode 100644 index 8f40e1d..0000000 --- a/dist-back/variaveisComuns.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var variaveisComuns_exports = {}; -__export(variaveisComuns_exports, { - esperar: () => esperar, - nomeVariavel: () => nomeVariavel -}); -module.exports = __toCommonJS(variaveisComuns_exports); -const esperar = (ms) => new Promise( - (resolve) => setTimeout(() => resolve(true), ms) -); -const nomeVariavel = (v) => Object.keys(v).join("/"); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - esperar, - nomeVariavel -}); diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts deleted file mode 100644 index 0c7aabd..0000000 --- a/dist-front/index.d.mts +++ /dev/null @@ -1,311 +0,0 @@ -import z from 'zod'; -export { ManipulateType, default as dayjsbr } from 'dayjs'; -import { v4 } from 'uuid'; - -declare const aleatorio: (tamanho?: number) => string; - -/** gerar uma função de cache para uso em memoria */ -declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -declare const verCacheM: () => { - [k: string]: { - /** new Date().getTime() */ - validade?: number | undefined; - valor: any; - } | undefined; -}; -declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -/** para uso fixo dentro de uma função, trava a chave */ -declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; - -declare const uuid_null = "00000000-0000-0000-0000-000000000000"; -/** Colunas Presentes n maioria das tabelas */ -declare enum camposComuns { - codigo = "codigo", - excluido = "excluido", - data_hora_criacao = "data_hora_criacao", - data_hora_atualizacao = "data_hora_atualizacao", - codigo_usuario_criacao = "codigo_usuario_criacao", - codigo_usuario_atualizacao = "codigo_usuario_atualizacao", - versao = "versao" -} -/** Palavras comumente usadas */ -declare enum tx { - token = "token" -} -declare enum tipoUsuarioResiduos { - Usuario = "usuario", - Fornecedor = "fornecedor" -} - -declare enum operadores { - "=" = "=", - "!=" = "!=", - ">" = ">", - ">=" = ">=", - "<" = "<", - "<=" = "<=", - like = "like", - in = "in" -} -type tipoFiltro = { - coluna: string; - valor: any; - operador: keyof typeof operadores | operadores; - ou?: boolean; -}; -type interfaceConsulta = { - offset?: number; - limit?: number; - filtros?: tipoFiltro[]; - ordem?: string; - ordemTipo?: "asc" | "desc"; - colunas?: string[]; - apenasConsulta?: boolean; - apenasContagem?: boolean; -}; -declare const zOperadores: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; -}>; -declare const zFiltro: z.ZodObject<{ - coluna: z.ZodString; - valor: z.ZodAny; - operador: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; - }>; - ou: z.ZodOptional; -}, z.core.$strip>; - -declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; -declare const extensoes: { - ext: string; - tipo: tiposArquivo; - mime: string; -}[]; -/** - * Função que retorna o tipo do arquivo - * @param nomeArquivo - * @returns - */ -declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; - -declare const graficos_pilao: { - [k: string]: { - grafico: string; - titulo: string; - }; -}; - -/** - * LocalStorage Tipado - * Lê ou grava um valor no localStorage, mantendo o tipo genérico . - */ -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 - * @returns - */ -declare const paraObjetoRegistroPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const pgObjeto: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const objetoPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; - -declare const umaFuncao: () => string; - -declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; - -/** gerar o texto de busca removendo caracteres especies e caixa alta */ -declare const texto_busca: (...texto: any[]) => string; - -/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys - * - * Definições: - * - * caminho = "/aplicacao/funcionalidade" - * - * endereco = "http://localhost:3000/aplicacao/funcionalidade" - * - * parametros = {nome:"José"} - */ -declare class TipagemRotas { - _partesCaminho: string[]; - _acaoIr?: (endereco: string) => undefined; - rotulo: string | undefined; - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ caminho, acaoIr, rotulo, }: { - caminho: (string | null | undefined)[] | string; - acaoIr?: undefined | ((endereco: string) => undefined); - /** Rotulo da página - * Inicio | Controle - */ - rotulo?: string; - }); - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho(): string; - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial: string); - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query: T, usarComoHash?: boolean): string; - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query: T): void; - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada?: string): Partial; -} - -/** - * Essa variável se conecta a tabela_lidades - * - * onde sigla se conecta com sigla - * - * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha - * usar a normalizada - */ -declare enum siglas_unidades_medida { - UN = "UN", - KG = "KG", - TON = "TON", - g = "g", - "M³" = "M\u00B3", - Lt = "Lt" -} -declare const unidades_medida: { - sigla_unidade: keyof typeof siglas_unidades_medida; - nome: string; - sigla_normalizada: keyof typeof siglas_unidades_medida; - normalizar: (valor: number) => number; - tipo: "massa" | "volume" | "comprimento" | "unidade"; -}[]; - -/** - * Valida se uma string é um UUID válido (qualquer versão). - * - * @param valor - A string que será validada. - * @returns booleano indicando se é um UUID válido. - */ -declare const erUuid: RegExp; -declare const validarUuid: (uuid: string | number | undefined | null) => boolean; -/** - * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). - * - * - Usa o algoritmo MD5 (RFC 4122). - * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. - * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. - * - * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). - * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. - * @returns UUID v3 (determinístico) - */ -declare const uuidV3: (chave: any, grupo?: any) => string; -/** - * Gera um UUID v4 (aleatório, não determinístico). - * - * - Usado quando unicidade é necessária, mas não se exige que seja previsível. - */ -declare const uuidV4: typeof v4; -/** - * @deprecated Esta variável será descontinuada em versões futuras. - * Use a função `uuidV4()` diretamente. - */ -declare const uuid: typeof v4; - -declare const esperar: (ms: number) => Promise; -/** - * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto - * const nomex = {a: 1, b: 2} - * nomeVariavel({nomex}) // retorna "nomex" - * @param v - * @returns - */ -declare const nomeVariavel: (v: { - [key: string]: any; -}) => string; - -export { TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, 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 }; diff --git a/dist-front/index.mjs b/dist-front/index.mjs deleted file mode 100644 index da21edc..0000000 --- a/dist-front/index.mjs +++ /dev/null @@ -1,599 +0,0 @@ -// src/aleatorio.ts -var alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); -var aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; - -// src/cacheMemoria.ts -var _cache = {}; -globalThis.cacheMemoria_cache = _cache; -var cacheM = (chave, valor, validadeSeg) => { - const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); - const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; - if (valor !== void 0) { - _cache[txChave] = { - valor, - validade - }; - } - const busca = _cache[txChave]; - if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { - return void 0; - } - return busca?.valor; -}; -var verCacheM = () => _cache; -var cacheMemoria = cacheM; -var cacheMFixo = (chave) => (valor) => cacheM(chave, valor); - -// src/constantes.ts -var uuid_null = "00000000-0000-0000-0000-000000000000"; -var camposComuns = /* @__PURE__ */ ((camposComuns2) => { - camposComuns2["codigo"] = "codigo"; - camposComuns2["excluido"] = "excluido"; - camposComuns2["data_hora_criacao"] = "data_hora_criacao"; - camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; - camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; - camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; - camposComuns2["versao"] = "versao"; - return camposComuns2; -})(camposComuns || {}); -var tx = /* @__PURE__ */ ((tx2) => { - tx2["token"] = "token"; - return tx2; -})(tx || {}); -var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { - tipoUsuarioResiduos2["Usuario"] = "usuario"; - tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; - return tipoUsuarioResiduos2; -})(tipoUsuarioResiduos || {}); - -// src/consulta.ts -import z from "zod"; -var operadores = /* @__PURE__ */ ((operadores2) => { - operadores2["="] = "="; - operadores2["!="] = "!="; - operadores2[">"] = ">"; - operadores2[">="] = ">="; - operadores2["<"] = "<"; - operadores2["<="] = "<="; - operadores2["like"] = "like"; - operadores2["in"] = "in"; - return operadores2; -})(operadores || {}); -var zOperadores = z.enum([ - "=", - "!=", - ">", - ">=", - "<", - "<=", - "like", - "in" -]); -var zFiltro = z.object({ - coluna: z.string(), - valor: z.any(), - operador: zOperadores, - ou: z.boolean().optional() -}); - -// src/dayjs.ts -import dayjsbr from "dayjs"; -import duration from "dayjs/plugin/duration"; -import isSameOrAfter from "dayjs/plugin/isSameOrAfter"; -import isSameOrBefore from "dayjs/plugin/isSameOrBefore"; -import minMax from "dayjs/plugin/minMax"; -import relativeTime from "dayjs/plugin/relativeTime"; -import timezone from "dayjs/plugin/timezone"; -import utc from "dayjs/plugin/utc"; -import weekOfYear from "dayjs/plugin/weekOfYear"; -dayjsbr.extend(utc); -dayjsbr.extend(timezone); -dayjsbr.extend(weekOfYear); -dayjsbr.extend(isSameOrBefore); -dayjsbr.extend(isSameOrAfter); -dayjsbr.extend(minMax); -dayjsbr.extend(relativeTime); -dayjsbr.extend(duration); - -// src/ecosistema/urls.ts -var cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -// src/extensoes.ts -var extensoes = [ - { - 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" - } -]; -var tipoArquivo = (nomeArquivo) => { - const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); - const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); - return extensao?.tipo || "outros"; -}; - -// src/graficosPilao.ts -var graficos_pilao = { - Condicionantes: { - grafico: "condicionantes-criadas", - titulo: "Condicionantes Criadas" - }, - Licen\u00E7as: { - grafico: "licencas-criadas", - titulo: "Licen\xE7as Criadas" - } -}; - -// src/local/index.ts -var localValor = (chave_, valor) => { - const localStorage = globalThis.localStorage; - if (typeof localStorage == "undefined") return null; - const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); - try { - if (valor !== void 0) { - localStorage.setItem(chave, JSON.stringify(valor)); - } - const v2 = localStorage.getItem(chave); - if (v2 === null) return null; - try { - return JSON.parse(v2); - } catch { - return v2; - } - } catch { - return null; - } -}; - -// src/logger.ts -import crossFetch from "cross-fetch"; - -// src/variaveisComuns.ts -var esperar = (ms) => new Promise( - (resolve) => setTimeout(() => resolve(true), ms) -); -var nomeVariavel = (v) => Object.keys(v).join("/"); - -// src/logger.ts -var LOKI_BASE_URL = "https://log.idz.one"; -var LOKI_ENDPOINT = "/loki/api/v1/push"; -var postLogger = async ({ - objeto -}) => { - 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]; -}; -var cwd = ""; -var defineCwd = (novoCwd) => { - cwd = novoCwd; -}; -var 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 = [`${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 = { - 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; -}; - -// src/postgres.ts -var paraObjetoRegistroPg = (entrada) => { - try { - return Object.fromEntries( - Object.entries(entrada).map(([k, v]) => [ - k, - v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) - ]) - ); - } catch (error) { - throw new Error( - `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` - ); - } -}; -var pgObjeto = paraObjetoRegistroPg; -var objetoPg = paraObjetoRegistroPg; - -// src/testes-de-variaveis/umaFuncao.ts -var umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; - -// src/testes-de-variaveis/umaVariavel.ts -var umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; - -// src/texto_busca.ts -var texto_busca = (...texto) => texto.map( - (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() -).join(" "); - -// src/tipagemRotas.ts -var TipagemRotas = class { - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ - caminho, - acaoIr, - rotulo - }) { - this._partesCaminho = []; - this._acaoIr = acaoIr; - this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); - this.rotulo = rotulo; - } - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho() { - const ret = `/${this._partesCaminho.join("/")}`; - return ret; - } - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial) { - this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); - } - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query, usarComoHash) { - const url = new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - url.pathname = this.caminho; - url.search = ""; - const queryKeys = Object.entries(query); - for (const [key, value] of queryKeys) { - url.searchParams.set(String(key), JSON.stringify(value)); - } - url.hash = ""; - if (usarComoHash) { - url.hash = `#${url.search}`; - url.search = ""; - } - return url.href; - } - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query) { - if (this._acaoIr) { - this._acaoIr(this.endereco({ ...query })); - } else { - if (typeof window != "undefined") { - window.location.href = this.endereco({ ...query }); - } - } - } - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada) { - const url = urlEntrada ? new URL(urlEntrada) : new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - const query = url.searchParams; - let queryObj = Object.fromEntries(query.entries()); - const hash = url.hash; - if (hash) { - const hashObj = Object.fromEntries( - new URLSearchParams(hash.slice(1)).entries() - ); - queryObj = { ...queryObj, ...hashObj }; - } - for (const chave in queryObj) { - try { - queryObj[chave] = JSON.parse(queryObj[chave]); - } catch { - console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); - } - } - return queryObj; - } -}; - -// src/unidades_medida.ts -var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { - siglas_unidades_medida2["UN"] = "UN"; - siglas_unidades_medida2["KG"] = "KG"; - siglas_unidades_medida2["TON"] = "TON"; - siglas_unidades_medida2["g"] = "g"; - siglas_unidades_medida2["M\xB3"] = "M\xB3"; - siglas_unidades_medida2["Lt"] = "Lt"; - return siglas_unidades_medida2; -})(siglas_unidades_medida || {}); -var unidades_medida = [ - { - sigla_unidade: "KG", - nome: "Quilograma", - sigla_normalizada: "KG", - normalizar: (valor) => valor, - tipo: "massa" - }, - { - sigla_unidade: "g", - nome: "Grama", - sigla_normalizada: "KG", - normalizar: (valor) => valor / 1e3, - tipo: "massa" - }, - { - sigla_unidade: "TON", - nome: "Tonelada", - sigla_normalizada: "KG", - normalizar: (valor) => valor * 1e3, - tipo: "massa" - }, - { - sigla_unidade: "Lt", - nome: "Litro", - sigla_normalizada: "Lt", - normalizar: (valor) => valor, - tipo: "volume" - }, - { - sigla_unidade: "M\xB3", - nome: "Metro C\xFAbico", - sigla_normalizada: "Lt", - normalizar: (valor) => valor * 1e3, - tipo: "volume" - }, - { - sigla_unidade: "UN", - nome: "Unidade", - sigla_normalizada: "UN", - normalizar: (valor) => valor, - tipo: "unidade" - } -]; - -// src/uuid.ts -import { NIL, v3, v4 } from "uuid"; -var erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; -var validarUuid = (uuid2) => { - const retorno = erUuid.test(String(uuid2 || "")); - return retorno; -}; -var uuidV3 = (chave, grupo) => { - return v3( - // Converte a chave para string (de forma segura) - typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), - // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL - grupo ? uuidV3(grupo) : NIL - ); -}; -var uuidV4 = v4; -var uuid = uuidV4; -export { - TipagemRotas, - aleatorio, - cacheM, - cacheMFixo, - cacheMemoria, - camposComuns, - cdn_carro_de_boi, - dayjsbr, - defineCwd, - erUuid, - esperar, - extensoes, - graficos_pilao, - localValor, - logger, - nomeVariavel, - objetoPg, - operadores, - paraObjetoRegistroPg, - pgObjeto, - postLogger, - siglas_unidades_medida, - texto_busca, - tipoArquivo, - tipoUsuarioResiduos, - tx, - umaFuncao, - umaVariavel, - unidades_medida, - uuid, - uuidV3, - uuidV4, - uuid_null, - validarUuid, - verCacheM, - zFiltro, - zOperadores -}; diff --git a/package.json b/package.json index e7e73ee..5ebe599 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,15 @@ { "name": "p-comuns", - "version": "0.272.0", + "version": "0.273.0", "description": "", - "main": "./dist-back/index.js", - "module": "./dist-front/index.mjs", - "types": "./dist-front/index.d.ts", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", "exports": { ".": { - "types": "./dist-front/index.d.ts", - "import": "./dist-front/index.mjs", - "require": "./dist-back/index.js" + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" } }, "type": "module", From 2157b5d8b53a7e39416466d199cbdfddce7d0569 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:29:21 -0300 Subject: [PATCH 11/36] .js --- dist/index.cjs | 16 ++++++++-------- dist/index.mjs | 16 ++++++++-------- src/dayjs.ts | 16 ++++++++-------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/dist/index.cjs b/dist/index.cjs index 04f68fd..193d368 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -2,14 +2,14 @@ const z = require('zod'); const dayjsbr = require('dayjs'); -const duration = require('dayjs/plugin/duration'); -const isSameOrAfter = require('dayjs/plugin/isSameOrAfter'); -const isSameOrBefore = require('dayjs/plugin/isSameOrBefore'); -const minMax = require('dayjs/plugin/minMax'); -const relativeTime = require('dayjs/plugin/relativeTime'); -const timezone = require('dayjs/plugin/timezone'); -const utc = require('dayjs/plugin/utc'); -const weekOfYear = require('dayjs/plugin/weekOfYear'); +const duration = require('dayjs/plugin/duration.js'); +const isSameOrAfter = require('dayjs/plugin/isSameOrAfter.js'); +const isSameOrBefore = require('dayjs/plugin/isSameOrBefore.js'); +const minMax = require('dayjs/plugin/minMax.js'); +const relativeTime = require('dayjs/plugin/relativeTime.js'); +const timezone = require('dayjs/plugin/timezone.js'); +const utc = require('dayjs/plugin/utc.js'); +const weekOfYear = require('dayjs/plugin/weekOfYear.js'); const crossFetch = require('cross-fetch'); const uuid$1 = require('uuid'); diff --git a/dist/index.mjs b/dist/index.mjs index c9476a9..8602ee3 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1,14 +1,14 @@ import z from 'zod'; import dayjsbr from 'dayjs'; export { default as dayjsbr } from 'dayjs'; -import duration from 'dayjs/plugin/duration'; -import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'; -import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'; -import minMax from 'dayjs/plugin/minMax'; -import relativeTime from 'dayjs/plugin/relativeTime'; -import timezone from 'dayjs/plugin/timezone'; -import utc from 'dayjs/plugin/utc'; -import weekOfYear from 'dayjs/plugin/weekOfYear'; +import duration from 'dayjs/plugin/duration.js'; +import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'; +import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'; +import minMax from 'dayjs/plugin/minMax.js'; +import relativeTime from 'dayjs/plugin/relativeTime.js'; +import timezone from 'dayjs/plugin/timezone.js'; +import utc from 'dayjs/plugin/utc.js'; +import weekOfYear from 'dayjs/plugin/weekOfYear.js'; import crossFetch from 'cross-fetch'; import { v4, v3, NIL } from 'uuid'; diff --git a/src/dayjs.ts b/src/dayjs.ts index 6f03a14..6268b51 100644 --- a/src/dayjs.ts +++ b/src/dayjs.ts @@ -2,14 +2,14 @@ import dayjsbr from "dayjs" export type { ManipulateType } from "dayjs" -import duration from "dayjs/plugin/duration" -import isSameOrAfter from "dayjs/plugin/isSameOrAfter" -import isSameOrBefore from "dayjs/plugin/isSameOrBefore" -import minMax from "dayjs/plugin/minMax" -import relativeTime from "dayjs/plugin/relativeTime" -import timezone from "dayjs/plugin/timezone" -import utc from "dayjs/plugin/utc" -import weekOfYear from "dayjs/plugin/weekOfYear" +import duration from "dayjs/plugin/duration.js" +import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js" +import isSameOrBefore from "dayjs/plugin/isSameOrBefore.js" +import minMax from "dayjs/plugin/minMax.js" +import relativeTime from "dayjs/plugin/relativeTime.js" +import timezone from "dayjs/plugin/timezone.js" +import utc from "dayjs/plugin/utc.js" +import weekOfYear from "dayjs/plugin/weekOfYear.js" dayjsbr.extend(utc) dayjsbr.extend(timezone) From 14396d5ec5aafe68e96982b6601309eb7876d87c Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:29:46 -0300 Subject: [PATCH 12/36] . --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5ebe599..47901c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.273.0", + "version": "0.274.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", From 10a331241812c4522669ceedef620429e62a8404 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:39:58 -0300 Subject: [PATCH 13/36] mais ajustes --- dist/index.cjs | 26 +++++++++++++++----------- dist/index.d.cts | 7 +++++-- dist/index.d.mts | 7 +++++-- dist/index.d.ts | 7 +++++-- dist/index.mjs | 25 ++++++++++++++----------- package.json | 2 +- src/dayjs.ts | 24 ++++++++++++++---------- 7 files changed, 59 insertions(+), 39 deletions(-) diff --git a/dist/index.cjs b/dist/index.cjs index 193d368..01a6004 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -1,7 +1,7 @@ 'use strict'; const z = require('zod'); -const dayjsbr = require('dayjs'); +const dayjs = require('dayjs'); const duration = require('dayjs/plugin/duration.js'); const isSameOrAfter = require('dayjs/plugin/isSameOrAfter.js'); const isSameOrBefore = require('dayjs/plugin/isSameOrBefore.js'); @@ -10,13 +10,14 @@ const relativeTime = require('dayjs/plugin/relativeTime.js'); const timezone = require('dayjs/plugin/timezone.js'); const utc = require('dayjs/plugin/utc.js'); const weekOfYear = require('dayjs/plugin/weekOfYear.js'); +require('dayjs/locale/pt-br.js'); const crossFetch = require('cross-fetch'); const uuid$1 = require('uuid'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; } const z__default = /*#__PURE__*/_interopDefaultCompat(z); -const dayjsbr__default = /*#__PURE__*/_interopDefaultCompat(dayjsbr); +const dayjs__default = /*#__PURE__*/_interopDefaultCompat(dayjs); const duration__default = /*#__PURE__*/_interopDefaultCompat(duration); const isSameOrAfter__default = /*#__PURE__*/_interopDefaultCompat(isSameOrAfter); const isSameOrBefore__default = /*#__PURE__*/_interopDefaultCompat(isSameOrBefore); @@ -100,14 +101,16 @@ const zFiltro = z__default.object({ ou: z__default.boolean().optional() }); -dayjsbr__default.extend(utc__default); -dayjsbr__default.extend(timezone__default); -dayjsbr__default.extend(weekOfYear__default); -dayjsbr__default.extend(isSameOrBefore__default); -dayjsbr__default.extend(isSameOrAfter__default); -dayjsbr__default.extend(minMax__default); -dayjsbr__default.extend(relativeTime__default); -dayjsbr__default.extend(duration__default); +dayjs__default.locale("pt-br"); +dayjs__default.extend(utc__default); +dayjs__default.extend(timezone__default); +dayjs__default.extend(weekOfYear__default); +dayjs__default.extend(isSameOrBefore__default); +dayjs__default.extend(isSameOrAfter__default); +dayjs__default.extend(minMax__default); +dayjs__default.extend(relativeTime__default); +dayjs__default.extend(duration__default); +const dayjsbr = dayjs__default; const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; @@ -558,7 +561,7 @@ const uuidV3 = (chave, grupo) => { const uuidV4 = uuid$1.v4; const uuid = uuidV4; -exports.dayjsbr = dayjsbr__default; +exports.dayjs = dayjs__default; exports.TipagemRotas = TipagemRotas; exports.aleatorio = aleatorio; exports.cacheM = cacheM; @@ -566,6 +569,7 @@ exports.cacheMFixo = cacheMFixo; exports.cacheMemoria = cacheMemoria; exports.camposComuns = camposComuns; exports.cdn_carro_de_boi = cdn_carro_de_boi; +exports.dayjsbr = dayjsbr; exports.defineCwd = defineCwd; exports.erUuid = erUuid; exports.esperar = esperar; diff --git a/dist/index.d.cts b/dist/index.d.cts index b8077fa..66c2e30 100644 --- a/dist/index.d.cts +++ b/dist/index.d.cts @@ -1,5 +1,6 @@ import z from 'zod'; -export { ManipulateType, default as dayjsbr } from 'dayjs'; +import dayjs from 'dayjs'; +export { ManipulateType, default as dayjs } from 'dayjs'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; @@ -89,6 +90,8 @@ declare const zFiltro: z.ZodObject<{ ou: z.ZodOptional; }, z.core.$strip>; +declare const dayjsbr: typeof dayjs; + declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; @@ -308,5 +311,5 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, 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, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.d.mts b/dist/index.d.mts index b8077fa..66c2e30 100644 --- a/dist/index.d.mts +++ b/dist/index.d.mts @@ -1,5 +1,6 @@ import z from 'zod'; -export { ManipulateType, default as dayjsbr } from 'dayjs'; +import dayjs from 'dayjs'; +export { ManipulateType, default as dayjs } from 'dayjs'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; @@ -89,6 +90,8 @@ declare const zFiltro: z.ZodObject<{ ou: z.ZodOptional; }, z.core.$strip>; +declare const dayjsbr: typeof dayjs; + declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; @@ -308,5 +311,5 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, 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, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.d.ts b/dist/index.d.ts index b8077fa..66c2e30 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,5 +1,6 @@ import z from 'zod'; -export { ManipulateType, default as dayjsbr } from 'dayjs'; +import dayjs from 'dayjs'; +export { ManipulateType, default as dayjs } from 'dayjs'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; @@ -89,6 +90,8 @@ declare const zFiltro: z.ZodObject<{ ou: z.ZodOptional; }, z.core.$strip>; +declare const dayjsbr: typeof dayjs; + declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; @@ -308,5 +311,5 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, 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, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.mjs b/dist/index.mjs index 8602ee3..ac3fdc4 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1,6 +1,6 @@ import z from 'zod'; -import dayjsbr from 'dayjs'; -export { default as dayjsbr } from 'dayjs'; +import dayjs from 'dayjs'; +export { default as dayjs } from 'dayjs'; import duration from 'dayjs/plugin/duration.js'; import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'; import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'; @@ -9,6 +9,7 @@ import relativeTime from 'dayjs/plugin/relativeTime.js'; import timezone from 'dayjs/plugin/timezone.js'; import utc from 'dayjs/plugin/utc.js'; import weekOfYear from 'dayjs/plugin/weekOfYear.js'; +import 'dayjs/locale/pt-br.js'; import crossFetch from 'cross-fetch'; import { v4, v3, NIL } from 'uuid'; @@ -85,14 +86,16 @@ const zFiltro = z.object({ ou: z.boolean().optional() }); -dayjsbr.extend(utc); -dayjsbr.extend(timezone); -dayjsbr.extend(weekOfYear); -dayjsbr.extend(isSameOrBefore); -dayjsbr.extend(isSameOrAfter); -dayjsbr.extend(minMax); -dayjsbr.extend(relativeTime); -dayjsbr.extend(duration); +dayjs.locale("pt-br"); +dayjs.extend(utc); +dayjs.extend(timezone); +dayjs.extend(weekOfYear); +dayjs.extend(isSameOrBefore); +dayjs.extend(isSameOrAfter); +dayjs.extend(minMax); +dayjs.extend(relativeTime); +dayjs.extend(duration); +const dayjsbr = dayjs; const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; @@ -543,4 +546,4 @@ const uuidV3 = (chave, grupo) => { const uuidV4 = v4; const uuid = uuidV4; -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, 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, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; diff --git a/package.json b/package.json index 47901c3..9cd6212 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.274.0", + "version": "0.275.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/src/dayjs.ts b/src/dayjs.ts index 6268b51..6938958 100644 --- a/src/dayjs.ts +++ b/src/dayjs.ts @@ -1,4 +1,4 @@ -import dayjsbr from "dayjs" +import dayjs from "dayjs" export type { ManipulateType } from "dayjs" @@ -10,14 +10,18 @@ import relativeTime from "dayjs/plugin/relativeTime.js" import timezone from "dayjs/plugin/timezone.js" import utc from "dayjs/plugin/utc.js" import weekOfYear from "dayjs/plugin/weekOfYear.js" +import "dayjs/locale/pt-br.js" +dayjs.locale("pt-br") -dayjsbr.extend(utc) -dayjsbr.extend(timezone) -dayjsbr.extend(weekOfYear) -dayjsbr.extend(isSameOrBefore) -dayjsbr.extend(isSameOrAfter) -dayjsbr.extend(minMax) -dayjsbr.extend(relativeTime) -dayjsbr.extend(duration) +dayjs.extend(utc) +dayjs.extend(timezone) +dayjs.extend(weekOfYear) +dayjs.extend(isSameOrBefore) +dayjs.extend(isSameOrAfter) +dayjs.extend(minMax) +dayjs.extend(relativeTime) +dayjs.extend(duration) -export { dayjsbr } +export const dayjsbr = dayjs + +export { dayjs } From a88b53e460fd7f8d033cd81584b3245a9427a77e Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 27 Oct 2025 12:42:58 -0300 Subject: [PATCH 14/36] . --- dist/index.cjs | 1 - dist/index.d.cts | 2 +- dist/index.d.mts | 2 +- dist/index.d.ts | 2 +- dist/index.mjs | 1 - package.json | 2 +- src/dayjs.ts | 2 -- 7 files changed, 4 insertions(+), 8 deletions(-) diff --git a/dist/index.cjs b/dist/index.cjs index 01a6004..32e7c76 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -561,7 +561,6 @@ const uuidV3 = (chave, grupo) => { const uuidV4 = uuid$1.v4; const uuid = uuidV4; -exports.dayjs = dayjs__default; exports.TipagemRotas = TipagemRotas; exports.aleatorio = aleatorio; exports.cacheM = cacheM; diff --git a/dist/index.d.cts b/dist/index.d.cts index 66c2e30..59f9882 100644 --- a/dist/index.d.cts +++ b/dist/index.d.cts @@ -1,6 +1,6 @@ import z from 'zod'; import dayjs from 'dayjs'; -export { ManipulateType, default as dayjs } from 'dayjs'; +export { ManipulateType } from 'dayjs'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; diff --git a/dist/index.d.mts b/dist/index.d.mts index 66c2e30..59f9882 100644 --- a/dist/index.d.mts +++ b/dist/index.d.mts @@ -1,6 +1,6 @@ import z from 'zod'; import dayjs from 'dayjs'; -export { ManipulateType, default as dayjs } from 'dayjs'; +export { ManipulateType } from 'dayjs'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; diff --git a/dist/index.d.ts b/dist/index.d.ts index 66c2e30..59f9882 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,6 +1,6 @@ import z from 'zod'; import dayjs from 'dayjs'; -export { ManipulateType, default as dayjs } from 'dayjs'; +export { ManipulateType } from 'dayjs'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; diff --git a/dist/index.mjs b/dist/index.mjs index ac3fdc4..5adb137 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1,6 +1,5 @@ import z from 'zod'; import dayjs from 'dayjs'; -export { default as dayjs } from 'dayjs'; import duration from 'dayjs/plugin/duration.js'; import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'; import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'; diff --git a/package.json b/package.json index 9cd6212..1be314b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.275.0", + "version": "0.276.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/src/dayjs.ts b/src/dayjs.ts index 6938958..1870e39 100644 --- a/src/dayjs.ts +++ b/src/dayjs.ts @@ -23,5 +23,3 @@ dayjs.extend(relativeTime) dayjs.extend(duration) export const dayjsbr = dayjs - -export { dayjs } From 61fcd8be82aa7829dfeae4fc21daaa3d8b2e12ca Mon Sep 17 00:00:00 2001 From: marcio Date: Mon, 10 Nov 2025 15:58:07 -0300 Subject: [PATCH 15/36] build --- dist/situacoes/index.d.ts | 1 + dist/situacoes/index.js | 18 +++++++++ dist/situacoes/index.js.map | 1 + dist/situacoes/situacoes.d.ts | 51 +++++++++++++++++++++++++ dist/situacoes/situacoes.js | 64 +++++++++++++++++++++++++++++++ dist/situacoes/situacoes.js.map | 1 + package.json | 2 +- src/situacoes/index.ts | 1 + src/situacoes/situacoes.ts | 68 +++++++++++++++++++++++++++++++++ 9 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 dist/situacoes/index.d.ts create mode 100644 dist/situacoes/index.js create mode 100644 dist/situacoes/index.js.map create mode 100644 dist/situacoes/situacoes.d.ts create mode 100644 dist/situacoes/situacoes.js create mode 100644 dist/situacoes/situacoes.js.map create mode 100644 src/situacoes/index.ts create mode 100644 src/situacoes/situacoes.ts diff --git a/dist/situacoes/index.d.ts b/dist/situacoes/index.d.ts new file mode 100644 index 0000000..195b8f6 --- /dev/null +++ b/dist/situacoes/index.d.ts @@ -0,0 +1 @@ +export * from "./situacoes"; diff --git a/dist/situacoes/index.js b/dist/situacoes/index.js new file mode 100644 index 0000000..fc8a170 --- /dev/null +++ b/dist/situacoes/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./situacoes"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/situacoes/index.js.map b/dist/situacoes/index.js.map new file mode 100644 index 0000000..bfc8eb5 --- /dev/null +++ b/dist/situacoes/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/situacoes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"} \ No newline at end of file diff --git a/dist/situacoes/situacoes.d.ts b/dist/situacoes/situacoes.d.ts new file mode 100644 index 0000000..d27e3c7 --- /dev/null +++ b/dist/situacoes/situacoes.d.ts @@ -0,0 +1,51 @@ +export declare enum tiposSituacoes { + vencida = "100_vencida", + expirado = "200_expirado", + alerta = "300_alerta", + protocoladafora = "350_protocoladafora", + protocolada = "400_protocolada", + protocoladaApenas = "430_protocolada", + protocolada_alteracao = "450_protocolada", + prazo = "500_prazo", + emitida = "515_emitida", + valida = "518_valida", + novo = "520_novo", + recebido = "521_recebido", + em_andamento = "530_em_andamento", + aguardando = "530_aguardando", + aguardandoresposta = "540_aguardandoresposta", + suspensaotemporaria = "540_suspensaotemporaria", + cancelada = "550_cancelada", + execucao = "560_execucao", + pendente = "570_pendente", + executadafora = "600_executadafora", + executada = "700_executada", + naoexecutada = "701_naoexecutada", + concluida = "730_concluida", + respondido_negado = "740_respondido_negado", + respondido_aceito = "741_respondido_aceito", + atendidoparcial = "742_atendidoparcial", + naoatendido = "743_naoatendido", + atendido = "744_atendido", + renovada = "760_renovada", + finalizada = "800_finalizada", + emitirnota = "101_emitirnota", + faturaatrasada = "301_faturaatrasada", + pagarfatura = "302_pagarfatura", + aguardandoconfirmacao = "531_aguardandoconfirmacao", + agendado = "701_agendado", + faturapaga = "801_faturapaga", + excluida = "999_excluida", + requerida = "401_requerida", + vigente = "516_vigente", + emrenovacao = "402_emrenovacao", + arquivada = "801_arquivada", + aguardando_sincronizacao = "999_aguardando_sincronizacao", + nao_conforme = "710_nao_conforme", + conforme = "720_conforme", + nao_aplicavel = "730_nao_aplicavel", + parcial = "715_parcial" +} +export declare const corSituacoes: { + [K in keyof typeof tiposSituacoes]?: string; +}; diff --git a/dist/situacoes/situacoes.js b/dist/situacoes/situacoes.js new file mode 100644 index 0000000..5027507 --- /dev/null +++ b/dist/situacoes/situacoes.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.corSituacoes = exports.tiposSituacoes = void 0; +var tiposSituacoes; +(function (tiposSituacoes) { + tiposSituacoes["vencida"] = "100_vencida"; + tiposSituacoes["expirado"] = "200_expirado"; + tiposSituacoes["alerta"] = "300_alerta"; + tiposSituacoes["protocoladafora"] = "350_protocoladafora"; + tiposSituacoes["protocolada"] = "400_protocolada"; + tiposSituacoes["protocoladaApenas"] = "430_protocolada"; + tiposSituacoes["protocolada_alteracao"] = "450_protocolada"; + tiposSituacoes["prazo"] = "500_prazo"; + tiposSituacoes["emitida"] = "515_emitida"; + tiposSituacoes["valida"] = "518_valida"; + tiposSituacoes["novo"] = "520_novo"; + tiposSituacoes["recebido"] = "521_recebido"; + tiposSituacoes["em_andamento"] = "530_em_andamento"; + tiposSituacoes["aguardando"] = "530_aguardando"; + tiposSituacoes["aguardandoresposta"] = "540_aguardandoresposta"; + tiposSituacoes["suspensaotemporaria"] = "540_suspensaotemporaria"; + tiposSituacoes["cancelada"] = "550_cancelada"; + tiposSituacoes["execucao"] = "560_execucao"; + tiposSituacoes["pendente"] = "570_pendente"; + tiposSituacoes["executadafora"] = "600_executadafora"; + tiposSituacoes["executada"] = "700_executada"; + tiposSituacoes["naoexecutada"] = "701_naoexecutada"; + tiposSituacoes["concluida"] = "730_concluida"; + tiposSituacoes["respondido_negado"] = "740_respondido_negado"; + tiposSituacoes["respondido_aceito"] = "741_respondido_aceito"; + tiposSituacoes["atendidoparcial"] = "742_atendidoparcial"; + tiposSituacoes["naoatendido"] = "743_naoatendido"; + tiposSituacoes["atendido"] = "744_atendido"; + tiposSituacoes["renovada"] = "760_renovada"; + tiposSituacoes["finalizada"] = "800_finalizada"; + tiposSituacoes["emitirnota"] = "101_emitirnota"; + tiposSituacoes["faturaatrasada"] = "301_faturaatrasada"; + tiposSituacoes["pagarfatura"] = "302_pagarfatura"; + tiposSituacoes["aguardandoconfirmacao"] = "531_aguardandoconfirmacao"; + tiposSituacoes["agendado"] = "701_agendado"; + tiposSituacoes["faturapaga"] = "801_faturapaga"; + tiposSituacoes["excluida"] = "999_excluida"; + // situacoes outorgas + // Requerido + // Vigente + // Em renovação + // Arquivado + tiposSituacoes["requerida"] = "401_requerida"; + tiposSituacoes["vigente"] = "516_vigente"; + tiposSituacoes["emrenovacao"] = "402_emrenovacao"; + tiposSituacoes["arquivada"] = "801_arquivada"; + tiposSituacoes["aguardando_sincronizacao"] = "999_aguardando_sincronizacao"; + tiposSituacoes["nao_conforme"] = "710_nao_conforme"; + tiposSituacoes["conforme"] = "720_conforme"; + tiposSituacoes["nao_aplicavel"] = "730_nao_aplicavel"; + tiposSituacoes["parcial"] = "715_parcial"; +})(tiposSituacoes || (exports.tiposSituacoes = tiposSituacoes = {})); +exports.corSituacoes = { + pendente: "#CCC353", + nao_conforme: "#dc3545", + conforme: "#28a745", + alerta: "#FFDE59", +}; +//# sourceMappingURL=situacoes.js.map \ No newline at end of file diff --git a/dist/situacoes/situacoes.js.map b/dist/situacoes/situacoes.js.map new file mode 100644 index 0000000..f2189b2 --- /dev/null +++ b/dist/situacoes/situacoes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"situacoes.js","sourceRoot":"","sources":["../../src/situacoes/situacoes.ts"],"names":[],"mappings":";;;AAAA,IAAY,cA4DX;AA5DD,WAAY,cAAc;IACxB,yCAAuB,CAAA;IACvB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;IAErB,yDAAuC,CAAA;IACvC,iDAA+B,CAAA;IAC/B,uDAAqC,CAAA;IACrC,2DAAyC,CAAA;IAEzC,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,mDAAiC,CAAA;IAEjC,+CAA6B,CAAA;IAC7B,+DAA6C,CAAA;IAC7C,iEAA+C,CAAA;IAC/C,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;IACzB,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;IACnC,6CAA2B,CAAA;IAC3B,mDAAiC,CAAA;IACjC,6CAA2B,CAAA;IAC3B,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAE3C,yDAAuC,CAAA;IACvC,iDAA+B,CAAA;IAC/B,2CAAyB,CAAA;IAEzB,2CAAyB,CAAA;IACzB,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;IAC7B,uDAAqC,CAAA;IACrC,iDAA+B,CAAA;IAC/B,qEAAmD,CAAA;IACnD,2CAAyB,CAAA;IACzB,+CAA6B,CAAA;IAC7B,2CAAyB,CAAA;IAEzB,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,eAAe;IACf,YAAY;IAEZ,6CAA2B,CAAA;IAC3B,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,6CAA2B,CAAA;IAC3B,2EAAyD,CAAA;IAEzD,mDAAiC,CAAA;IACjC,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;IACnC,yCAAuB,CAAA;AACzB,CAAC,EA5DW,cAAc,8BAAd,cAAc,QA4DzB;AAEY,QAAA,YAAY,GAAoD;IAC3E,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;CAClB,CAAA"} \ No newline at end of file diff --git a/package.json b/package.json index 8dec6f5..2b2e8e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.101.0", + "version": "0.102.0", "description": "", "main": "dist/index.js", "scripts": { diff --git a/src/situacoes/index.ts b/src/situacoes/index.ts new file mode 100644 index 0000000..e60fa40 --- /dev/null +++ b/src/situacoes/index.ts @@ -0,0 +1 @@ +export * from "./situacoes" diff --git a/src/situacoes/situacoes.ts b/src/situacoes/situacoes.ts new file mode 100644 index 0000000..f56130b --- /dev/null +++ b/src/situacoes/situacoes.ts @@ -0,0 +1,68 @@ +export enum tiposSituacoes { + vencida = "100_vencida", + expirado = "200_expirado", + alerta = "300_alerta", + + protocoladafora = "350_protocoladafora", + protocolada = "400_protocolada", + protocoladaApenas = "430_protocolada", + protocolada_alteracao = "450_protocolada", + + prazo = "500_prazo", + emitida = "515_emitida", + valida = "518_valida", + novo = "520_novo", + recebido = "521_recebido", + em_andamento = "530_em_andamento", + + aguardando = "530_aguardando", + aguardandoresposta = "540_aguardandoresposta", + suspensaotemporaria = "540_suspensaotemporaria", + cancelada = "550_cancelada", + execucao = "560_execucao", + pendente = "570_pendente", + executadafora = "600_executadafora", + executada = "700_executada", + naoexecutada = "701_naoexecutada", + concluida = "730_concluida", + respondido_negado = "740_respondido_negado", + respondido_aceito = "741_respondido_aceito", + + atendidoparcial = "742_atendidoparcial", + naoatendido = "743_naoatendido", + atendido = "744_atendido", + + renovada = "760_renovada", + finalizada = "800_finalizada", + emitirnota = "101_emitirnota", + faturaatrasada = "301_faturaatrasada", + pagarfatura = "302_pagarfatura", + aguardandoconfirmacao = "531_aguardandoconfirmacao", + agendado = "701_agendado", + faturapaga = "801_faturapaga", + excluida = "999_excluida", + + // situacoes outorgas + // Requerido + // Vigente + // Em renovação + // Arquivado + + requerida = "401_requerida", + vigente = "516_vigente", + emrenovacao = "402_emrenovacao", + arquivada = "801_arquivada", + aguardando_sincronizacao = "999_aguardando_sincronizacao", + + nao_conforme = "710_nao_conforme", + conforme = "720_conforme", + nao_aplicavel = "730_nao_aplicavel", + parcial = "715_parcial", +} + +export const corSituacoes: { [K in keyof typeof tiposSituacoes]?: string } = { + pendente: "#CCC353", + nao_conforme: "#dc3545", + conforme: "#28a745", + alerta: "#FFDE59", +} From 8674c1b8da3f9d8f7dfbf547fd6b7475a16bd437 Mon Sep 17 00:00:00 2001 From: marcio Date: Mon, 10 Nov 2025 15:59:57 -0300 Subject: [PATCH 16/36] build --- dist/index.d.ts | 1 + dist/index.js | 1 + dist/index.js.map | 2 +- package.json | 2 +- src/index.ts | 1 + 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index a769ea5..e21cfcc 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -9,3 +9,4 @@ export * from "./variaveisComuns"; export * from "./tipagemRotas"; export * from "./extensoes"; export * from "./logger"; +export * from "./situacoes"; diff --git a/dist/index.js b/dist/index.js index 423a81d..b1d4242 100644 --- a/dist/index.js +++ b/dist/index.js @@ -25,4 +25,5 @@ __exportStar(require("./variaveisComuns"), exports); __exportStar(require("./tipagemRotas"), exports); __exportStar(require("./extensoes"), exports); __exportStar(require("./logger"), exports); +__exportStar(require("./situacoes"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index a1b2649..55707f2 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,6CAA0B;AAC1B,8CAA2B;AAC3B,gDAA6B;AAC7B,oDAAiC;AACjC,yCAAsB;AACtB,+CAA4B;AAC5B,oDAAiC;AACjC,iDAA8B;AAC9B,8CAA2B;AAC3B,2CAAwB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,6CAA0B;AAC1B,8CAA2B;AAC3B,gDAA6B;AAC7B,oDAAiC;AACjC,yCAAsB;AACtB,+CAA4B;AAC5B,oDAAiC;AACjC,iDAA8B;AAC9B,8CAA2B;AAC3B,2CAAwB;AACxB,8CAA2B"} \ No newline at end of file diff --git a/package.json b/package.json index 2b2e8e4..58d50b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.102.0", + "version": "0.103.0", "description": "", "main": "dist/index.js", "scripts": { diff --git a/src/index.ts b/src/index.ts index 743bb1d..0741f52 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,3 +9,4 @@ export * from "./variaveisComuns" export * from "./tipagemRotas" export * from "./extensoes" export * from "./logger" +export * from "./situacoes" From 24407479cf8c9029b1c14ba72e8cdc3d5a774cb4 Mon Sep 17 00:00:00 2001 From: marcio Date: Mon, 10 Nov 2025 16:04:29 -0300 Subject: [PATCH 17/36] build --- dist-back/aleatorio.js | 29 ++ dist-back/cacheMemoria.js | 53 +++ dist-back/constantes.js | 53 +++ dist-back/consulta.js | 69 ++++ dist-back/dayjs.js | 57 +++ dist-back/ecosistema/index.js | 22 ++ dist-back/ecosistema/urls.js | 28 ++ dist-back/extensoes.js | 186 ++++++++++ dist-back/graficosPilao.js | 37 ++ dist-back/index.js | 62 ++++ dist-back/instalarAmbiente.js | 63 ++++ dist-back/local/index.js | 46 +++ dist-back/logger.js | 106 ++++++ dist-back/postgres.js | 47 +++ dist-back/situacoes/index.js | 22 ++ dist-back/situacoes/situacoes.js | 84 +++++ dist-back/teste.js | 6 + dist-back/testes-de-variaveis/index.js | 24 ++ dist-back/testes-de-variaveis/umaFuncao.js | 28 ++ dist-back/testes-de-variaveis/umaVariavel.js | 28 ++ dist-back/testes/TipagemRotas.test.js | 22 ++ dist-back/texto_busca.js | 30 ++ dist-back/tipagemRotas.js | 118 ++++++ dist-back/unidades_medida.js | 82 +++++ dist-back/uuid.js | 51 +++ dist-back/variaveisComuns.js | 33 ++ dist-front/index.d.ts | 366 +++++++++++++++++++ dist-front/index.mjs | 1 + package.json | 8 +- pacote.tgz | Bin 24987 -> 37942 bytes src/index.ts | 8 +- 31 files changed, 1759 insertions(+), 10 deletions(-) create mode 100644 dist-back/aleatorio.js create mode 100644 dist-back/cacheMemoria.js create mode 100644 dist-back/constantes.js create mode 100644 dist-back/consulta.js create mode 100644 dist-back/dayjs.js create mode 100644 dist-back/ecosistema/index.js create mode 100644 dist-back/ecosistema/urls.js create mode 100644 dist-back/extensoes.js create mode 100644 dist-back/graficosPilao.js create mode 100644 dist-back/index.js create mode 100644 dist-back/instalarAmbiente.js create mode 100644 dist-back/local/index.js create mode 100644 dist-back/logger.js create mode 100644 dist-back/postgres.js create mode 100644 dist-back/situacoes/index.js create mode 100644 dist-back/situacoes/situacoes.js create mode 100644 dist-back/teste.js create mode 100644 dist-back/testes-de-variaveis/index.js create mode 100644 dist-back/testes-de-variaveis/umaFuncao.js create mode 100644 dist-back/testes-de-variaveis/umaVariavel.js create mode 100644 dist-back/testes/TipagemRotas.test.js create mode 100644 dist-back/texto_busca.js create mode 100644 dist-back/tipagemRotas.js create mode 100644 dist-back/unidades_medida.js create mode 100644 dist-back/uuid.js create mode 100644 dist-back/variaveisComuns.js create mode 100644 dist-front/index.d.ts create mode 100644 dist-front/index.mjs diff --git a/dist-back/aleatorio.js b/dist-back/aleatorio.js new file mode 100644 index 0000000..1566283 --- /dev/null +++ b/dist-back/aleatorio.js @@ -0,0 +1,29 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var aleatorio_exports = {}; +__export(aleatorio_exports, { + aleatorio: () => aleatorio +}); +module.exports = __toCommonJS(aleatorio_exports); +const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); +const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + aleatorio +}); diff --git a/dist-back/cacheMemoria.js b/dist-back/cacheMemoria.js new file mode 100644 index 0000000..7c004f4 --- /dev/null +++ b/dist-back/cacheMemoria.js @@ -0,0 +1,53 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var cacheMemoria_exports = {}; +__export(cacheMemoria_exports, { + cacheM: () => cacheM, + cacheMFixo: () => cacheMFixo, + cacheMemoria: () => cacheMemoria, + verCacheM: () => verCacheM +}); +module.exports = __toCommonJS(cacheMemoria_exports); +const _cache = {}; +globalThis.cacheMemoria_cache = _cache; +const cacheM = (chave, valor, validadeSeg) => { + const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); + const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; + if (valor !== void 0) { + _cache[txChave] = { + valor, + validade + }; + } + const busca = _cache[txChave]; + if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { + return void 0; + } + return busca?.valor; +}; +const verCacheM = () => _cache; +const cacheMemoria = cacheM; +const cacheMFixo = (chave) => (valor) => cacheM(chave, valor); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + cacheM, + cacheMFixo, + cacheMemoria, + verCacheM +}); diff --git a/dist-back/constantes.js b/dist-back/constantes.js new file mode 100644 index 0000000..4671769 --- /dev/null +++ b/dist-back/constantes.js @@ -0,0 +1,53 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var constantes_exports = {}; +__export(constantes_exports, { + camposComuns: () => camposComuns, + tipoUsuarioResiduos: () => tipoUsuarioResiduos, + tx: () => tx, + uuid_null: () => uuid_null +}); +module.exports = __toCommonJS(constantes_exports); +const uuid_null = "00000000-0000-0000-0000-000000000000"; +var camposComuns = /* @__PURE__ */ ((camposComuns2) => { + camposComuns2["codigo"] = "codigo"; + camposComuns2["excluido"] = "excluido"; + camposComuns2["data_hora_criacao"] = "data_hora_criacao"; + camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; + camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; + camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; + camposComuns2["versao"] = "versao"; + return camposComuns2; +})(camposComuns || {}); +var tx = /* @__PURE__ */ ((tx2) => { + tx2["token"] = "token"; + return tx2; +})(tx || {}); +var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { + tipoUsuarioResiduos2["Usuario"] = "usuario"; + tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; + return tipoUsuarioResiduos2; +})(tipoUsuarioResiduos || {}); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + camposComuns, + tipoUsuarioResiduos, + tx, + uuid_null +}); diff --git a/dist-back/consulta.js b/dist-back/consulta.js new file mode 100644 index 0000000..7d923ff --- /dev/null +++ b/dist-back/consulta.js @@ -0,0 +1,69 @@ +"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 consulta_exports = {}; +__export(consulta_exports, { + operadores: () => operadores, + zFiltro: () => zFiltro, + zOperadores: () => zOperadores +}); +module.exports = __toCommonJS(consulta_exports); +var import_zod = __toESM(require("zod"), 1); +var operadores = /* @__PURE__ */ ((operadores2) => { + operadores2["="] = "="; + operadores2["!="] = "!="; + operadores2[">"] = ">"; + operadores2[">="] = ">="; + operadores2["<"] = "<"; + operadores2["<="] = "<="; + operadores2["like"] = "like"; + operadores2["in"] = "in"; + return operadores2; +})(operadores || {}); +const zOperadores = import_zod.default.enum([ + "=", + "!=", + ">", + ">=", + "<", + "<=", + "like", + "in" +]); +const zFiltro = import_zod.default.object({ + coluna: import_zod.default.string(), + valor: import_zod.default.any(), + operador: zOperadores, + ou: import_zod.default.boolean().optional() +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + operadores, + zFiltro, + zOperadores +}); diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js new file mode 100644 index 0000000..5149cd1 --- /dev/null +++ b/dist-back/dayjs.js @@ -0,0 +1,57 @@ +"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 dayjs_exports = {}; +__export(dayjs_exports, { + dayjsbr: () => dayjsbr +}); +module.exports = __toCommonJS(dayjs_exports); +var import_dayjs = __toESM(require("dayjs"), 1); +var import_duration = __toESM(require("dayjs/plugin/duration.js"), 1); +var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js"), 1); +var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore.js"), 1); +var import_minMax = __toESM(require("dayjs/plugin/minMax.js"), 1); +var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1); +var import_timezone = __toESM(require("dayjs/plugin/timezone.js"), 1); +var import_utc = __toESM(require("dayjs/plugin/utc.js"), 1); +var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear.js"), 1); +var import_pt_br = require("dayjs/locale/pt-br.js"); +import_dayjs.default.locale("pt-br"); +import_dayjs.default.extend(import_utc.default); +import_dayjs.default.extend(import_timezone.default); +import_dayjs.default.extend(import_weekOfYear.default); +import_dayjs.default.extend(import_isSameOrBefore.default); +import_dayjs.default.extend(import_isSameOrAfter.default); +import_dayjs.default.extend(import_minMax.default); +import_dayjs.default.extend(import_relativeTime.default); +import_dayjs.default.extend(import_duration.default); +const dayjsbr = import_dayjs.default; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + dayjsbr +}); diff --git a/dist-back/ecosistema/index.js b/dist-back/ecosistema/index.js new file mode 100644 index 0000000..fc9ce97 --- /dev/null +++ b/dist-back/ecosistema/index.js @@ -0,0 +1,22 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var ecosistema_exports = {}; +module.exports = __toCommonJS(ecosistema_exports); +__reExport(ecosistema_exports, require("./urls"), module.exports); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + ...require("./urls") +}); diff --git a/dist-back/ecosistema/urls.js b/dist-back/ecosistema/urls.js new file mode 100644 index 0000000..e63a7bd --- /dev/null +++ b/dist-back/ecosistema/urls.js @@ -0,0 +1,28 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var urls_exports = {}; +__export(urls_exports, { + cdn_carro_de_boi: () => cdn_carro_de_boi +}); +module.exports = __toCommonJS(urls_exports); +const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + cdn_carro_de_boi +}); diff --git a/dist-back/extensoes.js b/dist-back/extensoes.js new file mode 100644 index 0000000..3f49f81 --- /dev/null +++ b/dist-back/extensoes.js @@ -0,0 +1,186 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var extensoes_exports = {}; +__export(extensoes_exports, { + extensoes: () => extensoes, + tipoArquivo: () => tipoArquivo +}); +module.exports = __toCommonJS(extensoes_exports); +const extensoes = [ + { + 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" + } +]; +const tipoArquivo = (nomeArquivo) => { + const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); + const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); + return extensao?.tipo || "outros"; +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + extensoes, + tipoArquivo +}); diff --git a/dist-back/graficosPilao.js b/dist-back/graficosPilao.js new file mode 100644 index 0000000..12ac7cb --- /dev/null +++ b/dist-back/graficosPilao.js @@ -0,0 +1,37 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var graficosPilao_exports = {}; +__export(graficosPilao_exports, { + graficos_pilao: () => graficos_pilao +}); +module.exports = __toCommonJS(graficosPilao_exports); +const graficos_pilao = { + Condicionantes: { + grafico: "condicionantes-criadas", + titulo: "Condicionantes Criadas" + }, + Licen\u00E7as: { + grafico: "licencas-criadas", + titulo: "Licen\xE7as Criadas" + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + graficos_pilao +}); diff --git a/dist-back/index.js b/dist-back/index.js new file mode 100644 index 0000000..0edcbbf --- /dev/null +++ b/dist-back/index.js @@ -0,0 +1,62 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var index_exports = {}; +module.exports = __toCommonJS(index_exports); +__reExport(index_exports, require("./aleatorio"), module.exports); +__reExport(index_exports, require("./cacheMemoria"), module.exports); +__reExport(index_exports, require("./constantes"), module.exports); +__reExport(index_exports, require("./consulta"), module.exports); +__reExport(index_exports, require("./dayjs"), module.exports); +__reExport(index_exports, require("./ecosistema"), module.exports); +__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("./situacoes"), module.exports); +__reExport(index_exports, require("./testes-de-variaveis"), module.exports); +__reExport(index_exports, require("./texto_busca"), module.exports); +__reExport(index_exports, require("./tipagemRotas"), module.exports); +__reExport(index_exports, require("./tipagemRotas"), module.exports); +__reExport(index_exports, require("./unidades_medida"), module.exports); +__reExport(index_exports, require("./uuid"), module.exports); +__reExport(index_exports, require("./variaveisComuns"), module.exports); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + ...require("./aleatorio"), + ...require("./cacheMemoria"), + ...require("./constantes"), + ...require("./consulta"), + ...require("./dayjs"), + ...require("./ecosistema"), + ...require("./extensoes"), + ...require("./extensoes"), + ...require("./graficosPilao"), + ...require("./local"), + ...require("./logger"), + ...require("./logger"), + ...require("./postgres"), + ...require("./situacoes"), + ...require("./testes-de-variaveis"), + ...require("./texto_busca"), + ...require("./tipagemRotas"), + ...require("./tipagemRotas"), + ...require("./unidades_medida"), + ...require("./uuid"), + ...require("./variaveisComuns") +}); diff --git a/dist-back/instalarAmbiente.js b/dist-back/instalarAmbiente.js new file mode 100644 index 0000000..7772b1d --- /dev/null +++ b/dist-back/instalarAmbiente.js @@ -0,0 +1,63 @@ +"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 __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 import_node_fs = __toESM(require("node:fs"), 1); +var import_node_path = __toESM(require("node:path"), 1); +const mesclar = (entrada, novo) => { + const saida = { ...entrada || {} }; + for (const [k, v] of Object.entries(novo)) { + if (v && typeof v === "object" && !Array.isArray(v)) { + saida[k] = mesclar(saida[k], v); + } else { + saida[k] = v; + } + } + return saida; +}; +const abrirJson = (caminho) => { + try { + return JSON.parse(import_node_fs.default.readFileSync(caminho, "utf-8")); + } catch { + return {}; + } +}; +const settings_json = { + "editor.defaultFormatter": "biomejs.biome", + "[javascript]": { "editor.defaultFormatter": "biomejs.biome" }, + "[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, + "[typescript]": { "editor.defaultFormatter": "biomejs.biome" }, + "[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, + "[json]": { "editor.defaultFormatter": "biomejs.biome" }, + "[jsonc]": { "editor.defaultFormatter": "biomejs.biome" }, + "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + "editor.codeActionsOnSave": { + "source.organizeImports.biome": "always", + "source.fixAll.biome": "always" + } +}; +const caminhoSeting = import_node_path.default.join(process.cwd(), ".vscode/settings.json"); +import_node_fs.default.mkdirSync(import_node_path.default.dirname(caminhoSeting), { recursive: true }); +const atual = abrirJson(caminhoSeting); +const final = mesclar(atual, settings_json); +import_node_fs.default.writeFileSync(caminhoSeting, JSON.stringify(final, null, 2), "utf8"); +console.log(`\u2705 Configura\xE7\xF5es salvas em ${caminhoSeting}`); diff --git a/dist-back/local/index.js b/dist-back/local/index.js new file mode 100644 index 0000000..4b0c95a --- /dev/null +++ b/dist-back/local/index.js @@ -0,0 +1,46 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var local_exports = {}; +__export(local_exports, { + localValor: () => localValor +}); +module.exports = __toCommonJS(local_exports); +const localValor = (chave_, valor) => { + const localStorage = globalThis.localStorage; + if (typeof localStorage == "undefined") return null; + const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); + try { + if (valor !== void 0) { + localStorage.setItem(chave, JSON.stringify(valor)); + } + const v2 = localStorage.getItem(chave); + if (v2 === null) return null; + try { + return JSON.parse(v2); + } catch { + return v2; + } + } catch { + return null; + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + localValor +}); diff --git a/dist-back/logger.js b/dist-back/logger.js new file mode 100644 index 0000000..0283d3f --- /dev/null +++ b/dist-back/logger.js @@ -0,0 +1,106 @@ +"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"), 1); +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/postgres.js b/dist-back/postgres.js new file mode 100644 index 0000000..62a7d6b --- /dev/null +++ b/dist-back/postgres.js @@ -0,0 +1,47 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var postgres_exports = {}; +__export(postgres_exports, { + objetoPg: () => objetoPg, + paraObjetoRegistroPg: () => paraObjetoRegistroPg, + pgObjeto: () => pgObjeto +}); +module.exports = __toCommonJS(postgres_exports); +const paraObjetoRegistroPg = (entrada) => { + try { + return Object.fromEntries( + Object.entries(entrada).map(([k, v]) => [ + k, + v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) + ]) + ); + } catch (error) { + throw new Error( + `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` + ); + } +}; +const pgObjeto = paraObjetoRegistroPg; +const objetoPg = paraObjetoRegistroPg; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + objetoPg, + paraObjetoRegistroPg, + pgObjeto +}); diff --git a/dist-back/situacoes/index.js b/dist-back/situacoes/index.js new file mode 100644 index 0000000..b7ebd74 --- /dev/null +++ b/dist-back/situacoes/index.js @@ -0,0 +1,22 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var situacoes_exports = {}; +module.exports = __toCommonJS(situacoes_exports); +__reExport(situacoes_exports, require("./situacoes"), module.exports); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + ...require("./situacoes") +}); diff --git a/dist-back/situacoes/situacoes.js b/dist-back/situacoes/situacoes.js new file mode 100644 index 0000000..61b5e5f --- /dev/null +++ b/dist-back/situacoes/situacoes.js @@ -0,0 +1,84 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var situacoes_exports = {}; +__export(situacoes_exports, { + corSituacoes: () => corSituacoes, + tiposSituacoes: () => tiposSituacoes +}); +module.exports = __toCommonJS(situacoes_exports); +var tiposSituacoes = /* @__PURE__ */ ((tiposSituacoes2) => { + tiposSituacoes2["vencida"] = "100_vencida"; + tiposSituacoes2["expirado"] = "200_expirado"; + tiposSituacoes2["alerta"] = "300_alerta"; + tiposSituacoes2["protocoladafora"] = "350_protocoladafora"; + tiposSituacoes2["protocolada"] = "400_protocolada"; + tiposSituacoes2["protocoladaApenas"] = "430_protocolada"; + tiposSituacoes2["protocolada_alteracao"] = "450_protocolada"; + tiposSituacoes2["prazo"] = "500_prazo"; + tiposSituacoes2["emitida"] = "515_emitida"; + tiposSituacoes2["valida"] = "518_valida"; + tiposSituacoes2["novo"] = "520_novo"; + tiposSituacoes2["recebido"] = "521_recebido"; + tiposSituacoes2["em_andamento"] = "530_em_andamento"; + tiposSituacoes2["aguardando"] = "530_aguardando"; + tiposSituacoes2["aguardandoresposta"] = "540_aguardandoresposta"; + tiposSituacoes2["suspensaotemporaria"] = "540_suspensaotemporaria"; + tiposSituacoes2["cancelada"] = "550_cancelada"; + tiposSituacoes2["execucao"] = "560_execucao"; + tiposSituacoes2["pendente"] = "570_pendente"; + tiposSituacoes2["executadafora"] = "600_executadafora"; + tiposSituacoes2["executada"] = "700_executada"; + tiposSituacoes2["naoexecutada"] = "701_naoexecutada"; + tiposSituacoes2["concluida"] = "730_concluida"; + tiposSituacoes2["respondido_negado"] = "740_respondido_negado"; + tiposSituacoes2["respondido_aceito"] = "741_respondido_aceito"; + tiposSituacoes2["atendidoparcial"] = "742_atendidoparcial"; + tiposSituacoes2["naoatendido"] = "743_naoatendido"; + tiposSituacoes2["atendido"] = "744_atendido"; + tiposSituacoes2["renovada"] = "760_renovada"; + tiposSituacoes2["finalizada"] = "800_finalizada"; + tiposSituacoes2["emitirnota"] = "101_emitirnota"; + tiposSituacoes2["faturaatrasada"] = "301_faturaatrasada"; + tiposSituacoes2["pagarfatura"] = "302_pagarfatura"; + tiposSituacoes2["aguardandoconfirmacao"] = "531_aguardandoconfirmacao"; + tiposSituacoes2["agendado"] = "701_agendado"; + tiposSituacoes2["faturapaga"] = "801_faturapaga"; + tiposSituacoes2["excluida"] = "999_excluida"; + tiposSituacoes2["requerida"] = "401_requerida"; + tiposSituacoes2["vigente"] = "516_vigente"; + tiposSituacoes2["emrenovacao"] = "402_emrenovacao"; + tiposSituacoes2["arquivada"] = "801_arquivada"; + tiposSituacoes2["aguardando_sincronizacao"] = "999_aguardando_sincronizacao"; + tiposSituacoes2["nao_conforme"] = "710_nao_conforme"; + tiposSituacoes2["conforme"] = "720_conforme"; + tiposSituacoes2["nao_aplicavel"] = "730_nao_aplicavel"; + tiposSituacoes2["parcial"] = "715_parcial"; + return tiposSituacoes2; +})(tiposSituacoes || {}); +const corSituacoes = { + pendente: "#CCC353", + nao_conforme: "#dc3545", + conforme: "#28a745", + alerta: "#FFDE59" +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + corSituacoes, + tiposSituacoes +}); diff --git a/dist-back/teste.js b/dist-back/teste.js new file mode 100644 index 0000000..c2d0e9c --- /dev/null +++ b/dist-back/teste.js @@ -0,0 +1,6 @@ +"use strict"; +var import_cacheMemoria = require("./cacheMemoria"); +var import_texto_busca = require("./texto_busca"); +console.log("Vari\xE1veis funcionando", import_texto_busca.texto_busca); +(0, import_cacheMemoria.cacheM)(1, { Jaca: Promise.resolve() }); +console.log("cache:", (0, import_cacheMemoria.cacheM)(1)); diff --git a/dist-back/testes-de-variaveis/index.js b/dist-back/testes-de-variaveis/index.js new file mode 100644 index 0000000..6263622 --- /dev/null +++ b/dist-back/testes-de-variaveis/index.js @@ -0,0 +1,24 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var testes_de_variaveis_exports = {}; +module.exports = __toCommonJS(testes_de_variaveis_exports); +__reExport(testes_de_variaveis_exports, require("./umaFuncao"), module.exports); +__reExport(testes_de_variaveis_exports, require("./umaVariavel"), module.exports); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + ...require("./umaFuncao"), + ...require("./umaVariavel") +}); diff --git a/dist-back/testes-de-variaveis/umaFuncao.js b/dist-back/testes-de-variaveis/umaFuncao.js new file mode 100644 index 0000000..c1d2b86 --- /dev/null +++ b/dist-back/testes-de-variaveis/umaFuncao.js @@ -0,0 +1,28 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var umaFuncao_exports = {}; +__export(umaFuncao_exports, { + umaFuncao: () => umaFuncao +}); +module.exports = __toCommonJS(umaFuncao_exports); +const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + umaFuncao +}); diff --git a/dist-back/testes-de-variaveis/umaVariavel.js b/dist-back/testes-de-variaveis/umaVariavel.js new file mode 100644 index 0000000..6560bb5 --- /dev/null +++ b/dist-back/testes-de-variaveis/umaVariavel.js @@ -0,0 +1,28 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var umaVariavel_exports = {}; +__export(umaVariavel_exports, { + umaVariavel: () => umaVariavel +}); +module.exports = __toCommonJS(umaVariavel_exports); +const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + umaVariavel +}); diff --git a/dist-back/testes/TipagemRotas.test.js b/dist-back/testes/TipagemRotas.test.js new file mode 100644 index 0000000..49b4bbb --- /dev/null +++ b/dist-back/testes/TipagemRotas.test.js @@ -0,0 +1,22 @@ +"use strict"; +var import_vitest = require("vitest"); +var import_tipagemRotas = require("../tipagemRotas"); +(0, import_vitest.describe)("TipagemRotas", () => { + (0, import_vitest.it)("deve montar _partesCaminho a partir de string ou array, normalizando barras", () => { + const r1 = new import_tipagemRotas.TipagemRotas({ caminho: "aplicacao/func" }); + (0, import_vitest.expect)(r1.caminho).toBe("/aplicacao/func"); + const r2 = new import_tipagemRotas.TipagemRotas({ + caminho: ["aplicacao", "func"] + }); + (0, import_vitest.expect)(r2.caminho).toBe("/aplicacao/func"); + const r3 = new import_tipagemRotas.TipagemRotas({ caminho: "/a//b///c/" }); + (0, import_vitest.expect)(r3.caminho).toBe("/a/b/c"); + }); + (0, import_vitest.it)("Valores de entrada com mesmo valor dos valores de sa\xEDda", () => { + const r1 = new import_tipagemRotas.TipagemRotas({ caminho: "aplicacao/func" }); + const objetoEntrada = { idade: 21, nome: "Jo\xE3o" }; + const rota = r1.endereco(objetoEntrada); + const parametros = r1.parametros(rota); + (0, import_vitest.expect)(parametros.nome).toBe(objetoEntrada.nome); + }); +}); diff --git a/dist-back/texto_busca.js b/dist-back/texto_busca.js new file mode 100644 index 0000000..3d0ec36 --- /dev/null +++ b/dist-back/texto_busca.js @@ -0,0 +1,30 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var texto_busca_exports = {}; +__export(texto_busca_exports, { + texto_busca: () => texto_busca +}); +module.exports = __toCommonJS(texto_busca_exports); +const texto_busca = (...texto) => texto.map( + (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() +).join(" "); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + texto_busca +}); diff --git a/dist-back/tipagemRotas.js b/dist-back/tipagemRotas.js new file mode 100644 index 0000000..05c4f5b --- /dev/null +++ b/dist-back/tipagemRotas.js @@ -0,0 +1,118 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var tipagemRotas_exports = {}; +__export(tipagemRotas_exports, { + TipagemRotas: () => TipagemRotas +}); +module.exports = __toCommonJS(tipagemRotas_exports); +class TipagemRotas { + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ + caminho, + acaoIr, + rotulo + }) { + this._partesCaminho = []; + this._acaoIr = acaoIr; + this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); + this.rotulo = rotulo; + } + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho() { + const ret = `/${this._partesCaminho.join("/")}`; + return ret; + } + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial) { + this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); + } + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query, usarComoHash) { + const url = new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + url.pathname = this.caminho; + url.search = ""; + const queryKeys = Object.entries(query); + for (const [key, value] of queryKeys) { + url.searchParams.set(String(key), JSON.stringify(value)); + } + url.hash = ""; + if (usarComoHash) { + url.hash = `#${url.search}`; + url.search = ""; + } + return url.href; + } + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query) { + if (this._acaoIr) { + this._acaoIr(this.endereco({ ...query })); + } else { + if (typeof window != "undefined") { + window.location.href = this.endereco({ ...query }); + } + } + } + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada) { + const url = urlEntrada ? new URL(urlEntrada) : new URL( + typeof window !== "undefined" ? window.location.href : "http://localhost" + ); + const query = url.searchParams; + let queryObj = Object.fromEntries(query.entries()); + const hash = url.hash; + if (hash) { + const hashObj = Object.fromEntries( + new URLSearchParams(hash.slice(1)).entries() + ); + queryObj = { ...queryObj, ...hashObj }; + } + for (const chave in queryObj) { + try { + queryObj[chave] = JSON.parse(queryObj[chave]); + } catch { + console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); + } + } + return queryObj; + } +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + TipagemRotas +}); diff --git a/dist-back/unidades_medida.js b/dist-back/unidades_medida.js new file mode 100644 index 0000000..1d9b95a --- /dev/null +++ b/dist-back/unidades_medida.js @@ -0,0 +1,82 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var unidades_medida_exports = {}; +__export(unidades_medida_exports, { + siglas_unidades_medida: () => siglas_unidades_medida, + unidades_medida: () => unidades_medida +}); +module.exports = __toCommonJS(unidades_medida_exports); +var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { + siglas_unidades_medida2["UN"] = "UN"; + siglas_unidades_medida2["KG"] = "KG"; + siglas_unidades_medida2["TON"] = "TON"; + siglas_unidades_medida2["g"] = "g"; + siglas_unidades_medida2["M\xB3"] = "M\xB3"; + siglas_unidades_medida2["Lt"] = "Lt"; + return siglas_unidades_medida2; +})(siglas_unidades_medida || {}); +const unidades_medida = [ + { + sigla_unidade: "KG", + nome: "Quilograma", + sigla_normalizada: "KG", + normalizar: (valor) => valor, + tipo: "massa" + }, + { + sigla_unidade: "g", + nome: "Grama", + sigla_normalizada: "KG", + normalizar: (valor) => valor / 1e3, + tipo: "massa" + }, + { + sigla_unidade: "TON", + nome: "Tonelada", + sigla_normalizada: "KG", + normalizar: (valor) => valor * 1e3, + tipo: "massa" + }, + { + sigla_unidade: "Lt", + nome: "Litro", + sigla_normalizada: "Lt", + normalizar: (valor) => valor, + tipo: "volume" + }, + { + sigla_unidade: "M\xB3", + nome: "Metro C\xFAbico", + sigla_normalizada: "Lt", + normalizar: (valor) => valor * 1e3, + tipo: "volume" + }, + { + sigla_unidade: "UN", + nome: "Unidade", + sigla_normalizada: "UN", + normalizar: (valor) => valor, + tipo: "unidade" + } +]; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + siglas_unidades_medida, + unidades_medida +}); diff --git a/dist-back/uuid.js b/dist-back/uuid.js new file mode 100644 index 0000000..6d8dfc0 --- /dev/null +++ b/dist-back/uuid.js @@ -0,0 +1,51 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var uuid_exports = {}; +__export(uuid_exports, { + erUuid: () => erUuid, + uuid: () => uuid, + uuidV3: () => uuidV3, + uuidV4: () => uuidV4, + validarUuid: () => validarUuid +}); +module.exports = __toCommonJS(uuid_exports); +var import_uuid = require("uuid"); +const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; +const validarUuid = (uuid2) => { + const retorno = erUuid.test(String(uuid2 || "")); + return retorno; +}; +const uuidV3 = (chave, grupo) => { + return (0, import_uuid.v3)( + // Converte a chave para string (de forma segura) + typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), + // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL + grupo ? uuidV3(grupo) : import_uuid.NIL + ); +}; +const uuidV4 = import_uuid.v4; +const uuid = uuidV4; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + erUuid, + uuid, + uuidV3, + uuidV4, + validarUuid +}); diff --git a/dist-back/variaveisComuns.js b/dist-back/variaveisComuns.js new file mode 100644 index 0000000..8f40e1d --- /dev/null +++ b/dist-back/variaveisComuns.js @@ -0,0 +1,33 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var variaveisComuns_exports = {}; +__export(variaveisComuns_exports, { + esperar: () => esperar, + nomeVariavel: () => nomeVariavel +}); +module.exports = __toCommonJS(variaveisComuns_exports); +const esperar = (ms) => new Promise( + (resolve) => setTimeout(() => resolve(true), ms) +); +const nomeVariavel = (v) => Object.keys(v).join("/"); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + esperar, + nomeVariavel +}); diff --git a/dist-front/index.d.ts b/dist-front/index.d.ts new file mode 100644 index 0000000..daeea71 --- /dev/null +++ b/dist-front/index.d.ts @@ -0,0 +1,366 @@ +import z from 'zod'; +import dayjs from 'dayjs'; +export { ManipulateType } from 'dayjs'; +import { v4 } from 'uuid'; + +declare const aleatorio: (tamanho?: number) => string; + +/** gerar uma função de cache para uso em memoria */ +declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +declare const verCacheM: () => { + [k: string]: { + /** new Date().getTime() */ + validade?: number | undefined; + valor: any; + } | undefined; +}; +declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; +/** para uso fixo dentro de uma função, trava a chave */ +declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; + +declare const uuid_null = "00000000-0000-0000-0000-000000000000"; +/** Colunas Presentes n maioria das tabelas */ +declare enum camposComuns { + codigo = "codigo", + excluido = "excluido", + data_hora_criacao = "data_hora_criacao", + data_hora_atualizacao = "data_hora_atualizacao", + codigo_usuario_criacao = "codigo_usuario_criacao", + codigo_usuario_atualizacao = "codigo_usuario_atualizacao", + versao = "versao" +} +/** Palavras comumente usadas */ +declare enum tx { + token = "token" +} +declare enum tipoUsuarioResiduos { + Usuario = "usuario", + Fornecedor = "fornecedor" +} + +declare enum operadores { + "=" = "=", + "!=" = "!=", + ">" = ">", + ">=" = ">=", + "<" = "<", + "<=" = "<=", + like = "like", + in = "in" +} +type tipoFiltro = { + coluna: string; + valor: any; + operador: keyof typeof operadores | operadores; + ou?: boolean; +}; +type interfaceConsulta = { + offset?: number; + limit?: number; + filtros?: tipoFiltro[]; + ordem?: string; + ordemTipo?: "asc" | "desc"; + colunas?: string[]; + apenasConsulta?: boolean; + apenasContagem?: boolean; +}; +declare const zOperadores: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; +}>; +declare const zFiltro: z.ZodObject<{ + coluna: z.ZodString; + valor: z.ZodAny; + operador: z.ZodEnum<{ + "=": "="; + "!=": "!="; + ">": ">"; + ">=": ">="; + "<": "<"; + "<=": "<="; + like: "like"; + in: "in"; + }>; + ou: z.ZodOptional; +}, z.core.$strip>; + +declare const dayjsbr: typeof dayjs; + +declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; + +type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; +declare const extensoes: { + ext: string; + tipo: tiposArquivo; + mime: string; +}[]; +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; + +declare const graficos_pilao: { + [k: string]: { + grafico: string; + titulo: string; + }; +}; + +/** + * LocalStorage Tipado + * Lê ou grava um valor no localStorage, mantendo o tipo genérico . + */ +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 + * @returns + */ +declare const paraObjetoRegistroPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const pgObjeto: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; +declare const objetoPg: (entrada: { + [k: string]: any; +}) => { + [k: string]: string | boolean | null | undefined | number; +}; + +declare enum tiposSituacoes { + vencida = "100_vencida", + expirado = "200_expirado", + alerta = "300_alerta", + protocoladafora = "350_protocoladafora", + protocolada = "400_protocolada", + protocoladaApenas = "430_protocolada", + protocolada_alteracao = "450_protocolada", + prazo = "500_prazo", + emitida = "515_emitida", + valida = "518_valida", + novo = "520_novo", + recebido = "521_recebido", + em_andamento = "530_em_andamento", + aguardando = "530_aguardando", + aguardandoresposta = "540_aguardandoresposta", + suspensaotemporaria = "540_suspensaotemporaria", + cancelada = "550_cancelada", + execucao = "560_execucao", + pendente = "570_pendente", + executadafora = "600_executadafora", + executada = "700_executada", + naoexecutada = "701_naoexecutada", + concluida = "730_concluida", + respondido_negado = "740_respondido_negado", + respondido_aceito = "741_respondido_aceito", + atendidoparcial = "742_atendidoparcial", + naoatendido = "743_naoatendido", + atendido = "744_atendido", + renovada = "760_renovada", + finalizada = "800_finalizada", + emitirnota = "101_emitirnota", + faturaatrasada = "301_faturaatrasada", + pagarfatura = "302_pagarfatura", + aguardandoconfirmacao = "531_aguardandoconfirmacao", + agendado = "701_agendado", + faturapaga = "801_faturapaga", + excluida = "999_excluida", + requerida = "401_requerida", + vigente = "516_vigente", + emrenovacao = "402_emrenovacao", + arquivada = "801_arquivada", + aguardando_sincronizacao = "999_aguardando_sincronizacao", + nao_conforme = "710_nao_conforme", + conforme = "720_conforme", + nao_aplicavel = "730_nao_aplicavel", + parcial = "715_parcial" +} +declare const corSituacoes: { + [K in keyof typeof tiposSituacoes]?: string; +}; + +declare const umaFuncao: () => string; + +declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; + +/** gerar o texto de busca removendo caracteres especies e caixa alta */ +declare const texto_busca: (...texto: any[]) => string; + +/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys + * + * Definições: + * + * caminho = "/aplicacao/funcionalidade" + * + * endereco = "http://localhost:3000/aplicacao/funcionalidade" + * + * parametros = {nome:"José"} + */ +declare class TipagemRotas { + _partesCaminho: string[]; + _acaoIr?: (endereco: string) => undefined; + rotulo: string | undefined; + /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial + ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") + */ + constructor({ caminho, acaoIr, rotulo, }: { + caminho: (string | null | undefined)[] | string; + acaoIr?: undefined | ((endereco: string) => undefined); + /** Rotulo da página + * Inicio | Controle + */ + rotulo?: string; + }); + /** Retorna o caminho completo da rota + ** console.log(mCaminho.caminho) + ** "/caminho" + */ + get caminho(): string; + /** Define o caminho completo da rota + ** mCaminho.caminho = "/novoCaminho" + ** console.log(mCaminho.caminho) + ** "/novoCaminho" + ** */ + set caminho(caminhoParcial: string); + /** Retorna o caminho completo da rota com a query + ** console.log(mCaminho.resolve({q:"query"})) + ** "http://localhost:3000/caminho?q=query" + */ + endereco(query: T, usarComoHash?: boolean): string; + /** Vai para a url + ** mCaminho.ir({q:"query"}) + ** window.location.href = "http://localhost:3000/caminho?q=query" + */ + ir(query: T): void; + /** Retorna os parametros da url + ** console.log(mCaminho.parametros()) + ** {q:"query"} + */ + parametros(urlEntrada?: string): Partial; +} + +/** + * Essa variável se conecta a tabela_lidades + * + * onde sigla se conecta com sigla + * + * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha + * usar a normalizada + */ +declare enum siglas_unidades_medida { + UN = "UN", + KG = "KG", + TON = "TON", + g = "g", + "M³" = "M\u00B3", + Lt = "Lt" +} +declare const unidades_medida: { + sigla_unidade: keyof typeof siglas_unidades_medida; + nome: string; + sigla_normalizada: keyof typeof siglas_unidades_medida; + normalizar: (valor: number) => number; + tipo: "massa" | "volume" | "comprimento" | "unidade"; +}[]; + +/** + * Valida se uma string é um UUID válido (qualquer versão). + * + * @param valor - A string que será validada. + * @returns booleano indicando se é um UUID válido. + */ +declare const erUuid: RegExp; +declare const validarUuid: (uuid: string | number | undefined | null) => boolean; +/** + * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). + * + * - Usa o algoritmo MD5 (RFC 4122). + * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. + * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. + * + * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). + * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. + * @returns UUID v3 (determinístico) + */ +declare const uuidV3: (chave: any, grupo?: any) => string; +/** + * Gera um UUID v4 (aleatório, não determinístico). + * + * - Usado quando unicidade é necessária, mas não se exige que seja previsível. + */ +declare const uuidV4: typeof v4; +/** + * @deprecated Esta variável será descontinuada em versões futuras. + * Use a função `uuidV4()` diretamente. + */ +declare const uuid: typeof v4; + +declare const esperar: (ms: number) => Promise; +/** + * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto + * const nomex = {a: 1, b: 2} + * nomeVariavel({nomex}) // retorna "nomex" + * @param v + * @returns + */ +declare const nomeVariavel: (v: { + [key: string]: any; +}) => string; + +export { TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, corSituacoes, 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, tiposSituacoes, 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 new file mode 100644 index 0000000..aa167ae --- /dev/null +++ b/dist-front/index.mjs @@ -0,0 +1 @@ +var _="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),re=e=>`eli-${Array.from({length:e||8}).map(()=>_[(999*Math.random()|0)%_.length]).join("")}`;var g={};globalThis.cacheMemoria_cache=g;var v=(e,o,t)=>{let a=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),n=t&&new Date().getTime()+t*1e3;o!==void 0&&(g[a]={valor:o,validade:n});let i=g[a];if(!(i?.validade&&i.validadeg,ne=v,ie=e=>o=>v(e,o);var de="00000000-0000-0000-0000-000000000000",z=(d=>(d.codigo="codigo",d.excluido="excluido",d.data_hora_criacao="data_hora_criacao",d.data_hora_atualizacao="data_hora_atualizacao",d.codigo_usuario_criacao="codigo_usuario_criacao",d.codigo_usuario_atualizacao="codigo_usuario_atualizacao",d.versao="versao",d))(z||{}),N=(o=>(o.token="token",o))(N||{}),$=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))($||{});import c from"zod";var C=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(C||{}),M=c.enum(["=","!=",">",">=","<","<=","like","in"]),le=c.object({coluna:c.string(),valor:c.any(),operador:M,ou:c.boolean().optional()});import p from"dayjs";import P from"dayjs/plugin/duration.js";import q from"dayjs/plugin/isSameOrAfter.js";import I from"dayjs/plugin/isSameOrBefore.js";import U from"dayjs/plugin/minMax.js";import A from"dayjs/plugin/relativeTime.js";import E from"dayjs/plugin/timezone.js";import F from"dayjs/plugin/utc.js";import J from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";p.locale("pt-br");p.extend(F);p.extend(E);p.extend(J);p.extend(I);p.extend(q);p.extend(U);p.extend(A);p.extend(P);var we=p;var je="https://carro-de-boi-idz-one.b-cdn.net";var K=[{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"}],Ne=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return K.find(a=>a.ext===o)?.tipo||"outros"};var Ce={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Pe=(e,o)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let a=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(a,JSON.stringify(o));let n=t.getItem(a);if(n===null)return null;try{return JSON.parse(n)}catch{return n}}catch{return null}};import D from"cross-fetch";var Ie=e=>new Promise(o=>setTimeout(()=>o(!0),e)),u=e=>Object.keys(e).join("/");var G="https://log.idz.one",V="/loki/api/v1/push",R=async({objeto:e})=>{let o=await D(`${G}${V}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(t=>t);return o.ok?[e]:[e,`Erro ${o.status}: ${await o?.text?.()}`]},x="",Fe=e=>{x=e},Je=({app:e,eProducao:o,parametros:t})=>({inquilino:a,usuario:n,parametros:i})=>async(m,d,h)=>{let{__filename:s,detalhes:l,local:f,parametros:O}=h||{},w=`${o?"":"DEV-"}${e}`;x&&s&&(s=s.replace(x,"")),f&&(l=[`${u({local:f})}="${f}"`,...l||[]]),s&&(l=[`${u({__filename:s})}="${s}"`,...l||[]]);let L=`${Date.now()}000000`,j=l?.length?`${d} | ${l.map(T=>JSON.stringify(T)).join(" | ")}`:d,k={streams:[{stream:{app:w,inquilino:a,usuario:n,level:m,...t||{},...i||{},...O||{}},values:[[L,j]]}]};return await R({objeto:k})};var y=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}`)}},De=y,Ge=y;var B=(r=>(r.vencida="100_vencida",r.expirado="200_expirado",r.alerta="300_alerta",r.protocoladafora="350_protocoladafora",r.protocolada="400_protocolada",r.protocoladaApenas="430_protocolada",r.protocolada_alteracao="450_protocolada",r.prazo="500_prazo",r.emitida="515_emitida",r.valida="518_valida",r.novo="520_novo",r.recebido="521_recebido",r.em_andamento="530_em_andamento",r.aguardando="530_aguardando",r.aguardandoresposta="540_aguardandoresposta",r.suspensaotemporaria="540_suspensaotemporaria",r.cancelada="550_cancelada",r.execucao="560_execucao",r.pendente="570_pendente",r.executadafora="600_executadafora",r.executada="700_executada",r.naoexecutada="701_naoexecutada",r.concluida="730_concluida",r.respondido_negado="740_respondido_negado",r.respondido_aceito="741_respondido_aceito",r.atendidoparcial="742_atendidoparcial",r.naoatendido="743_naoatendido",r.atendido="744_atendido",r.renovada="760_renovada",r.finalizada="800_finalizada",r.emitirnota="101_emitirnota",r.faturaatrasada="301_faturaatrasada",r.pagarfatura="302_pagarfatura",r.aguardandoconfirmacao="531_aguardandoconfirmacao",r.agendado="701_agendado",r.faturapaga="801_faturapaga",r.excluida="999_excluida",r.requerida="401_requerida",r.vigente="516_vigente",r.emrenovacao="402_emrenovacao",r.arquivada="801_arquivada",r.aguardando_sincronizacao="999_aguardando_sincronizacao",r.nao_conforme="710_nao_conforme",r.conforme="720_conforme",r.nao_aplicavel="730_nao_aplicavel",r.parcial="715_parcial",r))(B||{}),Re={pendente:"#CCC353",nao_conforme:"#dc3545",conforme:"#28a745",alerta:"#FFDE59"};var He=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Xe="Ol\xE1 Mundo! (vari\xE1vel)";var ro=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:o,acaoIr:t,rotulo:a}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(n=>String(n)).flatMap(n=>n.split("/")).filter(Boolean),this.rotulo=a}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let a=new URL(typeof window<"u"?window.location.href:"http://localhost");a.pathname=this.caminho,a.search="";let n=Object.entries(o);for(let[i,m]of n)a.searchParams.set(String(i),JSON.stringify(m));return a.hash="",t&&(a.hash=`#${a.search}`,a.search=""),a.href}ir(o){this._acaoIr?this._acaoIr(this.endereco({...o})):typeof window<"u"&&(window.location.href=this.endereco({...o}))}parametros(o){let t=o?new URL(o):new URL(typeof window<"u"?window.location.href:"http://localhost"),a=t.searchParams,n=Object.fromEntries(a.entries()),i=t.hash;if(i){let m=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());n={...n,...m}}for(let m in n)try{n[m]=JSON.parse(n[m])}catch{console.log(`[${m}|${n[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return n}};var Q=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(Q||{}),no=[{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 Y,v3 as H,v4 as W}from"uuid";var X=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,po=e=>X.test(String(e||"")),Z=(e,o)=>H(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?Z(o):Y),S=W,so=S;export{b as TipagemRotas,re as aleatorio,v as cacheM,ie as cacheMFixo,ne as cacheMemoria,z as camposComuns,je as cdn_carro_de_boi,Re as corSituacoes,we as dayjsbr,Fe as defineCwd,X as erUuid,Ie as esperar,K as extensoes,Ce as graficos_pilao,Pe as localValor,Je as logger,u as nomeVariavel,Ge as objetoPg,C as operadores,y as paraObjetoRegistroPg,De as pgObjeto,R as postLogger,Q as siglas_unidades_medida,ro as texto_busca,Ne as tipoArquivo,$ as tipoUsuarioResiduos,B as tiposSituacoes,N as tx,He as umaFuncao,Xe as umaVariavel,no as unidades_medida,so as uuid,Z as uuidV3,S as uuidV4,de as uuid_null,po as validarUuid,ae as verCacheM,le as zFiltro,M as zOperadores}; diff --git a/package.json b/package.json index ebcdb05..9b2c2d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.276.0", + "version": "0.278.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", @@ -13,10 +13,6 @@ } }, "type": "module", - - - - "scripts": { "biome": "pnpm exec biome check --write", "check": "pnpm run biome && npx tsc --noEmit", @@ -50,4 +46,4 @@ "uuid": "^11.1.0", "zod": "4.1.4" } -} \ No newline at end of file +} diff --git a/pacote.tgz b/pacote.tgz index 73ce297283842797a2705d2f37bf2c0f536b30ed..63c8d92e1f85654cc35208e17246beb377211444 100644 GIT binary patch literal 37942 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 literal 24987 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 Date: Mon, 10 Nov 2025 16:16:38 -0300 Subject: [PATCH 18/36] build --- package.json | 2 +- pacote.tgz | Bin 37942 -> 37942 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b2c2d4..cbcab45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.278.0", + "version": "0.279.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 63c8d92e1f85654cc35208e17246beb377211444..f81f23864f7b09846317a235c6a707fe0c377768 100644 GIT binary patch delta 26 icmdnCf@#|drVY~^nd~bz&v2X;#PNIQgcl6!m>B?|3kzBR delta 26 icmdnCf@#|drVY~^neJC_p5Ztxh~s2Q Date: Mon, 10 Nov 2025 16:18:19 -0300 Subject: [PATCH 19/36] build --- dist-back/{situacoes => }/situacoes.js | 0 dist-back/situacoes/index.js | 22 ---------------------- dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 37942 -> 37823 bytes src/{situacoes => }/situacoes.ts | 0 src/situacoes/index.ts | 1 - 7 files changed, 2 insertions(+), 25 deletions(-) rename dist-back/{situacoes => }/situacoes.js (100%) delete mode 100644 dist-back/situacoes/index.js rename src/{situacoes => }/situacoes.ts (100%) delete mode 100644 src/situacoes/index.ts diff --git a/dist-back/situacoes/situacoes.js b/dist-back/situacoes.js similarity index 100% rename from dist-back/situacoes/situacoes.js rename to dist-back/situacoes.js diff --git a/dist-back/situacoes/index.js b/dist-back/situacoes/index.js deleted file mode 100644 index b7ebd74..0000000 --- a/dist-back/situacoes/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -var situacoes_exports = {}; -module.exports = __toCommonJS(situacoes_exports); -__reExport(situacoes_exports, require("./situacoes"), module.exports); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - ...require("./situacoes") -}); diff --git a/dist-front/index.mjs b/dist-front/index.mjs index aa167ae..8a8dcd9 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -var _="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),re=e=>`eli-${Array.from({length:e||8}).map(()=>_[(999*Math.random()|0)%_.length]).join("")}`;var g={};globalThis.cacheMemoria_cache=g;var v=(e,o,t)=>{let a=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),n=t&&new Date().getTime()+t*1e3;o!==void 0&&(g[a]={valor:o,validade:n});let i=g[a];if(!(i?.validade&&i.validadeg,ne=v,ie=e=>o=>v(e,o);var de="00000000-0000-0000-0000-000000000000",z=(d=>(d.codigo="codigo",d.excluido="excluido",d.data_hora_criacao="data_hora_criacao",d.data_hora_atualizacao="data_hora_atualizacao",d.codigo_usuario_criacao="codigo_usuario_criacao",d.codigo_usuario_atualizacao="codigo_usuario_atualizacao",d.versao="versao",d))(z||{}),N=(o=>(o.token="token",o))(N||{}),$=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))($||{});import c from"zod";var C=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(C||{}),M=c.enum(["=","!=",">",">=","<","<=","like","in"]),le=c.object({coluna:c.string(),valor:c.any(),operador:M,ou:c.boolean().optional()});import p from"dayjs";import P from"dayjs/plugin/duration.js";import q from"dayjs/plugin/isSameOrAfter.js";import I from"dayjs/plugin/isSameOrBefore.js";import U from"dayjs/plugin/minMax.js";import A from"dayjs/plugin/relativeTime.js";import E from"dayjs/plugin/timezone.js";import F from"dayjs/plugin/utc.js";import J from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";p.locale("pt-br");p.extend(F);p.extend(E);p.extend(J);p.extend(I);p.extend(q);p.extend(U);p.extend(A);p.extend(P);var we=p;var je="https://carro-de-boi-idz-one.b-cdn.net";var K=[{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"}],Ne=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return K.find(a=>a.ext===o)?.tipo||"outros"};var Ce={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Pe=(e,o)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let a=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(a,JSON.stringify(o));let n=t.getItem(a);if(n===null)return null;try{return JSON.parse(n)}catch{return n}}catch{return null}};import D from"cross-fetch";var Ie=e=>new Promise(o=>setTimeout(()=>o(!0),e)),u=e=>Object.keys(e).join("/");var G="https://log.idz.one",V="/loki/api/v1/push",R=async({objeto:e})=>{let o=await D(`${G}${V}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(t=>t);return o.ok?[e]:[e,`Erro ${o.status}: ${await o?.text?.()}`]},x="",Fe=e=>{x=e},Je=({app:e,eProducao:o,parametros:t})=>({inquilino:a,usuario:n,parametros:i})=>async(m,d,h)=>{let{__filename:s,detalhes:l,local:f,parametros:O}=h||{},w=`${o?"":"DEV-"}${e}`;x&&s&&(s=s.replace(x,"")),f&&(l=[`${u({local:f})}="${f}"`,...l||[]]),s&&(l=[`${u({__filename:s})}="${s}"`,...l||[]]);let L=`${Date.now()}000000`,j=l?.length?`${d} | ${l.map(T=>JSON.stringify(T)).join(" | ")}`:d,k={streams:[{stream:{app:w,inquilino:a,usuario:n,level:m,...t||{},...i||{},...O||{}},values:[[L,j]]}]};return await R({objeto:k})};var y=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}`)}},De=y,Ge=y;var B=(r=>(r.vencida="100_vencida",r.expirado="200_expirado",r.alerta="300_alerta",r.protocoladafora="350_protocoladafora",r.protocolada="400_protocolada",r.protocoladaApenas="430_protocolada",r.protocolada_alteracao="450_protocolada",r.prazo="500_prazo",r.emitida="515_emitida",r.valida="518_valida",r.novo="520_novo",r.recebido="521_recebido",r.em_andamento="530_em_andamento",r.aguardando="530_aguardando",r.aguardandoresposta="540_aguardandoresposta",r.suspensaotemporaria="540_suspensaotemporaria",r.cancelada="550_cancelada",r.execucao="560_execucao",r.pendente="570_pendente",r.executadafora="600_executadafora",r.executada="700_executada",r.naoexecutada="701_naoexecutada",r.concluida="730_concluida",r.respondido_negado="740_respondido_negado",r.respondido_aceito="741_respondido_aceito",r.atendidoparcial="742_atendidoparcial",r.naoatendido="743_naoatendido",r.atendido="744_atendido",r.renovada="760_renovada",r.finalizada="800_finalizada",r.emitirnota="101_emitirnota",r.faturaatrasada="301_faturaatrasada",r.pagarfatura="302_pagarfatura",r.aguardandoconfirmacao="531_aguardandoconfirmacao",r.agendado="701_agendado",r.faturapaga="801_faturapaga",r.excluida="999_excluida",r.requerida="401_requerida",r.vigente="516_vigente",r.emrenovacao="402_emrenovacao",r.arquivada="801_arquivada",r.aguardando_sincronizacao="999_aguardando_sincronizacao",r.nao_conforme="710_nao_conforme",r.conforme="720_conforme",r.nao_aplicavel="730_nao_aplicavel",r.parcial="715_parcial",r))(B||{}),Re={pendente:"#CCC353",nao_conforme:"#dc3545",conforme:"#28a745",alerta:"#FFDE59"};var He=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Xe="Ol\xE1 Mundo! (vari\xE1vel)";var ro=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:o,acaoIr:t,rotulo:a}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(n=>String(n)).flatMap(n=>n.split("/")).filter(Boolean),this.rotulo=a}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let a=new URL(typeof window<"u"?window.location.href:"http://localhost");a.pathname=this.caminho,a.search="";let n=Object.entries(o);for(let[i,m]of n)a.searchParams.set(String(i),JSON.stringify(m));return a.hash="",t&&(a.hash=`#${a.search}`,a.search=""),a.href}ir(o){this._acaoIr?this._acaoIr(this.endereco({...o})):typeof window<"u"&&(window.location.href=this.endereco({...o}))}parametros(o){let t=o?new URL(o):new URL(typeof window<"u"?window.location.href:"http://localhost"),a=t.searchParams,n=Object.fromEntries(a.entries()),i=t.hash;if(i){let m=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());n={...n,...m}}for(let m in n)try{n[m]=JSON.parse(n[m])}catch{console.log(`[${m}|${n[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return n}};var Q=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(Q||{}),no=[{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 Y,v3 as H,v4 as W}from"uuid";var X=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,po=e=>X.test(String(e||"")),Z=(e,o)=>H(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?Z(o):Y),S=W,so=S;export{b as TipagemRotas,re as aleatorio,v as cacheM,ie as cacheMFixo,ne as cacheMemoria,z as camposComuns,je as cdn_carro_de_boi,Re as corSituacoes,we as dayjsbr,Fe as defineCwd,X as erUuid,Ie as esperar,K as extensoes,Ce as graficos_pilao,Pe as localValor,Je as logger,u as nomeVariavel,Ge as objetoPg,C as operadores,y as paraObjetoRegistroPg,De as pgObjeto,R as postLogger,Q as siglas_unidades_medida,ro as texto_busca,Ne as tipoArquivo,$ as tipoUsuarioResiduos,B as tiposSituacoes,N as tx,He as umaFuncao,Xe as umaVariavel,no as unidades_medida,so as uuid,Z as uuidV3,S as uuidV4,de as uuid_null,po as validarUuid,ae as verCacheM,le as zFiltro,M as zOperadores}; +var _="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),re=e=>`eli-${Array.from({length:e||8}).map(()=>_[(999*Math.random()|0)%_.length]).join("")}`;var g={};globalThis.cacheMemoria_cache=g;var v=(e,o,t)=>{let a=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),n=t&&new Date().getTime()+t*1e3;o!==void 0&&(g[a]={valor:o,validade:n});let i=g[a];if(!(i?.validade&&i.validadeg,ne=v,ie=e=>o=>v(e,o);var de="00000000-0000-0000-0000-000000000000",z=(d=>(d.codigo="codigo",d.excluido="excluido",d.data_hora_criacao="data_hora_criacao",d.data_hora_atualizacao="data_hora_atualizacao",d.codigo_usuario_criacao="codigo_usuario_criacao",d.codigo_usuario_atualizacao="codigo_usuario_atualizacao",d.versao="versao",d))(z||{}),N=(o=>(o.token="token",o))(N||{}),$=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))($||{});import c from"zod";var C=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(C||{}),M=c.enum(["=","!=",">",">=","<","<=","like","in"]),le=c.object({coluna:c.string(),valor:c.any(),operador:M,ou:c.boolean().optional()});import p from"dayjs";import P from"dayjs/plugin/duration.js";import q from"dayjs/plugin/isSameOrAfter.js";import I from"dayjs/plugin/isSameOrBefore.js";import U from"dayjs/plugin/minMax.js";import A from"dayjs/plugin/relativeTime.js";import E from"dayjs/plugin/timezone.js";import F from"dayjs/plugin/utc.js";import J from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";p.locale("pt-br");p.extend(F);p.extend(E);p.extend(J);p.extend(I);p.extend(q);p.extend(U);p.extend(A);p.extend(P);var we=p;var je="https://carro-de-boi-idz-one.b-cdn.net";var K=[{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"}],Ne=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return K.find(a=>a.ext===o)?.tipo||"outros"};var Ce={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Pe=(e,o)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let a=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(a,JSON.stringify(o));let n=t.getItem(a);if(n===null)return null;try{return JSON.parse(n)}catch{return n}}catch{return null}};import D from"cross-fetch";var Ie=e=>new Promise(o=>setTimeout(()=>o(!0),e)),u=e=>Object.keys(e).join("/");var G="https://log.idz.one",V="/loki/api/v1/push",R=async({objeto:e})=>{let o=await D(`${G}${V}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(t=>t);return o.ok?[e]:[e,`Erro ${o.status}: ${await o?.text?.()}`]},x="",Fe=e=>{x=e},Je=({app:e,eProducao:o,parametros:t})=>({inquilino:a,usuario:n,parametros:i})=>async(m,d,h)=>{let{__filename:s,detalhes:l,local:f,parametros:O}=h||{},w=`${o?"":"DEV-"}${e}`;x&&s&&(s=s.replace(x,"")),f&&(l=[`${u({local:f})}="${f}"`,...l||[]]),s&&(l=[`${u({__filename:s})}="${s}"`,...l||[]]);let L=`${Date.now()}000000`,j=l?.length?`${d} | ${l.map(T=>JSON.stringify(T)).join(" | ")}`:d,k={streams:[{stream:{app:w,inquilino:a,usuario:n,level:m,...t||{},...i||{},...O||{}},values:[[L,j]]}]};return await R({objeto:k})};var y=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}`)}},De=y,Ge=y;var B=(r=>(r.vencida="100_vencida",r.expirado="200_expirado",r.alerta="300_alerta",r.protocoladafora="350_protocoladafora",r.protocolada="400_protocolada",r.protocoladaApenas="430_protocolada",r.protocolada_alteracao="450_protocolada",r.prazo="500_prazo",r.emitida="515_emitida",r.valida="518_valida",r.novo="520_novo",r.recebido="521_recebido",r.em_andamento="530_em_andamento",r.aguardando="530_aguardando",r.aguardandoresposta="540_aguardandoresposta",r.suspensaotemporaria="540_suspensaotemporaria",r.cancelada="550_cancelada",r.execucao="560_execucao",r.pendente="570_pendente",r.executadafora="600_executadafora",r.executada="700_executada",r.naoexecutada="701_naoexecutada",r.concluida="730_concluida",r.respondido_negado="740_respondido_negado",r.respondido_aceito="741_respondido_aceito",r.atendidoparcial="742_atendidoparcial",r.naoatendido="743_naoatendido",r.atendido="744_atendido",r.renovada="760_renovada",r.finalizada="800_finalizada",r.emitirnota="101_emitirnota",r.faturaatrasada="301_faturaatrasada",r.pagarfatura="302_pagarfatura",r.aguardandoconfirmacao="531_aguardandoconfirmacao",r.agendado="701_agendado",r.faturapaga="801_faturapaga",r.excluida="999_excluida",r.requerida="401_requerida",r.vigente="516_vigente",r.emrenovacao="402_emrenovacao",r.arquivada="801_arquivada",r.aguardando_sincronizacao="999_aguardando_sincronizacao",r.nao_conforme="710_nao_conforme",r.conforme="720_conforme",r.nao_aplicavel="730_nao_aplicavel",r.parcial="715_parcial",r))(B||{}),Re={pendente:"#CCC353",nao_conforme:"#dc3545",conforme:"#28a745",alerta:"#FFDE59"};var Qe=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var He="Ol\xE1 Mundo! (vari\xE1vel)";var eo=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:o,acaoIr:t,rotulo:a}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(n=>String(n)).flatMap(n=>n.split("/")).filter(Boolean),this.rotulo=a}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let a=new URL(typeof window<"u"?window.location.href:"http://localhost");a.pathname=this.caminho,a.search="";let n=Object.entries(o);for(let[i,m]of n)a.searchParams.set(String(i),JSON.stringify(m));return a.hash="",t&&(a.hash=`#${a.search}`,a.search=""),a.href}ir(o){this._acaoIr?this._acaoIr(this.endereco({...o})):typeof window<"u"&&(window.location.href=this.endereco({...o}))}parametros(o){let t=o?new URL(o):new URL(typeof window<"u"?window.location.href:"http://localhost"),a=t.searchParams,n=Object.fromEntries(a.entries()),i=t.hash;if(i){let m=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());n={...n,...m}}for(let m in n)try{n[m]=JSON.parse(n[m])}catch{console.log(`[${m}|${n[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return n}};var Q=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(Q||{}),to=[{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 Y,v3 as H,v4 as W}from"uuid";var X=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,io=e=>X.test(String(e||"")),Z=(e,o)=>H(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?Z(o):Y),S=W,mo=S;export{b as TipagemRotas,re as aleatorio,v as cacheM,ie as cacheMFixo,ne as cacheMemoria,z as camposComuns,je as cdn_carro_de_boi,Re as corSituacoes,we as dayjsbr,Fe as defineCwd,X as erUuid,Ie as esperar,K as extensoes,Ce as graficos_pilao,Pe as localValor,Je as logger,u as nomeVariavel,Ge as objetoPg,C as operadores,y as paraObjetoRegistroPg,De as pgObjeto,R as postLogger,Q as siglas_unidades_medida,eo as texto_busca,Ne as tipoArquivo,$ as tipoUsuarioResiduos,B as tiposSituacoes,N as tx,Qe as umaFuncao,He as umaVariavel,to as unidades_medida,mo as uuid,Z as uuidV3,S as uuidV4,de as uuid_null,io as validarUuid,ae as verCacheM,le as zFiltro,M as zOperadores}; diff --git a/package.json b/package.json index cbcab45..fc8925f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.279.0", + "version": "0.280.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index f81f23864f7b09846317a235c6a707fe0c377768..45afe69bb0b58ddf40e38914b85a129e0611ecbe 100644 GIT binary patch delta 26811 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 delta 26954 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 I=m4$*08>+-7ytkO diff --git a/src/situacoes/situacoes.ts b/src/situacoes.ts similarity index 100% rename from src/situacoes/situacoes.ts rename to src/situacoes.ts diff --git a/src/situacoes/index.ts b/src/situacoes/index.ts deleted file mode 100644 index e60fa40..0000000 --- a/src/situacoes/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./situacoes" From ac08b31b3d761c87dbd4bdaccf23f9bbb6f6b2a9 Mon Sep 17 00:00:00 2001 From: marcio Date: Mon, 10 Nov 2025 16:31:44 -0300 Subject: [PATCH 20/36] build --- dist/index.cjs | 600 -------------------------------- dist/index.d.cts | 315 ----------------- dist/index.d.mts | 315 ----------------- dist/index.d.ts | 315 ----------------- dist/index.mjs | 548 ----------------------------- dist/situacoes/index.d.ts | 1 - dist/situacoes/index.js | 18 - dist/situacoes/index.js.map | 1 - dist/situacoes/situacoes.d.ts | 51 --- dist/situacoes/situacoes.js | 64 ---- dist/situacoes/situacoes.js.map | 1 - package.json | 2 +- pacote.tgz | Bin 37823 -> 26624 bytes 13 files changed, 1 insertion(+), 2230 deletions(-) delete mode 100644 dist/index.cjs delete mode 100644 dist/index.d.cts delete mode 100644 dist/index.d.mts delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.mjs delete mode 100644 dist/situacoes/index.d.ts delete mode 100644 dist/situacoes/index.js delete mode 100644 dist/situacoes/index.js.map delete mode 100644 dist/situacoes/situacoes.d.ts delete mode 100644 dist/situacoes/situacoes.js delete mode 100644 dist/situacoes/situacoes.js.map diff --git a/dist/index.cjs b/dist/index.cjs deleted file mode 100644 index 32e7c76..0000000 --- a/dist/index.cjs +++ /dev/null @@ -1,600 +0,0 @@ -'use strict'; - -const z = require('zod'); -const dayjs = require('dayjs'); -const duration = require('dayjs/plugin/duration.js'); -const isSameOrAfter = require('dayjs/plugin/isSameOrAfter.js'); -const isSameOrBefore = require('dayjs/plugin/isSameOrBefore.js'); -const minMax = require('dayjs/plugin/minMax.js'); -const relativeTime = require('dayjs/plugin/relativeTime.js'); -const timezone = require('dayjs/plugin/timezone.js'); -const utc = require('dayjs/plugin/utc.js'); -const weekOfYear = require('dayjs/plugin/weekOfYear.js'); -require('dayjs/locale/pt-br.js'); -const crossFetch = require('cross-fetch'); -const uuid$1 = require('uuid'); - -function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; } - -const z__default = /*#__PURE__*/_interopDefaultCompat(z); -const dayjs__default = /*#__PURE__*/_interopDefaultCompat(dayjs); -const duration__default = /*#__PURE__*/_interopDefaultCompat(duration); -const isSameOrAfter__default = /*#__PURE__*/_interopDefaultCompat(isSameOrAfter); -const isSameOrBefore__default = /*#__PURE__*/_interopDefaultCompat(isSameOrBefore); -const minMax__default = /*#__PURE__*/_interopDefaultCompat(minMax); -const relativeTime__default = /*#__PURE__*/_interopDefaultCompat(relativeTime); -const timezone__default = /*#__PURE__*/_interopDefaultCompat(timezone); -const utc__default = /*#__PURE__*/_interopDefaultCompat(utc); -const weekOfYear__default = /*#__PURE__*/_interopDefaultCompat(weekOfYear); -const crossFetch__default = /*#__PURE__*/_interopDefaultCompat(crossFetch); - -const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); -const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; - -const _cache = {}; -globalThis.cacheMemoria_cache = _cache; -const cacheM = (chave, valor, validadeSeg) => { - const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); - const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; - if (valor !== void 0) { - _cache[txChave] = { - valor, - validade - }; - } - const busca = _cache[txChave]; - if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { - return void 0; - } - return busca?.valor; -}; -const verCacheM = () => _cache; -const cacheMemoria = cacheM; -const cacheMFixo = (chave) => (valor) => cacheM(chave, valor); - -const uuid_null = "00000000-0000-0000-0000-000000000000"; -var camposComuns = /* @__PURE__ */ ((camposComuns2) => { - camposComuns2["codigo"] = "codigo"; - camposComuns2["excluido"] = "excluido"; - camposComuns2["data_hora_criacao"] = "data_hora_criacao"; - camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; - camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; - camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; - camposComuns2["versao"] = "versao"; - return camposComuns2; -})(camposComuns || {}); -var tx = /* @__PURE__ */ ((tx2) => { - tx2["token"] = "token"; - return tx2; -})(tx || {}); -var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { - tipoUsuarioResiduos2["Usuario"] = "usuario"; - tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; - return tipoUsuarioResiduos2; -})(tipoUsuarioResiduos || {}); - -var operadores = /* @__PURE__ */ ((operadores2) => { - operadores2["="] = "="; - operadores2["!="] = "!="; - operadores2[">"] = ">"; - operadores2[">="] = ">="; - operadores2["<"] = "<"; - operadores2["<="] = "<="; - operadores2["like"] = "like"; - operadores2["in"] = "in"; - return operadores2; -})(operadores || {}); -const zOperadores = z__default.enum([ - "=", - "!=", - ">", - ">=", - "<", - "<=", - "like", - "in" -]); -const zFiltro = z__default.object({ - coluna: z__default.string(), - valor: z__default.any(), - operador: zOperadores, - ou: z__default.boolean().optional() -}); - -dayjs__default.locale("pt-br"); -dayjs__default.extend(utc__default); -dayjs__default.extend(timezone__default); -dayjs__default.extend(weekOfYear__default); -dayjs__default.extend(isSameOrBefore__default); -dayjs__default.extend(isSameOrAfter__default); -dayjs__default.extend(minMax__default); -dayjs__default.extend(relativeTime__default); -dayjs__default.extend(duration__default); -const dayjsbr = dayjs__default; - -const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -const extensoes = [ - { - 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" - } -]; -const tipoArquivo = (nomeArquivo) => { - const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); - const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); - return extensao?.tipo || "outros"; -}; - -const graficos_pilao = { - Condicionantes: { - grafico: "condicionantes-criadas", - titulo: "Condicionantes Criadas" - }, - Licen\u00E7as: { - grafico: "licencas-criadas", - titulo: "Licen\xE7as Criadas" - } -}; - -const localValor = (chave_, valor) => { - const localStorage = globalThis.localStorage; - if (typeof localStorage == "undefined") return null; - const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); - try { - if (valor !== void 0) { - localStorage.setItem(chave, JSON.stringify(valor)); - } - const v2 = localStorage.getItem(chave); - if (v2 === null) return null; - try { - return JSON.parse(v2); - } catch { - return v2; - } - } catch { - return null; - } -}; - -const esperar = (ms) => new Promise( - (resolve) => setTimeout(() => resolve(true), ms) -); -const nomeVariavel = (v) => Object.keys(v).join("/"); - -const LOKI_BASE_URL = "https://log.idz.one"; -const LOKI_ENDPOINT = "/loki/api/v1/push"; -const postLogger = async ({ - objeto -}) => { - const response = await crossFetch__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 = [`${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 = { - 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; -}; - -const paraObjetoRegistroPg = (entrada) => { - try { - return Object.fromEntries( - Object.entries(entrada).map(([k, v]) => [ - k, - v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) - ]) - ); - } catch (error) { - throw new Error( - `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` - ); - } -}; -const pgObjeto = paraObjetoRegistroPg; -const objetoPg = paraObjetoRegistroPg; - -const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; - -const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; - -const texto_busca = (...texto) => texto.map( - (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() -).join(" "); - -class TipagemRotas { - _partesCaminho = []; - _acaoIr; - rotulo; - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ - caminho, - acaoIr, - rotulo - }) { - this._acaoIr = acaoIr; - this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); - this.rotulo = rotulo; - } - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho() { - const ret = `/${this._partesCaminho.join("/")}`; - return ret; - } - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial) { - this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); - } - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query, usarComoHash) { - const url = new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - url.pathname = this.caminho; - url.search = ""; - const queryKeys = Object.entries(query); - for (const [key, value] of queryKeys) { - url.searchParams.set(String(key), JSON.stringify(value)); - } - url.hash = ""; - if (usarComoHash) { - url.hash = `#${url.search}`; - url.search = ""; - } - return url.href; - } - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query) { - if (this._acaoIr) { - this._acaoIr(this.endereco({ ...query })); - } else { - if (typeof window != "undefined") { - window.location.href = this.endereco({ ...query }); - } - } - } - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada) { - const url = urlEntrada ? new URL(urlEntrada) : new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - const query = url.searchParams; - let queryObj = Object.fromEntries(query.entries()); - const hash = url.hash; - if (hash) { - const hashObj = Object.fromEntries( - new URLSearchParams(hash.slice(1)).entries() - ); - queryObj = { ...queryObj, ...hashObj }; - } - for (const chave in queryObj) { - try { - queryObj[chave] = JSON.parse(queryObj[chave]); - } catch { - console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); - } - } - return queryObj; - } -} - -var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { - siglas_unidades_medida2["UN"] = "UN"; - siglas_unidades_medida2["KG"] = "KG"; - siglas_unidades_medida2["TON"] = "TON"; - siglas_unidades_medida2["g"] = "g"; - siglas_unidades_medida2["M\xB3"] = "M\xB3"; - siglas_unidades_medida2["Lt"] = "Lt"; - return siglas_unidades_medida2; -})(siglas_unidades_medida || {}); -const unidades_medida = [ - { - sigla_unidade: "KG", - nome: "Quilograma", - sigla_normalizada: "KG", - normalizar: (valor) => valor, - tipo: "massa" - }, - { - sigla_unidade: "g", - nome: "Grama", - sigla_normalizada: "KG", - normalizar: (valor) => valor / 1e3, - tipo: "massa" - }, - { - sigla_unidade: "TON", - nome: "Tonelada", - sigla_normalizada: "KG", - normalizar: (valor) => valor * 1e3, - tipo: "massa" - }, - { - sigla_unidade: "Lt", - nome: "Litro", - sigla_normalizada: "Lt", - normalizar: (valor) => valor, - tipo: "volume" - }, - { - sigla_unidade: "M\xB3", - nome: "Metro C\xFAbico", - sigla_normalizada: "Lt", - normalizar: (valor) => valor * 1e3, - tipo: "volume" - }, - { - sigla_unidade: "UN", - nome: "Unidade", - sigla_normalizada: "UN", - normalizar: (valor) => valor, - tipo: "unidade" - } -]; - -const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; -const validarUuid = (uuid2) => { - const retorno = erUuid.test(String(uuid2 || "")); - return retorno; -}; -const uuidV3 = (chave, grupo) => { - return uuid$1.v3( - // Converte a chave para string (de forma segura) - typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), - // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL - grupo ? uuidV3(grupo) : uuid$1.NIL - ); -}; -const uuidV4 = uuid$1.v4; -const uuid = uuidV4; - -exports.TipagemRotas = TipagemRotas; -exports.aleatorio = aleatorio; -exports.cacheM = cacheM; -exports.cacheMFixo = cacheMFixo; -exports.cacheMemoria = cacheMemoria; -exports.camposComuns = camposComuns; -exports.cdn_carro_de_boi = cdn_carro_de_boi; -exports.dayjsbr = dayjsbr; -exports.defineCwd = defineCwd; -exports.erUuid = erUuid; -exports.esperar = esperar; -exports.extensoes = extensoes; -exports.graficos_pilao = graficos_pilao; -exports.localValor = localValor; -exports.logger = logger; -exports.nomeVariavel = nomeVariavel; -exports.objetoPg = objetoPg; -exports.operadores = operadores; -exports.paraObjetoRegistroPg = paraObjetoRegistroPg; -exports.pgObjeto = pgObjeto; -exports.postLogger = postLogger; -exports.siglas_unidades_medida = siglas_unidades_medida; -exports.texto_busca = texto_busca; -exports.tipoArquivo = tipoArquivo; -exports.tipoUsuarioResiduos = tipoUsuarioResiduos; -exports.tx = tx; -exports.umaFuncao = umaFuncao; -exports.umaVariavel = umaVariavel; -exports.unidades_medida = unidades_medida; -exports.uuid = uuid; -exports.uuidV3 = uuidV3; -exports.uuidV4 = uuidV4; -exports.uuid_null = uuid_null; -exports.validarUuid = validarUuid; -exports.verCacheM = verCacheM; -exports.zFiltro = zFiltro; -exports.zOperadores = zOperadores; diff --git a/dist/index.d.cts b/dist/index.d.cts deleted file mode 100644 index 59f9882..0000000 --- a/dist/index.d.cts +++ /dev/null @@ -1,315 +0,0 @@ -import z from 'zod'; -import dayjs from 'dayjs'; -export { ManipulateType } from 'dayjs'; -import { v4 } from 'uuid'; - -declare const aleatorio: (tamanho?: number) => string; - -/** gerar uma função de cache para uso em memoria */ -declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -declare const verCacheM: () => { - [k: string]: { - /** new Date().getTime() */ - validade?: number | undefined; - valor: any; - } | undefined; -}; -declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -/** para uso fixo dentro de uma função, trava a chave */ -declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; - -declare const uuid_null = "00000000-0000-0000-0000-000000000000"; -/** Colunas Presentes n maioria das tabelas */ -declare enum camposComuns { - codigo = "codigo", - excluido = "excluido", - data_hora_criacao = "data_hora_criacao", - data_hora_atualizacao = "data_hora_atualizacao", - codigo_usuario_criacao = "codigo_usuario_criacao", - codigo_usuario_atualizacao = "codigo_usuario_atualizacao", - versao = "versao" -} -/** Palavras comumente usadas */ -declare enum tx { - token = "token" -} -declare enum tipoUsuarioResiduos { - Usuario = "usuario", - Fornecedor = "fornecedor" -} - -declare enum operadores { - "=" = "=", - "!=" = "!=", - ">" = ">", - ">=" = ">=", - "<" = "<", - "<=" = "<=", - like = "like", - in = "in" -} -type tipoFiltro = { - coluna: string; - valor: any; - operador: keyof typeof operadores | operadores; - ou?: boolean; -}; -type interfaceConsulta = { - offset?: number; - limit?: number; - filtros?: tipoFiltro[]; - ordem?: string; - ordemTipo?: "asc" | "desc"; - colunas?: string[]; - apenasConsulta?: boolean; - apenasContagem?: boolean; -}; -declare const zOperadores: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; -}>; -declare const zFiltro: z.ZodObject<{ - coluna: z.ZodString; - valor: z.ZodAny; - operador: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; - }>; - ou: z.ZodOptional; -}, z.core.$strip>; - -declare const dayjsbr: typeof dayjs; - -declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; -declare const extensoes: { - ext: string; - tipo: tiposArquivo; - mime: string; -}[]; -/** - * Função que retorna o tipo do arquivo - * @param nomeArquivo - * @returns - */ -declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; - -declare const graficos_pilao: { - [k: string]: { - grafico: string; - titulo: string; - }; -}; - -/** - * LocalStorage Tipado - * Lê ou grava um valor no localStorage, mantendo o tipo genérico . - */ -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 - * @returns - */ -declare const paraObjetoRegistroPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const pgObjeto: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const objetoPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; - -declare const umaFuncao: () => string; - -declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; - -/** gerar o texto de busca removendo caracteres especies e caixa alta */ -declare const texto_busca: (...texto: any[]) => string; - -/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys - * - * Definições: - * - * caminho = "/aplicacao/funcionalidade" - * - * endereco = "http://localhost:3000/aplicacao/funcionalidade" - * - * parametros = {nome:"José"} - */ -declare class TipagemRotas { - _partesCaminho: string[]; - _acaoIr?: (endereco: string) => undefined; - rotulo: string | undefined; - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ caminho, acaoIr, rotulo, }: { - caminho: (string | null | undefined)[] | string; - acaoIr?: undefined | ((endereco: string) => undefined); - /** Rotulo da página - * Inicio | Controle - */ - rotulo?: string; - }); - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho(): string; - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial: string); - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query: T, usarComoHash?: boolean): string; - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query: T): void; - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada?: string): Partial; -} - -/** - * Essa variável se conecta a tabela_lidades - * - * onde sigla se conecta com sigla - * - * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha - * usar a normalizada - */ -declare enum siglas_unidades_medida { - UN = "UN", - KG = "KG", - TON = "TON", - g = "g", - "M³" = "M\u00B3", - Lt = "Lt" -} -declare const unidades_medida: { - sigla_unidade: keyof typeof siglas_unidades_medida; - nome: string; - sigla_normalizada: keyof typeof siglas_unidades_medida; - normalizar: (valor: number) => number; - tipo: "massa" | "volume" | "comprimento" | "unidade"; -}[]; - -/** - * Valida se uma string é um UUID válido (qualquer versão). - * - * @param valor - A string que será validada. - * @returns booleano indicando se é um UUID válido. - */ -declare const erUuid: RegExp; -declare const validarUuid: (uuid: string | number | undefined | null) => boolean; -/** - * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). - * - * - Usa o algoritmo MD5 (RFC 4122). - * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. - * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. - * - * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). - * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. - * @returns UUID v3 (determinístico) - */ -declare const uuidV3: (chave: any, grupo?: any) => string; -/** - * Gera um UUID v4 (aleatório, não determinístico). - * - * - Usado quando unicidade é necessária, mas não se exige que seja previsível. - */ -declare const uuidV4: typeof v4; -/** - * @deprecated Esta variável será descontinuada em versões futuras. - * Use a função `uuidV4()` diretamente. - */ -declare const uuid: typeof v4; - -declare const esperar: (ms: number) => Promise; -/** - * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto - * const nomex = {a: 1, b: 2} - * nomeVariavel({nomex}) // retorna "nomex" - * @param v - * @returns - */ -declare const nomeVariavel: (v: { - [key: string]: any; -}) => string; - -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; -export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.d.mts b/dist/index.d.mts deleted file mode 100644 index 59f9882..0000000 --- a/dist/index.d.mts +++ /dev/null @@ -1,315 +0,0 @@ -import z from 'zod'; -import dayjs from 'dayjs'; -export { ManipulateType } from 'dayjs'; -import { v4 } from 'uuid'; - -declare const aleatorio: (tamanho?: number) => string; - -/** gerar uma função de cache para uso em memoria */ -declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -declare const verCacheM: () => { - [k: string]: { - /** new Date().getTime() */ - validade?: number | undefined; - valor: any; - } | undefined; -}; -declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -/** para uso fixo dentro de uma função, trava a chave */ -declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; - -declare const uuid_null = "00000000-0000-0000-0000-000000000000"; -/** Colunas Presentes n maioria das tabelas */ -declare enum camposComuns { - codigo = "codigo", - excluido = "excluido", - data_hora_criacao = "data_hora_criacao", - data_hora_atualizacao = "data_hora_atualizacao", - codigo_usuario_criacao = "codigo_usuario_criacao", - codigo_usuario_atualizacao = "codigo_usuario_atualizacao", - versao = "versao" -} -/** Palavras comumente usadas */ -declare enum tx { - token = "token" -} -declare enum tipoUsuarioResiduos { - Usuario = "usuario", - Fornecedor = "fornecedor" -} - -declare enum operadores { - "=" = "=", - "!=" = "!=", - ">" = ">", - ">=" = ">=", - "<" = "<", - "<=" = "<=", - like = "like", - in = "in" -} -type tipoFiltro = { - coluna: string; - valor: any; - operador: keyof typeof operadores | operadores; - ou?: boolean; -}; -type interfaceConsulta = { - offset?: number; - limit?: number; - filtros?: tipoFiltro[]; - ordem?: string; - ordemTipo?: "asc" | "desc"; - colunas?: string[]; - apenasConsulta?: boolean; - apenasContagem?: boolean; -}; -declare const zOperadores: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; -}>; -declare const zFiltro: z.ZodObject<{ - coluna: z.ZodString; - valor: z.ZodAny; - operador: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; - }>; - ou: z.ZodOptional; -}, z.core.$strip>; - -declare const dayjsbr: typeof dayjs; - -declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; -declare const extensoes: { - ext: string; - tipo: tiposArquivo; - mime: string; -}[]; -/** - * Função que retorna o tipo do arquivo - * @param nomeArquivo - * @returns - */ -declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; - -declare const graficos_pilao: { - [k: string]: { - grafico: string; - titulo: string; - }; -}; - -/** - * LocalStorage Tipado - * Lê ou grava um valor no localStorage, mantendo o tipo genérico . - */ -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 - * @returns - */ -declare const paraObjetoRegistroPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const pgObjeto: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const objetoPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; - -declare const umaFuncao: () => string; - -declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; - -/** gerar o texto de busca removendo caracteres especies e caixa alta */ -declare const texto_busca: (...texto: any[]) => string; - -/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys - * - * Definições: - * - * caminho = "/aplicacao/funcionalidade" - * - * endereco = "http://localhost:3000/aplicacao/funcionalidade" - * - * parametros = {nome:"José"} - */ -declare class TipagemRotas { - _partesCaminho: string[]; - _acaoIr?: (endereco: string) => undefined; - rotulo: string | undefined; - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ caminho, acaoIr, rotulo, }: { - caminho: (string | null | undefined)[] | string; - acaoIr?: undefined | ((endereco: string) => undefined); - /** Rotulo da página - * Inicio | Controle - */ - rotulo?: string; - }); - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho(): string; - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial: string); - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query: T, usarComoHash?: boolean): string; - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query: T): void; - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada?: string): Partial; -} - -/** - * Essa variável se conecta a tabela_lidades - * - * onde sigla se conecta com sigla - * - * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha - * usar a normalizada - */ -declare enum siglas_unidades_medida { - UN = "UN", - KG = "KG", - TON = "TON", - g = "g", - "M³" = "M\u00B3", - Lt = "Lt" -} -declare const unidades_medida: { - sigla_unidade: keyof typeof siglas_unidades_medida; - nome: string; - sigla_normalizada: keyof typeof siglas_unidades_medida; - normalizar: (valor: number) => number; - tipo: "massa" | "volume" | "comprimento" | "unidade"; -}[]; - -/** - * Valida se uma string é um UUID válido (qualquer versão). - * - * @param valor - A string que será validada. - * @returns booleano indicando se é um UUID válido. - */ -declare const erUuid: RegExp; -declare const validarUuid: (uuid: string | number | undefined | null) => boolean; -/** - * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). - * - * - Usa o algoritmo MD5 (RFC 4122). - * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. - * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. - * - * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). - * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. - * @returns UUID v3 (determinístico) - */ -declare const uuidV3: (chave: any, grupo?: any) => string; -/** - * Gera um UUID v4 (aleatório, não determinístico). - * - * - Usado quando unicidade é necessária, mas não se exige que seja previsível. - */ -declare const uuidV4: typeof v4; -/** - * @deprecated Esta variável será descontinuada em versões futuras. - * Use a função `uuidV4()` diretamente. - */ -declare const uuid: typeof v4; - -declare const esperar: (ms: number) => Promise; -/** - * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto - * const nomex = {a: 1, b: 2} - * nomeVariavel({nomex}) // retorna "nomex" - * @param v - * @returns - */ -declare const nomeVariavel: (v: { - [key: string]: any; -}) => string; - -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; -export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index 240f49d..0000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,315 +0,0 @@ -import z from 'zod'; -import dayjs from 'dayjs'; -export { ManipulateType } from 'dayjs'; -import { v4 } from 'uuid'; - -declare const aleatorio: (tamanho?: number) => string; - -/** gerar uma função de cache para uso em memoria */ -declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -declare const verCacheM: () => { - [k: string]: { - /** new Date().getTime() */ - validade?: number | undefined; - valor: any; - } | undefined; -}; -declare const cacheMemoria: (chave: any, valor?: T, validadeSeg?: number) => T | undefined; -/** para uso fixo dentro de uma função, trava a chave */ -declare const cacheMFixo: (chave: any) => (valor?: T) => T | undefined; - -declare const uuid_null = "00000000-0000-0000-0000-000000000000"; -/** Colunas Presentes n maioria das tabelas */ -declare enum camposComuns { - codigo = "codigo", - excluido = "excluido", - data_hora_criacao = "data_hora_criacao", - data_hora_atualizacao = "data_hora_atualizacao", - codigo_usuario_criacao = "codigo_usuario_criacao", - codigo_usuario_atualizacao = "codigo_usuario_atualizacao", - versao = "versao" -} -/** Palavras comumente usadas */ -declare enum tx { - token = "token" -} -declare enum tipoUsuarioResiduos { - Usuario = "usuario", - Fornecedor = "fornecedor" -} - -declare enum operadores { - "=" = "=", - "!=" = "!=", - ">" = ">", - ">=" = ">=", - "<" = "<", - "<=" = "<=", - like = "like", - in = "in" -} -type tipoFiltro = { - coluna: string; - valor: any; - operador: keyof typeof operadores | operadores; - ou?: boolean; -}; -type interfaceConsulta = { - offset?: number; - limit?: number; - filtros?: tipoFiltro[]; - ordem?: string; - ordemTipo?: "asc" | "desc"; - colunas?: string[]; - apenasConsulta?: boolean; - apenasContagem?: boolean; -}; -declare const zOperadores: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; -}>; -declare const zFiltro: z.ZodObject<{ - coluna: z.ZodString; - valor: z.ZodAny; - operador: z.ZodEnum<{ - "=": "="; - "!=": "!="; - ">": ">"; - ">=": ">="; - "<": "<"; - "<=": "<="; - like: "like"; - in: "in"; - }>; - ou: z.ZodOptional; -}, z.core.$strip>; - -declare const dayjsbr: typeof dayjs; - -declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; -declare const extensoes: { - ext: string; - tipo: tiposArquivo; - mime: string; -}[]; -/** - * Função que retorna o tipo do arquivo - * @param nomeArquivo - * @returns - */ -declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; - -declare const graficos_pilao: { - [k: string]: { - grafico: string; - titulo: string; - }; -}; - -/** - * LocalStorage Tipado - * Lê ou grava um valor no localStorage, mantendo o tipo genérico . - */ -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 - * @returns - */ -declare const paraObjetoRegistroPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const pgObjeto: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; -declare const objetoPg: (entrada: { - [k: string]: any; -}) => { - [k: string]: string | boolean | null | undefined | number; -}; - -declare const umaFuncao: () => string; - -declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)"; - -/** gerar o texto de busca removendo caracteres especies e caixa alta */ -declare const texto_busca: (...texto: any[]) => string; - -/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys - * - * Definições: - * - * caminho = "/aplicacao/funcionalidade" - * - * endereco = "http://localhost:3000/aplicacao/funcionalidade" - * - * parametros = {nome:"José"} - */ -declare class TipagemRotas { - _partesCaminho: string[]; - _acaoIr?: (endereco: string) => undefined; - rotulo: string | undefined; - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ caminho, acaoIr, rotulo, }: { - caminho: (string | null | undefined)[] | string; - acaoIr?: undefined | ((endereco: string) => undefined); - /** Rotulo da página - * Inicio | Controle - */ - rotulo?: string; - }); - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho(): string; - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial: string); - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query: T, usarComoHash?: boolean): string; - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query: T): void; - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada?: string): Partial; -} - -/** - * Essa variável se conecta a tabela_lidades - * - * onde sigla se conecta com sigla - * - * Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha - * usar a normalizada - */ -declare enum siglas_unidades_medida { - UN = "UN", - KG = "KG", - TON = "TON", - g = "g", - "M³" = "M\u00B3", - Lt = "Lt" -} -declare const unidades_medida: { - sigla_unidade: keyof typeof siglas_unidades_medida; - nome: string; - sigla_normalizada: keyof typeof siglas_unidades_medida; - normalizar: (valor: number) => number; - tipo: "massa" | "volume" | "comprimento" | "unidade"; -}[]; - -/** - * Valida se uma string é um UUID válido (qualquer versão). - * - * @param valor - A string que será validada. - * @returns booleano indicando se é um UUID válido. - */ -declare const erUuid: RegExp; -declare const validarUuid: (uuid: string | number | undefined | null) => boolean; -/** - * Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace). - * - * - Usa o algoritmo MD5 (RFC 4122). - * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo. - * - Caso o grupo não seja informado, usa o UUID "nil" como namespace. - * - * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto). - * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs. - * @returns UUID v3 (determinístico) - */ -declare const uuidV3: (chave: any, grupo?: any) => string; -/** - * Gera um UUID v4 (aleatório, não determinístico). - * - * - Usado quando unicidade é necessária, mas não se exige que seja previsível. - */ -declare const uuidV4: typeof v4; -/** - * @deprecated Esta variável será descontinuada em versões futuras. - * Use a função `uuidV4()` diretamente. - */ -declare const uuid: typeof v4; - -declare const esperar: (ms: number) => Promise; -/** - * Usado para retronat o no de uma variável, deve ser usado dentro de um objeto - * const nomex = {a: 1, b: 2} - * nomeVariavel({nomex}) // retorna "nomex" - * @param v - * @returns - */ -declare const nomeVariavel: (v: { - [key: string]: any; -}) => string; - -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; -export type { TipoLoggerSessao, interfaceConsulta, tipoFiltro, tipoLogger, tipoLoggerLog, tipoLokiObjeto }; \ No newline at end of file diff --git a/dist/index.mjs b/dist/index.mjs deleted file mode 100644 index 5adb137..0000000 --- a/dist/index.mjs +++ /dev/null @@ -1,548 +0,0 @@ -import z from 'zod'; -import dayjs from 'dayjs'; -import duration from 'dayjs/plugin/duration.js'; -import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'; -import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'; -import minMax from 'dayjs/plugin/minMax.js'; -import relativeTime from 'dayjs/plugin/relativeTime.js'; -import timezone from 'dayjs/plugin/timezone.js'; -import utc from 'dayjs/plugin/utc.js'; -import weekOfYear from 'dayjs/plugin/weekOfYear.js'; -import 'dayjs/locale/pt-br.js'; -import crossFetch from 'cross-fetch'; -import { v4, v3, NIL } from 'uuid'; - -const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); -const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`; - -const _cache = {}; -globalThis.cacheMemoria_cache = _cache; -const cacheM = (chave, valor, validadeSeg) => { - const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave)); - const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3; - if (valor !== void 0) { - _cache[txChave] = { - valor, - validade - }; - } - const busca = _cache[txChave]; - if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) { - return void 0; - } - return busca?.valor; -}; -const verCacheM = () => _cache; -const cacheMemoria = cacheM; -const cacheMFixo = (chave) => (valor) => cacheM(chave, valor); - -const uuid_null = "00000000-0000-0000-0000-000000000000"; -var camposComuns = /* @__PURE__ */ ((camposComuns2) => { - camposComuns2["codigo"] = "codigo"; - camposComuns2["excluido"] = "excluido"; - camposComuns2["data_hora_criacao"] = "data_hora_criacao"; - camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao"; - camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao"; - camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao"; - camposComuns2["versao"] = "versao"; - return camposComuns2; -})(camposComuns || {}); -var tx = /* @__PURE__ */ ((tx2) => { - tx2["token"] = "token"; - return tx2; -})(tx || {}); -var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => { - tipoUsuarioResiduos2["Usuario"] = "usuario"; - tipoUsuarioResiduos2["Fornecedor"] = "fornecedor"; - return tipoUsuarioResiduos2; -})(tipoUsuarioResiduos || {}); - -var operadores = /* @__PURE__ */ ((operadores2) => { - operadores2["="] = "="; - operadores2["!="] = "!="; - operadores2[">"] = ">"; - operadores2[">="] = ">="; - operadores2["<"] = "<"; - operadores2["<="] = "<="; - operadores2["like"] = "like"; - operadores2["in"] = "in"; - return operadores2; -})(operadores || {}); -const zOperadores = z.enum([ - "=", - "!=", - ">", - ">=", - "<", - "<=", - "like", - "in" -]); -const zFiltro = z.object({ - coluna: z.string(), - valor: z.any(), - operador: zOperadores, - ou: z.boolean().optional() -}); - -dayjs.locale("pt-br"); -dayjs.extend(utc); -dayjs.extend(timezone); -dayjs.extend(weekOfYear); -dayjs.extend(isSameOrBefore); -dayjs.extend(isSameOrAfter); -dayjs.extend(minMax); -dayjs.extend(relativeTime); -dayjs.extend(duration); -const dayjsbr = dayjs; - -const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net"; - -const extensoes = [ - { - 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" - } -]; -const tipoArquivo = (nomeArquivo) => { - const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop(); - const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo); - return extensao?.tipo || "outros"; -}; - -const graficos_pilao = { - Condicionantes: { - grafico: "condicionantes-criadas", - titulo: "Condicionantes Criadas" - }, - Licen\u00E7as: { - grafico: "licencas-criadas", - titulo: "Licen\xE7as Criadas" - } -}; - -const localValor = (chave_, valor) => { - const localStorage = globalThis.localStorage; - if (typeof localStorage == "undefined") return null; - const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_)); - try { - if (valor !== void 0) { - localStorage.setItem(chave, JSON.stringify(valor)); - } - const v2 = localStorage.getItem(chave); - if (v2 === null) return null; - try { - return JSON.parse(v2); - } catch { - return v2; - } - } catch { - return null; - } -}; - -const esperar = (ms) => new Promise( - (resolve) => setTimeout(() => resolve(true), ms) -); -const nomeVariavel = (v) => Object.keys(v).join("/"); - -const LOKI_BASE_URL = "https://log.idz.one"; -const LOKI_ENDPOINT = "/loki/api/v1/push"; -const postLogger = async ({ - objeto -}) => { - 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 = ""; -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 = [`${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 = { - 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; -}; - -const paraObjetoRegistroPg = (entrada) => { - try { - return Object.fromEntries( - Object.entries(entrada).map(([k, v]) => [ - k, - v === void 0 || v == null ? v : typeof v == "string" || typeof v == "number" || typeof v == "boolean" ? v : JSON.stringify(v, null, 2) - ]) - ); - } catch (error) { - throw new Error( - `Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${error.message} ${error.stack}` - ); - } -}; -const pgObjeto = paraObjetoRegistroPg; -const objetoPg = paraObjetoRegistroPg; - -const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)"; - -const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)"; - -const texto_busca = (...texto) => texto.map( - (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase() -).join(" "); - -class TipagemRotas { - _partesCaminho = []; - _acaoIr; - rotulo; - /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial - ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") - */ - constructor({ - caminho, - acaoIr, - rotulo - }) { - this._acaoIr = acaoIr; - this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).filter(Boolean).map((a) => String(a)).flatMap((a) => a.split("/")).filter(Boolean); - this.rotulo = rotulo; - } - /** Retorna o caminho completo da rota - ** console.log(mCaminho.caminho) - ** "/caminho" - */ - get caminho() { - const ret = `/${this._partesCaminho.join("/")}`; - return ret; - } - /** Define o caminho completo da rota - ** mCaminho.caminho = "/novoCaminho" - ** console.log(mCaminho.caminho) - ** "/novoCaminho" - ** */ - set caminho(caminhoParcial) { - this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte); - } - /** Retorna o caminho completo da rota com a query - ** console.log(mCaminho.resolve({q:"query"})) - ** "http://localhost:3000/caminho?q=query" - */ - endereco(query, usarComoHash) { - const url = new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - url.pathname = this.caminho; - url.search = ""; - const queryKeys = Object.entries(query); - for (const [key, value] of queryKeys) { - url.searchParams.set(String(key), JSON.stringify(value)); - } - url.hash = ""; - if (usarComoHash) { - url.hash = `#${url.search}`; - url.search = ""; - } - return url.href; - } - /** Vai para a url - ** mCaminho.ir({q:"query"}) - ** window.location.href = "http://localhost:3000/caminho?q=query" - */ - ir(query) { - if (this._acaoIr) { - this._acaoIr(this.endereco({ ...query })); - } else { - if (typeof window != "undefined") { - window.location.href = this.endereco({ ...query }); - } - } - } - /** Retorna os parametros da url - ** console.log(mCaminho.parametros()) - ** {q:"query"} - */ - parametros(urlEntrada) { - const url = urlEntrada ? new URL(urlEntrada) : new URL( - typeof window !== "undefined" ? window.location.href : "http://localhost" - ); - const query = url.searchParams; - let queryObj = Object.fromEntries(query.entries()); - const hash = url.hash; - if (hash) { - const hashObj = Object.fromEntries( - new URLSearchParams(hash.slice(1)).entries() - ); - queryObj = { ...queryObj, ...hashObj }; - } - for (const chave in queryObj) { - try { - queryObj[chave] = JSON.parse(queryObj[chave]); - } catch { - console.log(`[${chave}|${queryObj[chave]}] n\xE3o \xE9 um json v\xE1lido.`); - } - } - return queryObj; - } -} - -var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => { - siglas_unidades_medida2["UN"] = "UN"; - siglas_unidades_medida2["KG"] = "KG"; - siglas_unidades_medida2["TON"] = "TON"; - siglas_unidades_medida2["g"] = "g"; - siglas_unidades_medida2["M\xB3"] = "M\xB3"; - siglas_unidades_medida2["Lt"] = "Lt"; - return siglas_unidades_medida2; -})(siglas_unidades_medida || {}); -const unidades_medida = [ - { - sigla_unidade: "KG", - nome: "Quilograma", - sigla_normalizada: "KG", - normalizar: (valor) => valor, - tipo: "massa" - }, - { - sigla_unidade: "g", - nome: "Grama", - sigla_normalizada: "KG", - normalizar: (valor) => valor / 1e3, - tipo: "massa" - }, - { - sigla_unidade: "TON", - nome: "Tonelada", - sigla_normalizada: "KG", - normalizar: (valor) => valor * 1e3, - tipo: "massa" - }, - { - sigla_unidade: "Lt", - nome: "Litro", - sigla_normalizada: "Lt", - normalizar: (valor) => valor, - tipo: "volume" - }, - { - sigla_unidade: "M\xB3", - nome: "Metro C\xFAbico", - sigla_normalizada: "Lt", - normalizar: (valor) => valor * 1e3, - tipo: "volume" - }, - { - sigla_unidade: "UN", - nome: "Unidade", - sigla_normalizada: "UN", - normalizar: (valor) => valor, - tipo: "unidade" - } -]; - -const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; -const validarUuid = (uuid2) => { - const retorno = erUuid.test(String(uuid2 || "")); - return retorno; -}; -const uuidV3 = (chave, grupo) => { - return v3( - // Converte a chave para string (de forma segura) - typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave), - // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL - grupo ? uuidV3(grupo) : NIL - ); -}; -const uuidV4 = v4; -const uuid = uuidV4; - -export { TipagemRotas, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, defineCwd, erUuid, esperar, extensoes, graficos_pilao, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; diff --git a/dist/situacoes/index.d.ts b/dist/situacoes/index.d.ts deleted file mode 100644 index 195b8f6..0000000 --- a/dist/situacoes/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./situacoes"; diff --git a/dist/situacoes/index.js b/dist/situacoes/index.js deleted file mode 100644 index fc8a170..0000000 --- a/dist/situacoes/index.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./situacoes"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/situacoes/index.js.map b/dist/situacoes/index.js.map deleted file mode 100644 index bfc8eb5..0000000 --- a/dist/situacoes/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/situacoes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"} \ No newline at end of file diff --git a/dist/situacoes/situacoes.d.ts b/dist/situacoes/situacoes.d.ts deleted file mode 100644 index d27e3c7..0000000 --- a/dist/situacoes/situacoes.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -export declare enum tiposSituacoes { - vencida = "100_vencida", - expirado = "200_expirado", - alerta = "300_alerta", - protocoladafora = "350_protocoladafora", - protocolada = "400_protocolada", - protocoladaApenas = "430_protocolada", - protocolada_alteracao = "450_protocolada", - prazo = "500_prazo", - emitida = "515_emitida", - valida = "518_valida", - novo = "520_novo", - recebido = "521_recebido", - em_andamento = "530_em_andamento", - aguardando = "530_aguardando", - aguardandoresposta = "540_aguardandoresposta", - suspensaotemporaria = "540_suspensaotemporaria", - cancelada = "550_cancelada", - execucao = "560_execucao", - pendente = "570_pendente", - executadafora = "600_executadafora", - executada = "700_executada", - naoexecutada = "701_naoexecutada", - concluida = "730_concluida", - respondido_negado = "740_respondido_negado", - respondido_aceito = "741_respondido_aceito", - atendidoparcial = "742_atendidoparcial", - naoatendido = "743_naoatendido", - atendido = "744_atendido", - renovada = "760_renovada", - finalizada = "800_finalizada", - emitirnota = "101_emitirnota", - faturaatrasada = "301_faturaatrasada", - pagarfatura = "302_pagarfatura", - aguardandoconfirmacao = "531_aguardandoconfirmacao", - agendado = "701_agendado", - faturapaga = "801_faturapaga", - excluida = "999_excluida", - requerida = "401_requerida", - vigente = "516_vigente", - emrenovacao = "402_emrenovacao", - arquivada = "801_arquivada", - aguardando_sincronizacao = "999_aguardando_sincronizacao", - nao_conforme = "710_nao_conforme", - conforme = "720_conforme", - nao_aplicavel = "730_nao_aplicavel", - parcial = "715_parcial" -} -export declare const corSituacoes: { - [K in keyof typeof tiposSituacoes]?: string; -}; diff --git a/dist/situacoes/situacoes.js b/dist/situacoes/situacoes.js deleted file mode 100644 index 5027507..0000000 --- a/dist/situacoes/situacoes.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.corSituacoes = exports.tiposSituacoes = void 0; -var tiposSituacoes; -(function (tiposSituacoes) { - tiposSituacoes["vencida"] = "100_vencida"; - tiposSituacoes["expirado"] = "200_expirado"; - tiposSituacoes["alerta"] = "300_alerta"; - tiposSituacoes["protocoladafora"] = "350_protocoladafora"; - tiposSituacoes["protocolada"] = "400_protocolada"; - tiposSituacoes["protocoladaApenas"] = "430_protocolada"; - tiposSituacoes["protocolada_alteracao"] = "450_protocolada"; - tiposSituacoes["prazo"] = "500_prazo"; - tiposSituacoes["emitida"] = "515_emitida"; - tiposSituacoes["valida"] = "518_valida"; - tiposSituacoes["novo"] = "520_novo"; - tiposSituacoes["recebido"] = "521_recebido"; - tiposSituacoes["em_andamento"] = "530_em_andamento"; - tiposSituacoes["aguardando"] = "530_aguardando"; - tiposSituacoes["aguardandoresposta"] = "540_aguardandoresposta"; - tiposSituacoes["suspensaotemporaria"] = "540_suspensaotemporaria"; - tiposSituacoes["cancelada"] = "550_cancelada"; - tiposSituacoes["execucao"] = "560_execucao"; - tiposSituacoes["pendente"] = "570_pendente"; - tiposSituacoes["executadafora"] = "600_executadafora"; - tiposSituacoes["executada"] = "700_executada"; - tiposSituacoes["naoexecutada"] = "701_naoexecutada"; - tiposSituacoes["concluida"] = "730_concluida"; - tiposSituacoes["respondido_negado"] = "740_respondido_negado"; - tiposSituacoes["respondido_aceito"] = "741_respondido_aceito"; - tiposSituacoes["atendidoparcial"] = "742_atendidoparcial"; - tiposSituacoes["naoatendido"] = "743_naoatendido"; - tiposSituacoes["atendido"] = "744_atendido"; - tiposSituacoes["renovada"] = "760_renovada"; - tiposSituacoes["finalizada"] = "800_finalizada"; - tiposSituacoes["emitirnota"] = "101_emitirnota"; - tiposSituacoes["faturaatrasada"] = "301_faturaatrasada"; - tiposSituacoes["pagarfatura"] = "302_pagarfatura"; - tiposSituacoes["aguardandoconfirmacao"] = "531_aguardandoconfirmacao"; - tiposSituacoes["agendado"] = "701_agendado"; - tiposSituacoes["faturapaga"] = "801_faturapaga"; - tiposSituacoes["excluida"] = "999_excluida"; - // situacoes outorgas - // Requerido - // Vigente - // Em renovação - // Arquivado - tiposSituacoes["requerida"] = "401_requerida"; - tiposSituacoes["vigente"] = "516_vigente"; - tiposSituacoes["emrenovacao"] = "402_emrenovacao"; - tiposSituacoes["arquivada"] = "801_arquivada"; - tiposSituacoes["aguardando_sincronizacao"] = "999_aguardando_sincronizacao"; - tiposSituacoes["nao_conforme"] = "710_nao_conforme"; - tiposSituacoes["conforme"] = "720_conforme"; - tiposSituacoes["nao_aplicavel"] = "730_nao_aplicavel"; - tiposSituacoes["parcial"] = "715_parcial"; -})(tiposSituacoes || (exports.tiposSituacoes = tiposSituacoes = {})); -exports.corSituacoes = { - pendente: "#CCC353", - nao_conforme: "#dc3545", - conforme: "#28a745", - alerta: "#FFDE59", -}; -//# sourceMappingURL=situacoes.js.map \ No newline at end of file diff --git a/dist/situacoes/situacoes.js.map b/dist/situacoes/situacoes.js.map deleted file mode 100644 index f2189b2..0000000 --- a/dist/situacoes/situacoes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"situacoes.js","sourceRoot":"","sources":["../../src/situacoes/situacoes.ts"],"names":[],"mappings":";;;AAAA,IAAY,cA4DX;AA5DD,WAAY,cAAc;IACxB,yCAAuB,CAAA;IACvB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;IAErB,yDAAuC,CAAA;IACvC,iDAA+B,CAAA;IAC/B,uDAAqC,CAAA;IACrC,2DAAyC,CAAA;IAEzC,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,mDAAiC,CAAA;IAEjC,+CAA6B,CAAA;IAC7B,+DAA6C,CAAA;IAC7C,iEAA+C,CAAA;IAC/C,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;IACzB,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;IACnC,6CAA2B,CAAA;IAC3B,mDAAiC,CAAA;IACjC,6CAA2B,CAAA;IAC3B,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAE3C,yDAAuC,CAAA;IACvC,iDAA+B,CAAA;IAC/B,2CAAyB,CAAA;IAEzB,2CAAyB,CAAA;IACzB,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;IAC7B,uDAAqC,CAAA;IACrC,iDAA+B,CAAA;IAC/B,qEAAmD,CAAA;IACnD,2CAAyB,CAAA;IACzB,+CAA6B,CAAA;IAC7B,2CAAyB,CAAA;IAEzB,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,eAAe;IACf,YAAY;IAEZ,6CAA2B,CAAA;IAC3B,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,6CAA2B,CAAA;IAC3B,2EAAyD,CAAA;IAEzD,mDAAiC,CAAA;IACjC,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;IACnC,yCAAuB,CAAA;AACzB,CAAC,EA5DW,cAAc,8BAAd,cAAc,QA4DzB;AAEY,QAAA,YAAY,GAAoD;IAC3E,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;CAClB,CAAA"} \ No newline at end of file diff --git a/package.json b/package.json index fc8925f..76adf0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.280.0", + "version": "0.281.0", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 45afe69bb0b58ddf40e38914b85a129e0611ecbe..65cd8c415724c3144d0c50186e963d71c0bca395 100644 GIT binary patch literal 26624 zcmX_{WmMf<7jAKPch?qom*Vcl-HR0|4hMI4hvF1>=iu({P~7d{c5dJA-f{CI$)6;9 zjGd9a)-z|wqY)tf+n~S~-TJP?{4Ff2Gw-*+AHI%TNiCU8;q? ziIttF@X?4&OiY{j0ijN@6>nK_Ivb#5w}+69+6^ufuEYA7TS?$arLxYR`Z-$Q>H87fr=^_y{*IeKenCR6a`*uNEd5ES+b^3m z+>=ctSdADvX0luVw=pALE?-F4YiM)vc6BzMAf%qJTh)R(O++}F;$B2yGpGXr{zpXg zhx7QpcLzO}#aLGeLB)K|yreYl!G1=WP&WZ*S;W$z`LQ`!S+UAw$}n}>dI(&g)T_r> zlhkO!$RJFAL|Du-rgRGer4;PJX}}X`dyYGhDg;4?~!?AVN?uo{(QyR7Nel8b}bb44x*^`)sL}FUgrJ0JM8#+`lB z(IRs6f)0tR-za)tGeWx-GL>Tb0%+sg(_tqe`slevqpX?`e`0ij5Y-+TY-UdF%Sya6 zbgAp=neR-rD80mxqp-}jmHRYUC34G}7hJqjibLQey!+LaUkBTswzfY$;CH|`HzWCE z!v1&nYvg(4U7jx>a`21srv={_-;KrsTT@6<2>}*mtTO-juSqDtFH3LMxYJPRSQBNr z-a<9+b?PLv^?hQF#+-yWB`qS#k>6g&)1)rhLZzn_*bAfkzikseip>)NC!gKhi57<<%-NXM}m$?Eg^w@ z4}oJ<{upGWRp;6Zm;WMLfVrt5V9K+|6n`6ktrkyOr?!156?N~6&LC&}%Sqe!F%ptf zgNtLd2IYK7u8>K{ls$ojqJDIlO1PgY-RI&E6z(HL0*a8Tc-ik;ppP>-LuaL7eEdoo zg_U&w%S&y}W`_<)j*{2y+apSlu;GAJ&*_q1I@!dO(Qfoi$;o`zsot?sJhAL?@I36@ zo5=OI2mUpYpuX@G&61f!4j1k-GV7~I0;~V@qAG@2zD1-0C~Z`?B8T03WenNlJWWUIG~1@rrriYT5Ffa+f^dEL7Tv;dYBFpt2wT{9@Z`r)$Vvvm=i_PV1Ee!F`$ z7NMM8`uu?-|Aaguw6<@GM;nT!9n$xj@M`|aF=lfCI%c}}^3z$s9DQ5}X?fe)3oaO(%KP(I>R{7%{YI_D_7s^r|PDaG?^p43Z zMyd|aCECvOn|rJ%}z8Q z<-(04iF?oaqe6R{$4s74iDp7$0dN2^CZp9&m{)QC@Jamyw)Yq@+oUl%uP8jwD&e$u)<1%8+}bu}n4U1Buc%ETarF_hpU1GT>PI%sc`&OP z;&KO_=EEJJUjC@4Ds4}V#8o`WZN~I^(bx;#qsm1mxMvHI>?N_{{ldc*Rr@OF?8R4F z0oa50_lDGE?>A4%gOdA3m4`(XC{00t`T@}dpOvJMm4H1=wc4Smlfw~ToHP5aT5O)_ zwg~h0fuMJPkXE0>AwrHB5v>GS_~1S1Q3{V@2J}IEI}KB_Jp;@qP7F#ssx4kI+<}3* zZA?R&WcFWzP9ShU9AQ}@RAX!t=HrFG8%D{X?fr82H9mQvBid}>^05) zFFtE&>hbu*@);TBBj#z>n9&#spO?_0vitAS;{Iln3wr9zHhr;$ED22ECoRFPo5_fe z=w#XKKFKfaoUyH&oJ`qnw9b_FMM%by_*tEJ?l$+Kds{Mooj9P>nAbm)S2YnG8yM6Y zTMn`h)e)~Pl+vaDc3QhYD=Iv|(w<-Y+pU5=c`QsTlAdq{Y0zqtos#sc-j-lP=RTJ; zSqp+D7MGwV!e{qa@aT-wA^A&W{~oI-hn|d-e<3vYF>M;Q#^yeZuB4BW=3c{4(+v{| z+97d;jT@z`=A4hWE<2T-qG!KXuZ@Ks8u`Gh6!gLmzh!2v{fJ7GdSEW9rXl$0WT^6B zff1~I2F@nls{Zo{Y-#Tn0vn%!6+QqJVAcn4$tT#O9K8QUQ00YH3TcWwSlNu5?%){8 z+b2?6*LI|wu9=kDZOD*z)C?(kaFgrOIU)AFyc!`_n#bQoOyZHNhd1QYAGa3k;SdFA zEJP}0-6>1FP%5d^C{lv&FV*-5{dHm+=nsW?YR{U zME3oa^X1c@L~A!zjS#_ZN5Fw^(_$7o-#jq9= zAypXtJ8lv@gF=kYZT4jT&#i3*IOc-Y6_=^>d7-d-#2nb@xW4HHGIr_DSq!|x1pRmd ze_0u(6w}}29JtGH>g7K>`}dYSn;4?C&3Up0g8hV&otxOuDICn4vEuM8A&ZrmrdP-M zg%VmK<<8LY9r24D%#sxGYT_+8UbnmmxEgK^dl<4oT04houKS*;P+pr;-|$MhCL`iT z0&ceU3CN2lQ53_sd zLcxDE-7U|MrkoBw2(~~-*2;(o_EHp;8B21WEKkqjNDB)L24rve=J?xW4!_3?nP17c z@&n?6V$IX)7^Lpl82ot97eGTu84aK&VYKp{$uJ-C?Y$S1$)Iu0*vpTM-C8Rz zBbAz=s8V(nqXjFYccQLsi=HJz)OT$5uD*F8x#Fu{LSn+ zredlOmuYE<7#Ycc%doHg4_3lZEZIQI`XchzMC+_CKa>{a8I6OJi8eKH?sT#eg99wqfK%uOy{yGzCHF{VrBH`4%6^oQbo6?un4`U9s$}LG2t0Wnys+pD^+5yk zE+~_5QZCiszjO(LZ0a3k8zIWa4My{d)dd!)cP!^vb;}xoO2l^v6ze6f?a>Fv32lR~ zjb}KhsXznp(ntIRwy2!0?1ukAJt$rqvPK6isL%ZdjJ<58{akSQ0Jr^D!E7JA5;uNi z^@QSSBL-U@g<1)fv5wQuZ~mD0LLaO*i+$?cT+D0IrKOmN`)fCfI9rbcnF~S774_EL zlx)ALkxxt_%Y`m~VR6ejNAGjO;c4gP6XF?0!TUExW8{QqSVF!6!BY}AhVqXg$r z3y7nocjJn)Kdc3y#1kOelKD9%9wZV6-$nlM6RlnAHJp~UsWN`|_Z3wSL-f4dYLFhIEKrBR(?UYVo7IR8|*?-kMB5cXqW5`v`#32ueZ65CKtVJe$`o zdrfO(`P#DRhMW|RQCQ?%`$_(W$UGU)I98(mnb31UCZ9iVmzX-%K~}3W5L@pOR6SHt z(TJy(g>zoNZt$yn^bALfS~XckA|wZ|2D3;Bwwcc_VTCF?+zC2UgzbFpu+Qc4`IW6A zIRa7@x%SuPx#P_Fo2Y%JN(XWm6d2gpqdNlF(pv|!J^?1)b`C#56FcC&5Wef}RvgAF zANCV#$X`@H3K4X7^I8Ylfji7P2M{OFp)N)(bQ0siDI;z$PEy=A{=(AY0~2Uk$}m4O z5()0}Oe@a9c&|eJGB+UBL^1ptpw>loNTL7~bd-HCrmA6EQEN(rsWgJ`*YE{xd*aLK) z?225ar>C117!_DiMFk18jsde)bkXw}-ivgYwZbck<=27X{fsBnNvgYC$gMGaF0iM6 z?Xnf)OrFQv;YR(^GDer@(c7B{&DHZ*9Ji>95qCEIg8);JS~-Egxx#B9we-fF{!nBq z-f7U|(Nr-`NeX&=k*2}2=^;LqyBHCri+G1O3h+G?@YNHjuFUsI&1M^c34S_2e-9uv zkgVCW#->&XuiPQnOR2fVu@{(_>9x?W<9aAk6^R^AYctEW(5A~;QWkmV0e zU^uvsuv_&y1?OQ_6o?PQUFhPJBK#5{p3jtUao5gp4X$k?&&2vV=sY8|&=C1IBB)6# z-@V`qx6QyA1(LCke+;#aqeve4fbt|0qE%lG2`6tfHlT3FV5}ZZWIz^307_kqay*fd zEwdt3v`&{f@clbuCTh9FD0ZMK*g2A8Z?NysU=+jRF2Tz!ylL0K zv^OB_=bH<-eG|a)ln)4hzBWtEbBB7ru7UG;QDXG99deh&J{7VE1S z_4OMbhx8mQqf`A>2K|`Hs7d;A-PrJnR*d6nzBUT}FNzzuO6d|;5%1T9fj*BXv`2W> zd{HP-`7&DpWp4*nJ(3-t^BaU57Tdu$l`B!7*PAh93PH~t6qucQ&npZ{tucuZcEjjKI zX?ZTSGBMUF=tiT$ql`sl(b${#m$wX-Y8|h8W=xNiM5RPm_=7wV3D{SL_kXgQ7|<2F zIVbu)nr+pYNSafmX0`vgp#dCHTX({#x|QOd_A`=GZI!c%xu%kIv ziAmgYq`PFt*eXiEt!fEhwszc56t+(>-WKs@l0Rd%M!KO3v0g$dK-ei1r;sw3VB@XQ zz${i_B0KbtK=;;q56XB^7A$I1F!vV65JCC-FqQOGh;=80@$XqTLc~8Kpew!VvFxe- zVOuLSpY@K@F7?t%Ff=15mWg?L6Rjm`Ol4eNy3l!mEjRD-(Q44;wsk(KM5njf59mO_ zT8Gdp)g#F;CB%W&5(+36Hp=_~UC!}LD)vp|$v2H3S4-S#xyq?Z@z&gmWaB4ZI>`4a zj)aW#)N4hd0GUE7@qFyJRv=C(0%Ro3LY4tR9&%a1-nX=3u9QpHfBkXfbEfUop!;5% z&0xYSW|M;`YhMj^olQz!lA&y6$3{#S^;Zq4{SY_%EVCQUBbb?nL9Y<;ZOnlz(qyA; z>uCFtd#c^VWEp#y7L=HN8h^n zR&co5(CE9nO3+;oIcvQH(UZ7y0IeGbiR8KJd+Zqo5yvA;B^-J@^i5W3x@JZL)Mjcb z3C&e~)VXyn2{_1!{95)_0!aDtw_fZ|M4HhJ9Q9p};7(z%TD+~}IQZ#R&${vo>=OxY zYy#`|fOYaV-jTKe<%rJPR^3FbhTQvmANDDNKhk#E;^s3%hOUq859n>H=D3GUvl0=e zP7j`-vY-D1ytsETvR*#=e4^Hp1kReg-AU`aM~@4)?$O+9iNS>8;|GXb5H(ot(Yl7%pYrp+yU z%Il(K@n>X;_RW_isrKaD8({P!3CQum3Sjfo_yjKVuKal28D2j6-_oV<;Zy z$2evT;D*xQ#vO$J@-Mt0D}5)V;r`=t0!3t`1ofa=G8l0$_r~+`VRG{?Vfp9_*mT5R zU`npS6)@(1pUtQng>^%!BjW1Fofd<=;8JS@)&HwZknft6trNnz<`)8nDlB@oPf-p$ zsF~4x)8QA3B*-cyvvb9{_x>zW9ZHv_+>L8K4Ko!+Dt7vJH$f8>GnL*HN)_)IFbMm7 zJ>^yV{%l|KFslOMS-)^Z(-fnA2!SKI<%NFPl0|-EN^+^@?5&mV$Y{S9d~#X8qCn52 zz73Ej!zJ^V%zBtEz**lkmL`l9Ci2qz!h8|MZ%0uZx+WZJJ>aBfbG8x64)d;W#RsKd+?u-Q z2p5ZL_QVX2%J{>t3doi=&wD@WuW#974fEl?e5@A`vDen%0upzjheFV@)I|j3Yt)5zsmutm8LV zA;<8z+9W)nbX|W@8a4y!ycFP9794T+liM!Hde{{}9W~XT@D9B$>;Ajv6n7|EZqxK4 zDUP^y(>%p3HSbX(xMdXQ%#>xQOASr~QAcpB(9uIMSpB4nP)?qZ(gbJe`5s`C;?u+0+^5?L+`Xi` z2LSvAkz0EgtBXEb z-1R#C=F+86i!e1J>%Wm#DEJ)cPD+SEVwZ%#V_WIHWTzWoDK2r^yU^;NUt4~&B?3!X z?!bKR>kYhIOP4hc0u1uNEHi-gW1#WpyLL9laV`XJLIkG?GnMEja}XZin!|2R<@Mpx zvKvV~A71-zwNEq#r!fBYclFc1_}7cS1;?Dc4q2)LOOVZE4YR>8j%1kVKSGPMDKXFKpNlx86d)0s*U zgn<`We*}D5!~6g~eEruHrJsXqO+HrW2HTOupkrqtjBMEdSl!o2xdp%-6~Mr7$;o%I z4Ln|M9FWoPI`R%5tA*r0+prw5YvDZ;f>M&6z~WSJ3^>;CuWDliS|jX}8YmZHd9m?7LMQ zQr*7(U3eM*LG%tg{7T<*7&Gr62pe8mQX>sVos{g-ralN-sHvA+Fr9{L!bXsPd&<#> zS=faEK&CrA8!l)F5;QetP$CVzEnX}xx8xrPD2Too9$KMm#uxXo~f9iHM~{R>h!+8Ga^MV{_+XtS1nyM^;)= zeHB28HZ(+@ZgKiw>)dbW`-KhZUtg_%P{WL!kMb~C4neumSPFdfU1e$M(B~ZnA887#~@qrm5jVbk-hI? zYrLu7%w3Y|w)}58=tGbO8L{wMX%~zBM)-<^7bVgcNqzF5C~U?9LUW-Zy-XN+2TbSC z{YZlFcGFn!^$O6T-~6^y{SaI70Z#7*=RVJ#yfW7yRBS(=ZK!;Vx1K%LxM_dY;U~*O z&1IY5y1#Jk;zLOwvJU2Ys=9nx=vc4IK)#bdyh zjE%r#o$ln^pR+B=_Pm$+eD4 zS8~W~q_4x&JkR(S?IE^}kB>_uixlJ z%}enl_@)x4=;}nPT#s^_%qdG)jp{sE>QQoBept^2YY4Ey{Y9f`42Seon%PY0fB%Ie zzzZXH9rxSJ zW%boO_+R{E{2#&sYuA5Pj$LD+7RV=^LwxzR0Hrx=<}H@mSc6#3*XC1c1DX7;D|OSJ z8ldi#W_Pyp_?j=}xtN0T?dWB@%oEz>(;2q-JE#@#ri6I)Q3qCn>hCr`DZI!^ESmpBT-ukvKXkw*k+5oV2|L zbCR`IqH`ij@4baPmon@qIz-)0k)Z>=VGd{BI5X|Fd8BY2Cx?@v*Wu z_&T$fo|*qIdUQ>kh?@0ZY{cwUUfASt= zU}Yh}PqOFQ@Z2Rqw_l!IA66|{;BB2<4-bcy`A1wCB}W_9QOD{dOI)&Lu(nwUSn=qv79Uc$-fl3AnaPl^6m>2%YBnV zYiSP`pcc&8j=srb@r;{&84f2Y3+k%vtXxYC?1m#c?6A@nCK=(YysDNC*^uvrhKsMO zGq4!-OQ1KaxpvNu(NUzlJDdoA8neh9oSfPl%%^DK=`f(9=Q5=+gKU)RFMI+I|LtS- zy1T(_z&G%)YA7MGgF?H7H-Ub5GDSd@H_aYx1Axl z@>Tfb;#l;Y81-26A7}g5R4_jPOFo|tAAsZkm;r8%1YL8##iUtRDaMcA&yp4nQ`JpT z%L90`XGaGHHcnK$Rq2uzz0){kEPK%M_ZZHEQ}g)#qn>G5--uwDp|qfJlXa?dnpqfc z@=cKV#r}c(!5ke}ipgVx(`-98FSO>}SHKn3)8RrO8xjmVnyYV5yl zPR;tL6h1KRBb%0L9CpK<`i(H&a|{e`9cHuGYpL{-y&i|$Yp;1Jd@l9V&_cA3eF0?E>v|taI8dmJ~}|_(2s6= zrt#S*>A9#}Ese?aDM@&?<%$+DT5T;~!Xy7bkjTFx!zFh-cO|3y%yy?iK9{?1LAC{n z9OeV5@@~^a&Xz%Sl>9o!0I_r~;tEZ)kTR0q(u<522c6X*Bl0|md{pljRA$!ZL8y^F zW%|NK)Ih+C#L6=4y|AKBr7+xc4ys!AyJ}3f=jxx6c4Ss;gz`3kFh6(O^Nkkar23)K zB3NiJc!*u!;-oP_cjJ{Fo@s;TpqnW#G52GJ)taN{Q-uFo$70EflMlMl zyy?2CjW7*kuZ&ismiyFXhw6%Hh!T;;m`iuJ<4SjK$!nQ9q1&ds)@(05EW-9@t6GZ1 z+@GCJ$&|^%yCAViin0uS%stKjo5^LD?b?%&sG{T`FJT}*|2JOi-`95mGCBxZLZ&Em z3x)5qdNVeYh4(46g>$w)rCF1Lj%Z4+?9#|)6NK-mOI0oj@`o4E-)&$v_`dMN=;7HC zz0vEA=iLr!=Tc1u;b5^#1W#l$bJw$0g2#aQmhhfK|5}TW4<`>-^GL9>>nnLqNAE02 zZHH$NO-egrG&aAL;Pg7LVHtJ5uvg*NeMu8pzjv1#y5FeD>+SnJNmU^{y3y!bzJI>w zsy7`MN3QFAF;r3xi4%b|O4OTdD8HOa6+6rEd|A_p86QN~-Ls%W$DmYPjH09YGpSQM z$49ffnPP(BtdjYbRaKKWpZ%(jH()>sXRW1=V34j=0UL> zNwZ-{T>FD#D#RmHb6Kkf1UAITJ3Qb3qAoiqU}d+KrmHLIk|KtEaw z*z;6||K{^F+P47D`ssQ7BI0$w_bE&ZiChu?$NCJMR}EE2e{vf)A#p5Oks*yo9of)W zxo}8jA{o>!BDAUjUD_m?(BICklC(srV5svHizS~y3(Zp>7tmp z)w6^^bIa1PLg#qGU-*-SOjdnWqacmj7npB-5ucuDS0nWq7WV9LO#G&EtArzLl=Yrk zO{Mjl%>H>VqDmnx;XGpbp7@?aAI8w1p!MZtEbt55G5Gxm&ER1?kHX53@B2M8p6Jj= zUTN4ZQ}^}Akddv{W!?dis{M;W*FL^a`62Fht=~JkIax`*J5<|`cc`DS*{OhyRuob+vZL|&E*?i6y98C>9kZ9{a-oGosLxu8p z{|UJwQ*k}sdA#@iUv)%})H+6OY~TH@fAk+;8Ciip89f_w@--Yu>wG z#U{uo?##(qFl~S4x0BQkXmyKCi_T(;-e@pLCW)7@7nV_`cxF@$^W87x{5Ah4XOwF0 zBf}5Igb+YFqJ*r-+zyzVSWy%|4$^+S0RUjpxiQEiDNE%)Yh*xhWjd_TShoD+`Ai=T zmj*9{r)oJj;W8Ti&r~L2g{*`m)rN&AXgcbbZ%KoW?Uy55a*UA`;O{)1-)!FLK=g$| zLXR>`OwnEBuZWNMv<*zfqryb69H1haIr> zo)x4LLh!=J-d9OzohmY|xP}|iMgqaE-DCEjDaDA)jXQffkX)-&2i)jP4A0_8?)L3^co{rxWe7Ij z(5V6Qf@T8>=7w@{)#j&Yv`XsKop|BBqc zJ`IA}xVG_m$CrHV3>Zt@UEjZwfoGnsw*XyW+mR2meSmp)9C&eUQ^zdekW>s076#^$d>Rv8hYcU5~k`ZFE>NvLw|TRX(?v zt5*Q5Optn$Kq8T~|NZ>=`8kBHEC}{Ns4lwzyXCAt@^x&wB0H&pw)c7t1wy@5&tnYy z1o(6U<9lVYxm3~f<2mqs^IMAlid3nJfUSuZS}K2N#X6_&utn)}lHXGv?p-9Me*4t+ zXXLvb>*H;8r~F~we1dlliJewBci%0453AN$N;g;~{;AF^pj3;~#|cmv&I& z&9e-C75#hzzX8D4>aF-&9X}b#Mo!dnlFb><*dqxE#+3QIz&jv4mIobs&oVznEW9{# zcFkcSIZ5!aNH3j8+#VlZ2mjR_hrLjDJuivN40P~0LV^_t(yuC;gsfGMFUDD6M&f>2 zR;3((Cg|gmv+q;vO(?xCRgDZVLeg~Yn*;74Z zd$PtF7OOrf%|6r-sEyI;lw95vcsK|$PwN5OUAVfSDEU=slPFF;{j~_nEn~mL1z9=F z%>N)2Lw-Sw23;(51-$XB#!r;e(wPa-T!X(fHtm|ajhmftHeA~_8(hV?c2F(LS4x4b ztSD`p7;KwM$pIih?0x#y6#yc8y!%te`I$lduJavT@!a3W>=yu_D}PnWPAq`!S>lkQ zDC{`fZ{fA|llcQ^8}CZ}3SM9T-s%r-UDjO(Y>kS-sGJZ#^=xzk!MktdWS`FqMI$PC zB5wnrV0>1<=e{U-A|HjG5Z?a>QJCdO)y%6$yzXvojpB8nge5#1@ucnlBv$k5Z9mTc zDXa@;JESC8|B~nSkBrhXWt3=38@+3RWl>ZTaX@haB#NDT7j#n0>%!VJ!!A9Sr}G(o zoWhpIV@9aZ<0*vbD>Y5dy^@uyVDqa-8HBs|8x~>k!yD2M+w_MfvB>JCuZgJ{OXir0 zGXEIn=KkLd87BEDq)DtsCc(3^R!2x9s4fEzW(Y<|Pnd;QL+{Ri?&q`i$7jeJ+39A7 zWgOb68X)R~!~Om@LQ$m@4cE1fXQ=r@ct3R^3lE0ag@q(}TQr z650ve&xFM8nU8MUoKQeJVYzx~?Lns=G=J^eez zk@1~3Z#B=6e?6q0TW{Xx<}X`eGMLCuCf+mKBxB@2g@i!>i|I z0{~M^)+QRnHU;Qqva(8gD));BiiKXbfptPbvwRzoS^sN0AYjp7bkQF;=MP-;-&yb% z#a>t-JdeK}`MPXO&`WRvI3rhH^IGTpC%M&O?(W=3wCV9&%%W$$|B$$!#4D~HE}D=v zj$M;2vW&)#FH*3j)Jx0@*`JX8?^vI#V9RcVS@wA|@7?Pum7~a#%9|PE??DE~&)*T6 zq2k|j)+zMm%fJNe?V@wIyx2$^bExz&KhD^s2FYSsjZv{4_FcK;qL4%zM_5%i0Y-I!LMKLLqtA zU;N$T z9WUas1thZjiK7s$yHFP^6V%zijXwxi-bnX z@ieYtpg+g$%87T|G>(p4ZElc`Fo3+Nc3_JV*vzU)3_ zD3#bb6dqufstWqNP$Pl1#kJvd>V4Kr-vS^2L1cuR-w` zw}b;q+3O7@ehx+9M5E&4<^pDQqDjQ9_ce)xKS0=);&rZLR!+Y^HkFBt6(5B4&uEzZ zG8$%!-9vNq%{K5JFtgP$bSaD$ub;$ol5Bc){i%!CW3jEImnTaqeEt*`>K+Or2dybG zx;}++lmVRwJA5KOv{g>+PR~xOws)BFWNkh<|{ftixAj$cAo|gY& za$e-WNek}Qe(;dKUCOlzPbX;%_-~g%NSP^%U#fV;PgQlfE^wZe9rSp0aeVl75rkja0_slZ=*%@a$6&G*y=(WRk0dMA;_p~dJWS?8Bt$W|nua&QQz$P{d0}p?yQveCS_`f9fVO8~F#xVMZji znTr%_bK= z8ZIR1mqL^8`LV^QWAccF&R%-h|0CT(dM@&)EPMH(~$+<||}u!w>p;ot#%vbACOrgD7M zr{VL4w#G!KM@0tBcDF{OF1ulB|G}IlqoQL<>{gQii8^t{y4`XjZ5dv&{=z-ik#)rR zKYGA36cE8cXvIegcIg35->zRVroHhKzsM1Rtc%FdvJ+?#N$WF-B(Bca>bbMmo^-+e zpLq|gb#XoC+0Nh^LP6|0*?XIv6L$gV7t>Yt0GHRgzt_Ze|2V&&I0~vx&U{b(KdwLM zgdl}toE{A5p^T^WZsaV7`F`>`EL|q45eekA!c=-49)7jdgzmb-f|nxBMoqbAz9!Dj z!1jx##h@E*agWI1yzlMK>wKj zw+4v|Z|j0^lgn5RBA=gOU-qJ}UF;{5*i{PhczNBv;G!)C0EP-f?o#>+p-pUqx+tMe z3?cNexPk3!ga`SB-I>{@w2qGAKGCdI;=UdE4L$YkTZHAcLP}Y!&);R}6q_HXpB}9|9G2e!HbEgZQ zr{5e<3Od;gI)nF!7y1=!{v-Gq{@n|tDFb!frxC+c1hUI;dSdPHh1HTIQHjm%+oW95 zkz7o7lF)7eioUoU;&`fLwCKLkJ->;brgH_MA83D^{A2gVlbEy0ci1u&qDfozo!klJ zh3=9{QJDpeJhM=$@?B=>S{tMX`G@N0SfVcGWEG9p3HC-+7qGL;rr^ofVfR+fSqTgB z@AY=M>L{vF3ZIC`lIX0kk&o)#b)EbS-uaf9JCVUV$5oKw%ljG;S+h(5Gw$3!3LZ>B#cTDF#-y!L-0wT@0i8vo(JD5_SvKEaI^tln67I~} zY##SUArMTvrb1HwoO1cUm095`>5d@84R>39yT3f0FanVWINA7%NuD&S9*LpB z8Q5KTC$_J@^kHUm=!1eyQQve zt=Q-DwbJd@bJ*&zHn;Jx}7px@YnmJAXp1994Pg&(@DF0 z(x~EJb$R<%Q^%N?awWF!_^J$5hGVtTz?CMbMvg?`SSDZPlgtGiy${q+%SR(g@` z53V^CWX->yE2_VKzxN|IRC}9_E>n5!Pj0@BdEGVIm?2GhN@ca)@k)7|<85@(Jt80M z%Demg+jL<@=vC-?m=t}}VQndw@uq3@(W#i{j;ON2**WfA%m)CFmOA{z@#8mV>M}9p zyD^G+yR2-NC_y}$C-s1~7GKaLoUi_sTWwF!*M4N=Q!m7IdVB=psLkHgb%%BpU($p) zMDuZ{naM3xArpb}83NSPpWi&e`!qlTzj#wm&r}d{P81< zNGN2~W#is{AYl4Z78&D+@lhWWE3W;1z!ZojiMvw%=!!YH4=p-XKA~%tZ;G)!lQ;MX zeH-dT@iZ;;mj73yqrp4Ed3<9?zvdD4x78UC&Z5Hdl4sE z;!nj9czWGE^*2P0;45#H)wcDoU&Pi8gsda4ErsfV8kllwzg5^SHb0>o#=ard4W?{} zmS15EpXkQyv?7{h_C5>QK454xh#%Kr9zlioc;c6*k5A-pf7bP!8W%2` z%=vq7SSTQYQP5o7QDf+=MnZNTxsK;#P>!!oY7gg$*wW^B$+3djTaF&NHU5o9xmAvC z;X76Hf|L4|SC5gM&GmA;Exh`y*m$+uu7B6NWmuA$yTj4R-=DW$KeRpk{o4c%j(5QC z?`6DilVHmCg|qw~@ZUaOdj0*k9gx#2v-UPsuih;6l0ry{+%fOAJ zhv*(Uzufuv$m``>aL0xMIG^`UWt~*<(0yO<1kPu#9<11w`CcvQ^yz@y^@Lk{X7N)5 zdo*3_mo(k$F}4hwu*L3$Z{{liKfyP~zz*VvTVQwhJ=lX9yx!_m6n{g&Gi1V)Kz(lFgn{nY2$TOe ztk4catT*vfbf}1goekaisaWH_h%9cwBg>U^wCvP2I*2p~aE7W_!=Kc73#LBuK242_^r6e=)f_eaRbD5y-mcjN-V6L))fW+{+ zRO^7(B_sMsVKtiN2Zyd^BKxE z+i#Ao*{cI;^pAp#C$H++;gpH-5QNee9O4eqM>;hV0Ks#hoAgMMN+)z%KUku5;pb=T zKOez|8Z2KVB03r78W6f27e#1|ZVX9xkm-5ShlK_CjdEHEf-qwq8*VjZhzZ&WO(C6@ z&p8S|JE7e>5J?dJ{ z_cf~0IEN~x2QpdAm;&TW+tZVj?{Rxx^N!){VY%7*{80VxY$uA((+DkpFO$D~m(T0v zFcZ0jgU>bcO{3y*0{&#^sG>=DGCx0gw@4VG?qoDFqOk~rB@O8IVEmH z51Vo^f-j$u}91lTw(%{GK;ZH!B6O)=)~jKSeJcxZOh zd1mu&ZIFnI*$uS9Mv2WOIMF7FRd92Au~R{J(Aftb_U&>X0h&Z#7L&nHAn^BK@X7=2 z=dsc>c=g@|72}5Zu-!?XY+;l<*xKQ~wuS}X<^KdgC%@QY#YX~j=&?Y-?L1dpZ^RfG?fPN8`;rO}Z-6n&PuO{5a+Ls1pL z9!-w4EGB5M@t4vu#PNst#XKxy%JnxU5O~S!kkEK-AbHjib|kf+m$HQ zy{e0jw5lV0@oTvn%$@&pL&6)i|Jdr({eQ1*tS|3>ZscFCRVUKU5;bpu^@6Hrj!Xex zllOlC$OHH((FZDnE$>3&N(fLB3f&fsk4u@g2to7&MKe2u<9tv&dmupn2PXn?1PJ}W4$$kV(&BED-{TWf zd`Waq3l$a*NvmdHpuOw?Lx&d8ljb%r?+_kIH=#kJnzFu{+tdim~huUn`cBF0tH$^}bs zod->rFL;PI`2OE%Lk4w_!ZPbTX_f0g(i}L~|AY7GCV-V#qdSoQ5#ulebinrVb7)Q8xr zm-7=gsy(z|)hxO-d+tVSZWN_t&An4$oLlbpq~WfZkjfM2r!$D(X|RYFVY4#XY^SjX zL%B*f)ZmOo@5L7^-3pRWpdHm_*f# zqAF%lHN&U|(y;Q>-s#zd`?a`mOw;yHUw|TGV!GAk>r|9AT zJE~9g;J=-`OZ4#n9n~Xx@ZV0}A$s`#PTn7SvODa^?$E>Du+y5|tqCbAQVJ-5v%W3& z5R5sfcM}Z1SMMv;qSlMsROEWGn~Gj9ep3}RS3|ifa233(`m8FyvRIk+ z2ZM@o21DnwoClWW)eZ!E#9Zt!5Ve4E0V-UZcC>R?a>Szd{}KBx2c^epsH_6bNz>m3 zT1}NTIazhN(u8pJT9B% zyJ(^U9KBTU3Mai3SO7fk>J2!z@n*&9F6wNQXRGk*cY7p@UPt^aQcYMO$yZiutjOI@ zEzyX@LM~GP!WT7alMv3gM=Vr4Y{JI_nQmA0gV6_e5)|S^E=1leW`bZwdSm4?R4#9= z43Ln9C#n(v_`X!|!Y4slS^1C(6f;0Y@}1h`BF0-GVlmIXh-r#5nW!wW>jSUDemKrj z@d;yggy!`5G61_l>d`BffM#@hQzmYlyiuE-&D(9~)1j=mh9v}pgdSR-d?b|Jmy|)_ z@ZGEo^(|F_ttT^(p#Ly=m3#n5T|)r>Lu}a*fav3h9SxDXHvrMA%h>-&)8rDMN(_WG zzW`Mt;Tix**RLQg`~x8QW-~c`i_w~!fE=Ji)=kM*K&v>^5pjjX0E~ha10!;;0rEAu za1|h;bk_kgx58HdlGOYMh)U1l$Q6<9M4&>V`~@KC98Us5PpJD0P-z<73CL&S(uDw$ zmVFAy{v#X-V0_83fT(y0T#nHt?*c{YRO>+vE(XekKveNFAR0t-EFfsA&IaUWN;()o znzF|M*@6}C0!Y~GcA%O-xEK%#8hsClrYn0I5abOG2vo6DgdnVVAt-Sa6uK({DWUK` zfYBv?1ad>KTo3?3)hR(SO3)91m_*8+2?UptBLXpD)ZG)v^i?1xvXb)xF>MH!1!CUNJQ&ET z%zYM!^c6P-q72G)fs#@4Wl*V|vcm!;@_dH|s#oQ{1F)WIUJcY>DM(7L4RS8ID+4v2 zD*g?W{*(7~&B=jw9w@iv8qjXOcK!s%Xr*(n@*;PnX{)pP(XzsmRVV%V6-A9s;mm@V zPXlzNR&jWMLBi#Me#OBB94;K83$T)yg?xg$M3=_YO&J`~0T8h3!w=$8|C|yE$8Yt` zb%CtgBj8a115j-^JgQ%^e2)^~(LF)82Mjm-WJp~<@KZRzAF(8rmoFp+{A4)6C4@pf zg5r%w<&Y}A096k(zx$wR`0xK6>|S~@Ok(px?X*P$yOg(wS%g=<;`YIivM{&XpVrl^J$30zvynp1l7LV^&s2q0A+8=x<+$0~JrHKZkE>+Luzj%Ki_kCy)x( z9~C-LpwbSpa=#<}NfatvB_5jV9w!2q74-*x;-hNrv7#*)wh?*%9|VrJljQxM;UIhr z=;+YXR4d3aB=!=wZ@g>KF?3pRI9i=90%B<6q_+`9^D;*Y8~b6!pf

    kB9sRnw%Eb4-L)p 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 literal 37823 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 AH2?qr From 01bc1d0eecf096f8e7287deb34b55a3da33f10e5 Mon Sep 17 00:00:00 2001 From: marcio Date: Mon, 10 Nov 2025 16:35:04 -0300 Subject: [PATCH 21/36] build --- package.json | 14 +++++++------- pacote.tgz | Bin 26624 -> 26613 bytes 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 76adf0b..00f3cf3 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,15 @@ { "name": "p-comuns", - "version": "0.281.0", + "version": "0.282.0", "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist-front/index.mjs", + "module": "./dist-front/index.mjs", + "types": "./dist-front/index.d.ts", "exports": { ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "types": "./dist-front/index.d.ts", + "import": "./dist-front/index.mjs", + "require": "./dist-front/index.mjs" } }, "type": "module", diff --git a/pacote.tgz b/pacote.tgz index 65cd8c415724c3144d0c50186e963d71c0bca395..8733271e778d2181a84ba7f795501f179434c7df 100644 GIT binary patch delta 23735 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 E09b@mg#Z8m From ef34df16576e4e2c114d1d87ea2aa5effce2c74f Mon Sep 17 00:00:00 2001 From: marcio Date: Tue, 11 Nov 2025 07:52:08 -0300 Subject: [PATCH 22/36] build: agora vai --- package.json | 4 ++-- pacote.tgz | Bin 26613 -> 26612 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 00f3cf3..3ed7ef4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.282.0", + "version": "0.284.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", @@ -9,7 +9,7 @@ ".": { "types": "./dist-front/index.d.ts", "import": "./dist-front/index.mjs", - "require": "./dist-front/index.mjs" + "require": "./dist-back/index.js" } }, "type": "module", diff --git a/pacote.tgz b/pacote.tgz index 8733271e778d2181a84ba7f795501f179434c7df..cb6adf68c71486c5e4b3fc8832779396365af24e 100644 GIT binary patch delta 25439 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 From 484f2f4593902b39ed30e2bb8dbdff3a1d8390b2 Mon Sep 17 00:00:00 2001 From: marcio Date: Tue, 11 Nov 2025 07:59:27 -0300 Subject: [PATCH 23/36] up --- dist-back/consulta.js | 2 +- dist-back/dayjs.js | 18 +++++++++--------- dist-back/instalarAmbiente.js | 4 ++-- dist-back/logger.js | 2 +- dist-front/{index.d.ts => index.d.mts} | 0 package.json | 7 +++---- pacote.tgz | Bin 26612 -> 27406 bytes 7 files changed, 16 insertions(+), 17 deletions(-) rename dist-front/{index.d.ts => index.d.mts} (100%) diff --git a/dist-back/consulta.js b/dist-back/consulta.js index 7d923ff..d5cb3e3 100644 --- a/dist-back/consulta.js +++ b/dist-back/consulta.js @@ -33,7 +33,7 @@ __export(consulta_exports, { zOperadores: () => zOperadores }); module.exports = __toCommonJS(consulta_exports); -var import_zod = __toESM(require("zod"), 1); +var import_zod = __toESM(require("zod")); var operadores = /* @__PURE__ */ ((operadores2) => { operadores2["="] = "="; operadores2["!="] = "!="; diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js index 5149cd1..13f4663 100644 --- a/dist-back/dayjs.js +++ b/dist-back/dayjs.js @@ -31,15 +31,15 @@ __export(dayjs_exports, { dayjsbr: () => dayjsbr }); module.exports = __toCommonJS(dayjs_exports); -var import_dayjs = __toESM(require("dayjs"), 1); -var import_duration = __toESM(require("dayjs/plugin/duration.js"), 1); -var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js"), 1); -var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore.js"), 1); -var import_minMax = __toESM(require("dayjs/plugin/minMax.js"), 1); -var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1); -var import_timezone = __toESM(require("dayjs/plugin/timezone.js"), 1); -var import_utc = __toESM(require("dayjs/plugin/utc.js"), 1); -var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear.js"), 1); +var import_dayjs = __toESM(require("dayjs")); +var import_duration = __toESM(require("dayjs/plugin/duration.js")); +var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js")); +var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore.js")); +var import_minMax = __toESM(require("dayjs/plugin/minMax.js")); +var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js")); +var import_timezone = __toESM(require("dayjs/plugin/timezone.js")); +var import_utc = __toESM(require("dayjs/plugin/utc.js")); +var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear.js")); var import_pt_br = require("dayjs/locale/pt-br.js"); import_dayjs.default.locale("pt-br"); import_dayjs.default.extend(import_utc.default); diff --git a/dist-back/instalarAmbiente.js b/dist-back/instalarAmbiente.js index 7772b1d..d31e0a5 100644 --- a/dist-back/instalarAmbiente.js +++ b/dist-back/instalarAmbiente.js @@ -21,8 +21,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); -var import_node_fs = __toESM(require("node:fs"), 1); -var import_node_path = __toESM(require("node:path"), 1); +var import_node_fs = __toESM(require("node:fs")); +var import_node_path = __toESM(require("node:path")); const mesclar = (entrada, novo) => { const saida = { ...entrada || {} }; for (const [k, v] of Object.entries(novo)) { diff --git a/dist-back/logger.js b/dist-back/logger.js index 0283d3f..8f5983c 100644 --- a/dist-back/logger.js +++ b/dist-back/logger.js @@ -33,7 +33,7 @@ __export(logger_exports, { postLogger: () => postLogger }); module.exports = __toCommonJS(logger_exports); -var import_cross_fetch = __toESM(require("cross-fetch"), 1); +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"; diff --git a/dist-front/index.d.ts b/dist-front/index.d.mts similarity index 100% rename from dist-front/index.d.ts rename to dist-front/index.d.mts diff --git a/package.json b/package.json index 3ed7ef4..e3942f7 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,17 @@ { "name": "p-comuns", - "version": "0.284.0", + "version": "0.285.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", - "types": "./dist-front/index.d.ts", + "types": "./dist-front/index.d.mts", "exports": { ".": { - "types": "./dist-front/index.d.ts", + "types": "./dist-front/index.d.mts", "import": "./dist-front/index.mjs", "require": "./dist-back/index.js" } }, - "type": "module", "scripts": { "biome": "pnpm exec biome check --write", "check": "pnpm run biome && npx tsc --noEmit", diff --git a/pacote.tgz b/pacote.tgz index cb6adf68c71486c5e4b3fc8832779396365af24e..44addca3258298d71b928e0eb8c10bcd92162b17 100644 GIT binary patch literal 27406 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 z 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 T`6fyP3fHruL<$oC3-iAKrvn#m From 326aea91a6b906c3dd24fff3da0c93f747f2fa71 Mon Sep 17 00:00:00 2001 From: marcio Date: Tue, 11 Nov 2025 08:07:12 -0300 Subject: [PATCH 24/36] upp --- package.json | 3 ++- pacote.tgz | Bin 27406 -> 27403 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e3942f7..7aa2106 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.285.0", + "version": "0.286.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", @@ -12,6 +12,7 @@ "require": "./dist-back/index.js" } }, + "type": "commonjs", "scripts": { "biome": "pnpm exec biome check --write", "check": "pnpm run biome && npx tsc --noEmit", diff --git a/pacote.tgz b/pacote.tgz index 44addca3258298d71b928e0eb8c10bcd92162b17..a4a67a435fee32d17b7b542ae1f0e78ceb4c9e8a 100644 GIT binary patch delta 3794 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 Date: Tue, 11 Nov 2025 08:10:02 -0300 Subject: [PATCH 25/36] up --- package.json | 3 +-- pacote.tgz | Bin 27403 -> 27404 bytes 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 7aa2106..668db4b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.286.0", + "version": "0.288.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", @@ -12,7 +12,6 @@ "require": "./dist-back/index.js" } }, - "type": "commonjs", "scripts": { "biome": "pnpm exec biome check --write", "check": "pnpm run biome && npx tsc --noEmit", diff --git a/pacote.tgz b/pacote.tgz index a4a67a435fee32d17b7b542ae1f0e78ceb4c9e8a..59635f472b3ca199195eb49993c39e65b74e1fef 100644 GIT binary patch delta 15717 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 From 83f5d5353c875fb2232c7b67b03aa8ce539d21f4 Mon Sep 17 00:00:00 2001 From: marcio Date: Tue, 11 Nov 2025 08:54:51 -0300 Subject: [PATCH 26/36] build labels --- dist-back/situacoes.js | 66 +++++++++------------------------- dist-front/index.d.mts | 55 +++++------------------------ dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 27404 -> 25566 bytes src/situacoes.ts | 78 ++++++++--------------------------------- 6 files changed, 41 insertions(+), 162 deletions(-) diff --git a/dist-back/situacoes.js b/dist-back/situacoes.js index 61b5e5f..083e4e8 100644 --- a/dist-back/situacoes.js +++ b/dist-back/situacoes.js @@ -19,66 +19,32 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru var situacoes_exports = {}; __export(situacoes_exports, { corSituacoes: () => corSituacoes, + labels: () => labels, tiposSituacoes: () => tiposSituacoes }); module.exports = __toCommonJS(situacoes_exports); var tiposSituacoes = /* @__PURE__ */ ((tiposSituacoes2) => { - tiposSituacoes2["vencida"] = "100_vencida"; - tiposSituacoes2["expirado"] = "200_expirado"; - tiposSituacoes2["alerta"] = "300_alerta"; - tiposSituacoes2["protocoladafora"] = "350_protocoladafora"; - tiposSituacoes2["protocolada"] = "400_protocolada"; - tiposSituacoes2["protocoladaApenas"] = "430_protocolada"; - tiposSituacoes2["protocolada_alteracao"] = "450_protocolada"; - tiposSituacoes2["prazo"] = "500_prazo"; - tiposSituacoes2["emitida"] = "515_emitida"; - tiposSituacoes2["valida"] = "518_valida"; - tiposSituacoes2["novo"] = "520_novo"; - tiposSituacoes2["recebido"] = "521_recebido"; - tiposSituacoes2["em_andamento"] = "530_em_andamento"; - tiposSituacoes2["aguardando"] = "530_aguardando"; - tiposSituacoes2["aguardandoresposta"] = "540_aguardandoresposta"; - tiposSituacoes2["suspensaotemporaria"] = "540_suspensaotemporaria"; - tiposSituacoes2["cancelada"] = "550_cancelada"; - tiposSituacoes2["execucao"] = "560_execucao"; - tiposSituacoes2["pendente"] = "570_pendente"; - tiposSituacoes2["executadafora"] = "600_executadafora"; - tiposSituacoes2["executada"] = "700_executada"; - tiposSituacoes2["naoexecutada"] = "701_naoexecutada"; - tiposSituacoes2["concluida"] = "730_concluida"; - tiposSituacoes2["respondido_negado"] = "740_respondido_negado"; - tiposSituacoes2["respondido_aceito"] = "741_respondido_aceito"; - tiposSituacoes2["atendidoparcial"] = "742_atendidoparcial"; - tiposSituacoes2["naoatendido"] = "743_naoatendido"; - tiposSituacoes2["atendido"] = "744_atendido"; - tiposSituacoes2["renovada"] = "760_renovada"; - tiposSituacoes2["finalizada"] = "800_finalizada"; - tiposSituacoes2["emitirnota"] = "101_emitirnota"; - tiposSituacoes2["faturaatrasada"] = "301_faturaatrasada"; - tiposSituacoes2["pagarfatura"] = "302_pagarfatura"; - tiposSituacoes2["aguardandoconfirmacao"] = "531_aguardandoconfirmacao"; - tiposSituacoes2["agendado"] = "701_agendado"; - tiposSituacoes2["faturapaga"] = "801_faturapaga"; - tiposSituacoes2["excluida"] = "999_excluida"; - tiposSituacoes2["requerida"] = "401_requerida"; - tiposSituacoes2["vigente"] = "516_vigente"; - tiposSituacoes2["emrenovacao"] = "402_emrenovacao"; - tiposSituacoes2["arquivada"] = "801_arquivada"; - tiposSituacoes2["aguardando_sincronizacao"] = "999_aguardando_sincronizacao"; - tiposSituacoes2["nao_conforme"] = "710_nao_conforme"; - tiposSituacoes2["conforme"] = "720_conforme"; - tiposSituacoes2["nao_aplicavel"] = "730_nao_aplicavel"; - tiposSituacoes2["parcial"] = "715_parcial"; + tiposSituacoes2["alerta"] = "alerta"; + tiposSituacoes2["pendente"] = "pendente"; + tiposSituacoes2["nao_conforme"] = "N\xE3o Conforme"; + tiposSituacoes2["conforme"] = "Conforme"; return tiposSituacoes2; })(tiposSituacoes || {}); const corSituacoes = { - pendente: "#CCC353", - nao_conforme: "#dc3545", - conforme: "#28a745", - alerta: "#FFDE59" + pendente: "#808080", + nao_conforme: "#FF0000", + conforme: "#00FF00", + alerta: "#FFFF00" +}; +const labels = { + alerta: "Total de Condicionantes Em Alerta", + conforme: "Total de Condicionantes Atendidas Conforme", + nao_conforme: "Total de Condicionantes Atendidas N\xE3o Conforme", + pendente: "Total De Condiconantes N\xE3o Atendidas" }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { corSituacoes, + labels, tiposSituacoes }); diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts index daeea71..41d3a16 100644 --- a/dist-front/index.d.mts +++ b/dist-front/index.d.mts @@ -182,56 +182,17 @@ declare const objetoPg: (entrada: { }; declare enum tiposSituacoes { - vencida = "100_vencida", - expirado = "200_expirado", - alerta = "300_alerta", - protocoladafora = "350_protocoladafora", - protocolada = "400_protocolada", - protocoladaApenas = "430_protocolada", - protocolada_alteracao = "450_protocolada", - prazo = "500_prazo", - emitida = "515_emitida", - valida = "518_valida", - novo = "520_novo", - recebido = "521_recebido", - em_andamento = "530_em_andamento", - aguardando = "530_aguardando", - aguardandoresposta = "540_aguardandoresposta", - suspensaotemporaria = "540_suspensaotemporaria", - cancelada = "550_cancelada", - execucao = "560_execucao", - pendente = "570_pendente", - executadafora = "600_executadafora", - executada = "700_executada", - naoexecutada = "701_naoexecutada", - concluida = "730_concluida", - respondido_negado = "740_respondido_negado", - respondido_aceito = "741_respondido_aceito", - atendidoparcial = "742_atendidoparcial", - naoatendido = "743_naoatendido", - atendido = "744_atendido", - renovada = "760_renovada", - finalizada = "800_finalizada", - emitirnota = "101_emitirnota", - faturaatrasada = "301_faturaatrasada", - pagarfatura = "302_pagarfatura", - aguardandoconfirmacao = "531_aguardandoconfirmacao", - agendado = "701_agendado", - faturapaga = "801_faturapaga", - excluida = "999_excluida", - requerida = "401_requerida", - vigente = "516_vigente", - emrenovacao = "402_emrenovacao", - arquivada = "801_arquivada", - aguardando_sincronizacao = "999_aguardando_sincronizacao", - nao_conforme = "710_nao_conforme", - conforme = "720_conforme", - nao_aplicavel = "730_nao_aplicavel", - parcial = "715_parcial" + alerta = "alerta", + pendente = "pendente", + nao_conforme = "N\u00E3o Conforme", + conforme = "Conforme" } declare const corSituacoes: { [K in keyof typeof tiposSituacoes]?: string; }; +declare const labels: { + [K in keyof typeof tiposSituacoes]?: string; +}; declare const umaFuncao: () => string; @@ -363,4 +324,4 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, corSituacoes, 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, tiposSituacoes, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zOperadores }; +export { TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, corSituacoes, dayjsbr, defineCwd, erUuid, esperar, extensoes, graficos_pilao, type interfaceConsulta, labels, localValor, logger, nomeVariavel, objetoPg, operadores, paraObjetoRegistroPg, pgObjeto, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, type tipoLogger, type tipoLoggerLog, type tipoLokiObjeto, tipoUsuarioResiduos, tiposSituacoes, 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 8a8dcd9..e2dcd8c 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -var _="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),re=e=>`eli-${Array.from({length:e||8}).map(()=>_[(999*Math.random()|0)%_.length]).join("")}`;var g={};globalThis.cacheMemoria_cache=g;var v=(e,o,t)=>{let a=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),n=t&&new Date().getTime()+t*1e3;o!==void 0&&(g[a]={valor:o,validade:n});let i=g[a];if(!(i?.validade&&i.validadeg,ne=v,ie=e=>o=>v(e,o);var de="00000000-0000-0000-0000-000000000000",z=(d=>(d.codigo="codigo",d.excluido="excluido",d.data_hora_criacao="data_hora_criacao",d.data_hora_atualizacao="data_hora_atualizacao",d.codigo_usuario_criacao="codigo_usuario_criacao",d.codigo_usuario_atualizacao="codigo_usuario_atualizacao",d.versao="versao",d))(z||{}),N=(o=>(o.token="token",o))(N||{}),$=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))($||{});import c from"zod";var C=(t=>(t["="]="=",t["!="]="!=",t[">"]=">",t[">="]=">=",t["<"]="<",t["<="]="<=",t.like="like",t.in="in",t))(C||{}),M=c.enum(["=","!=",">",">=","<","<=","like","in"]),le=c.object({coluna:c.string(),valor:c.any(),operador:M,ou:c.boolean().optional()});import p from"dayjs";import P from"dayjs/plugin/duration.js";import q from"dayjs/plugin/isSameOrAfter.js";import I from"dayjs/plugin/isSameOrBefore.js";import U from"dayjs/plugin/minMax.js";import A from"dayjs/plugin/relativeTime.js";import E from"dayjs/plugin/timezone.js";import F from"dayjs/plugin/utc.js";import J from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";p.locale("pt-br");p.extend(F);p.extend(E);p.extend(J);p.extend(I);p.extend(q);p.extend(U);p.extend(A);p.extend(P);var we=p;var je="https://carro-de-boi-idz-one.b-cdn.net";var K=[{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"}],Ne=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return K.find(a=>a.ext===o)?.tipo||"outros"};var Ce={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Pe=(e,o)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let a=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(a,JSON.stringify(o));let n=t.getItem(a);if(n===null)return null;try{return JSON.parse(n)}catch{return n}}catch{return null}};import D from"cross-fetch";var Ie=e=>new Promise(o=>setTimeout(()=>o(!0),e)),u=e=>Object.keys(e).join("/");var G="https://log.idz.one",V="/loki/api/v1/push",R=async({objeto:e})=>{let o=await D(`${G}${V}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(t=>t);return o.ok?[e]:[e,`Erro ${o.status}: ${await o?.text?.()}`]},x="",Fe=e=>{x=e},Je=({app:e,eProducao:o,parametros:t})=>({inquilino:a,usuario:n,parametros:i})=>async(m,d,h)=>{let{__filename:s,detalhes:l,local:f,parametros:O}=h||{},w=`${o?"":"DEV-"}${e}`;x&&s&&(s=s.replace(x,"")),f&&(l=[`${u({local:f})}="${f}"`,...l||[]]),s&&(l=[`${u({__filename:s})}="${s}"`,...l||[]]);let L=`${Date.now()}000000`,j=l?.length?`${d} | ${l.map(T=>JSON.stringify(T)).join(" | ")}`:d,k={streams:[{stream:{app:w,inquilino:a,usuario:n,level:m,...t||{},...i||{},...O||{}},values:[[L,j]]}]};return await R({objeto:k})};var y=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}`)}},De=y,Ge=y;var B=(r=>(r.vencida="100_vencida",r.expirado="200_expirado",r.alerta="300_alerta",r.protocoladafora="350_protocoladafora",r.protocolada="400_protocolada",r.protocoladaApenas="430_protocolada",r.protocolada_alteracao="450_protocolada",r.prazo="500_prazo",r.emitida="515_emitida",r.valida="518_valida",r.novo="520_novo",r.recebido="521_recebido",r.em_andamento="530_em_andamento",r.aguardando="530_aguardando",r.aguardandoresposta="540_aguardandoresposta",r.suspensaotemporaria="540_suspensaotemporaria",r.cancelada="550_cancelada",r.execucao="560_execucao",r.pendente="570_pendente",r.executadafora="600_executadafora",r.executada="700_executada",r.naoexecutada="701_naoexecutada",r.concluida="730_concluida",r.respondido_negado="740_respondido_negado",r.respondido_aceito="741_respondido_aceito",r.atendidoparcial="742_atendidoparcial",r.naoatendido="743_naoatendido",r.atendido="744_atendido",r.renovada="760_renovada",r.finalizada="800_finalizada",r.emitirnota="101_emitirnota",r.faturaatrasada="301_faturaatrasada",r.pagarfatura="302_pagarfatura",r.aguardandoconfirmacao="531_aguardandoconfirmacao",r.agendado="701_agendado",r.faturapaga="801_faturapaga",r.excluida="999_excluida",r.requerida="401_requerida",r.vigente="516_vigente",r.emrenovacao="402_emrenovacao",r.arquivada="801_arquivada",r.aguardando_sincronizacao="999_aguardando_sincronizacao",r.nao_conforme="710_nao_conforme",r.conforme="720_conforme",r.nao_aplicavel="730_nao_aplicavel",r.parcial="715_parcial",r))(B||{}),Re={pendente:"#CCC353",nao_conforme:"#dc3545",conforme:"#28a745",alerta:"#FFDE59"};var Qe=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var He="Ol\xE1 Mundo! (vari\xE1vel)";var eo=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var b=class{constructor({caminho:o,acaoIr:t,rotulo:a}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(n=>String(n)).flatMap(n=>n.split("/")).filter(Boolean),this.rotulo=a}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let a=new URL(typeof window<"u"?window.location.href:"http://localhost");a.pathname=this.caminho,a.search="";let n=Object.entries(o);for(let[i,m]of n)a.searchParams.set(String(i),JSON.stringify(m));return a.hash="",t&&(a.hash=`#${a.search}`,a.search=""),a.href}ir(o){this._acaoIr?this._acaoIr(this.endereco({...o})):typeof window<"u"&&(window.location.href=this.endereco({...o}))}parametros(o){let t=o?new URL(o):new URL(typeof window<"u"?window.location.href:"http://localhost"),a=t.searchParams,n=Object.fromEntries(a.entries()),i=t.hash;if(i){let m=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());n={...n,...m}}for(let m in n)try{n[m]=JSON.parse(n[m])}catch{console.log(`[${m}|${n[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return n}};var Q=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(Q||{}),to=[{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 Y,v3 as H,v4 as W}from"uuid";var X=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,io=e=>X.test(String(e||"")),Z=(e,o)=>H(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),o?Z(o):Y),S=W,mo=S;export{b as TipagemRotas,re as aleatorio,v as cacheM,ie as cacheMFixo,ne as cacheMemoria,z as camposComuns,je as cdn_carro_de_boi,Re as corSituacoes,we as dayjsbr,Fe as defineCwd,X as erUuid,Ie as esperar,K as extensoes,Ce as graficos_pilao,Pe as localValor,Je as logger,u as nomeVariavel,Ge as objetoPg,C as operadores,y as paraObjetoRegistroPg,De as pgObjeto,R as postLogger,Q as siglas_unidades_medida,eo as texto_busca,Ne as tipoArquivo,$ as tipoUsuarioResiduos,B as tiposSituacoes,N as tx,Qe as umaFuncao,He as umaVariavel,to as unidades_medida,mo as uuid,Z as uuidV3,S as uuidV4,de as uuid_null,io as validarUuid,ae as verCacheM,le as zFiltro,M as zOperadores}; +var x="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),eo=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 n=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),r=t&&new Date().getTime()+t*1e3;e!==void 0&&(d[n]={valor:e,validade:r});let i=d[n];if(!(i?.validade&&i.validaded,no=y,io=o=>e=>y(o,e);var so="00000000-0000-0000-0000-000000000000",j=(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))(j||{}),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||{}),C=l.enum(["=","!=",">",">=","<","<=","like","in"]),co=l.object({coluna:l.string(),valor:l.any(),operador:C,ou:l.boolean().optional()});import m from"dayjs";import $ from"dayjs/plugin/duration.js";import F from"dayjs/plugin/isSameOrAfter.js";import M from"dayjs/plugin/isSameOrBefore.js";import A from"dayjs/plugin/minMax.js";import P from"dayjs/plugin/relativeTime.js";import I from"dayjs/plugin/timezone.js";import U from"dayjs/plugin/utc.js";import E from"dayjs/plugin/weekOfYear.js";import"dayjs/locale/pt-br.js";m.locale("pt-br");m.extend(U);m.extend(I);m.extend(E);m.extend(M);m.extend(F);m.extend(A);m.extend(P);m.extend($);var wo=m;var ko="https://carro-de-boi-idz-one.b-cdn.net";var K=[{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"}],zo=o=>{let e=String(o||"").toLocaleLowerCase().split(".").pop();return K.find(n=>n.ext===e)?.tipo||"outros"};var Co={Condicionantes:{grafico:"condicionantes-criadas",titulo:"Condicionantes Criadas"},Licen\u00E7as:{grafico:"licencas-criadas",titulo:"Licen\xE7as Criadas"}};var Fo=(o,e)=>{let t=globalThis.localStorage;if(typeof t>"u")return null;let n=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{e!==void 0&&t.setItem(n,JSON.stringify(e));let r=t.getItem(n);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};import J from"cross-fetch";var Ao=o=>new Promise(e=>setTimeout(()=>e(!0),o)),f=o=>Object.keys(o).join("/");var q="https://log.idz.one",D="/loki/api/v1/push",G=async({objeto:o})=>{let e=await J(`${q}${D}`,{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?.()}`]},g="",Eo=o=>{g=o},Ko=({app:o,eProducao:e,parametros:t})=>({inquilino:n,usuario:r,parametros:i})=>async(a,s,v)=>{let{__filename:p,detalhes:c,local:u,parametros:_}=v||{},O=`${e?"":"DEV-"}${o}`;g&&p&&(p=p.replace(g,"")),u&&(c=[`${f({local:u})}="${u}"`,...c||[]]),p&&(c=[`${f({__filename:p})}="${p}"`,...c||[]]);let w=`${Date.now()}000000`,L=c?.length?`${s} | ${c.map(T=>JSON.stringify(T)).join(" | ")}`:s,k={streams:[{stream:{app:O,inquilino:n,usuario:r,level:a,...t||{},...i||{},..._||{}},values:[[w,L]]}]};return await G({objeto:k})};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}`)}},qo=b,Do=b;var V=(r=>(r.alerta="alerta",r.pendente="pendente",r.nao_conforme="N\xE3o Conforme",r.conforme="Conforme",r))(V||{}),Vo={pendente:"#808080",nao_conforme:"#FF0000",conforme:"#00FF00",alerta:"#FFFF00"},Ro={alerta:"Total de Condicionantes Em Alerta",conforme:"Total de Condicionantes Atendidas Conforme",nao_conforme:"Total de Condicionantes Atendidas N\xE3o Conforme",pendente:"Total De Condiconantes N\xE3o Atendidas"};var Qo=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Ho="Ol\xE1 Mundo! (vari\xE1vel)";var ee=(...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:n}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(e)?e:[e]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=n}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(e){this._partesCaminho=e.split("/").filter(t=>t)}endereco(e,t){let n=new URL(typeof window<"u"?window.location.href:"http://localhost");n.pathname=this.caminho,n.search="";let r=Object.entries(e);for(let[i,a]of r)n.searchParams.set(String(i),JSON.stringify(a));return n.hash="",t&&(n.hash=`#${n.search}`,n.search=""),n.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"),n=t.searchParams,r=Object.fromEntries(n.entries()),i=t.hash;if(i){let a=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());r={...r,...a}}for(let a in r)try{r[a]=JSON.parse(r[a])}catch{console.log(`[${a}|${r[a]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var R=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(R||{}),ne=[{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 B,v3 as Q,v4 as Y}from"uuid";var H=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,se=o=>H.test(String(o||"")),W=(o,e)=>Q(typeof o=="string"?o:typeof o=="number"?String(o):JSON.stringify(o),e?W(e):B),X=Y,me=X;export{h as TipagemRotas,eo as aleatorio,y as cacheM,io as cacheMFixo,no as cacheMemoria,j as camposComuns,ko as cdn_carro_de_boi,Vo as corSituacoes,wo as dayjsbr,Eo as defineCwd,H as erUuid,Ao as esperar,K as extensoes,Co as graficos_pilao,Ro as labels,Fo as localValor,Ko as logger,f as nomeVariavel,Do as objetoPg,N as operadores,b as paraObjetoRegistroPg,qo as pgObjeto,G as postLogger,R as siglas_unidades_medida,ee as texto_busca,zo as tipoArquivo,z as tipoUsuarioResiduos,V as tiposSituacoes,S as tx,Qo as umaFuncao,Ho as umaVariavel,ne as unidades_medida,me as uuid,W as uuidV3,X as uuidV4,so as uuid_null,se as validarUuid,ro as verCacheM,co as zFiltro,C as zOperadores}; diff --git a/package.json b/package.json index 668db4b..d24f06c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.288.0", + "version": "0.289.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 59635f472b3ca199195eb49993c39e65b74e1fef..0f94ad358d95869ddd21509c815e20f534c9125a 100644 GIT binary patch literal 25566 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 literal 27404 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