diff --git a/dist-back/index.js b/dist-back/index.js index 0ee57a4..dcbd832 100644 --- a/dist-back/index.js +++ b/dist-back/index.js @@ -35,6 +35,7 @@ __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); +__reExport(index_exports, require("./zDocumento"), module.exports); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { ...require("./aleatorio"), @@ -56,5 +57,6 @@ __reExport(index_exports, require("./variaveisComuns"), module.exports); ...require("./tipagemRotas"), ...require("./unidades_medida"), ...require("./uuid"), - ...require("./variaveisComuns") + ...require("./variaveisComuns"), + ...require("./zDocumento") }); diff --git a/dist-back/zDocumento.js b/dist-back/zDocumento.js new file mode 100644 index 0000000..2198ff0 --- /dev/null +++ b/dist-back/zDocumento.js @@ -0,0 +1,48 @@ +"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 zDocumento_exports = {}; +__export(zDocumento_exports, { + zDocCnpj: () => zDocCnpj, + zDocCpf: () => zDocCpf, + zDocumento: () => zDocumento +}); +module.exports = __toCommonJS(zDocumento_exports); +var import_zod = __toESM(require("zod")); +const regexCnpjNumerico = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/; +const regexCnpjAlfanumerico = /^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}-\d{2}$/i; +const yyyymm = Number((/* @__PURE__ */ new Date()).toISOString().slice(0, 7).replace("-", "")); +const zDocCnpj = import_zod.default.string().regex(yyyymm < 202407 ? regexCnpjNumerico : regexCnpjAlfanumerico).describe("Documento (CNPJ) no formato XX.XXX.XXX/XXXX-XX"); +const zDocCpf = import_zod.default.string().regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/).describe("Documento (CPF) no formato XXX.XXX.XXX-XX"); +const zDocumento = zDocCpf.or(zDocCnpj).describe("CPF ou CNPJ"); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + zDocCnpj, + zDocCpf, + zDocumento +}); diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts index 9fe7732..ba1c41f 100644 --- a/dist-front/index.d.mts +++ b/dist-front/index.d.mts @@ -474,4 +474,8 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { Produtos, TipagemRotas, type TipoPayloadAuditoria, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, erUuid, esperar, extensoes, iniciarFiltroDelta, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadorFiltroDeltaDetalhes, operadores, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoColunaFiltroDelta, type tipoCondicaoFiltroDelta, type tipoFiltro, type tipoFiltroDelta, type tipoFiltroDeltaColunaTipada, type tipoOperadorFiltroDelta, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zColunaFiltroDelta, zCondicaoFiltroDelta, zFiltro, zFiltroDelta, zOperadorFiltroDelta, zOperadores }; +declare const zDocCnpj: z.ZodString; +declare const zDocCpf: z.ZodString; +declare const zDocumento: z.ZodUnion<[z.ZodString, z.ZodString]>; + +export { Produtos, TipagemRotas, type TipoPayloadAuditoria, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, erUuid, esperar, extensoes, iniciarFiltroDelta, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadorFiltroDeltaDetalhes, operadores, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoColunaFiltroDelta, type tipoCondicaoFiltroDelta, type tipoFiltro, type tipoFiltroDelta, type tipoFiltroDeltaColunaTipada, type tipoOperadorFiltroDelta, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zColunaFiltroDelta, zCondicaoFiltroDelta, zDocCnpj, zDocCpf, zDocumento, zFiltro, zFiltroDelta, zOperadorFiltroDelta, zOperadores }; diff --git a/dist-front/index.mjs b/dist-front/index.mjs index d66c467..fa4a099 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -var u="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),B=o=>`eli-${Array.from({length:o||8}).map(()=>u[(999*Math.random()|0)%u.length]).join("")}`;var p={};globalThis.cacheMemoria_cache=p;var c=(o,a,r)=>{let n=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),t=r&&new Date().getTime()+r*1e3;a!==void 0&&(p[n]={valor:a,validade:t});let i=p[n];if(!(i?.validade&&i.validadep,R=c,J=o=>a=>c(o,a);var K="00000000-0000-0000-0000-000000000000",x=(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))(x||{}),v=(a=>(a.token="token",a))(v||{}),_=(r=>(r.Usuario="usuario",r.Fornecedor="fornecedor",r))(_||{});import s from"zod";var b=(n=>(n["="]="=",n["!="]="!=",n[">"]=">",n[">="]=">=",n["<"]="<",n["<="]="<=",n.like="like",n.in="in",n.isNull="isNull",n))(b||{}),h=s.enum(["=","!=",">",">=","<","<=","like","in","isNull"]),H=s.object({coluna:s.string(),valor:s.any(),operador:h,ou:s.boolean().optional()});var X="https://paiol.idz.one";var y=[{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"}],E=o=>{let a=String(o||"").toLocaleLowerCase().split(".").pop();return y.find(n=>n.ext===a)?.tipo||"outros"};import l from"zod";var O=l.enum([">","<",">=","<=","=","!=","in","like","\u2229"]),ao={">":{rotulo:"Maior que",descricao:"O valor de A deve ser maior que o valor de B"},"<":{rotulo:"Menor que",descricao:"O valor de A deve ser menor que o valor de B"},">=":{rotulo:"Maior ou igual a",descricao:"O valor de A deve ser maior ou igual ao valor de B"},"<=":{rotulo:"Menor ou igual a",descricao:"O valor de A deve ser menor ou igual ao valor de B"},"=":{rotulo:"Igual a",descricao:"O valor de A deve ser igual ao valor de B"},"!=":{rotulo:"Diferente de",descricao:"O valor de A deve ser diferente do valor de B"},in:{rotulo:"Est\xE1 em",descricao:"O valor de A deve estar presente na cole\xE7\xE3o ou lista definida em B"},like:{rotulo:"Cont\xE9m",descricao:"O valor de A deve conter o texto informado em B"},"\u2229":{rotulo:"Interse\xE7\xE3o",descricao:"A e B devem possuir pelo menos um elemento em comum"}},z=/^\{[\w:]+\}$/,T=/^\w+(\.\w+)*$/,w=l.string().regex(T,"Coluna inv\xE1lida").describe("nome da coluna ou caminho aninhado do jsonb"),F=l.object({id:l.string().describe("id da condi\xE7\xE3o do filtro").regex(z,"O id deve seguir o formato {identificador}"),coluna:w,operador:O,valor:l.any().describe("valor de compara\xE7\xE3o")}),D=o=>{let r=(o.match(/\{[\w:]+\}|\bNAO\b|\bE\b|\bOU\b|\(|\)/g)||[]).join(""),n=o.replace(/\s+/g,""),t=r.replace(/\s+/g,"");if(n!==t)return!1;let i=o.replace(/\{[\w:]+\}/g,"true").replace(/\bNAO\b/g,"!").replace(/\bE\b/g,"&&").replace(/\bOU\b/g,"||");try{return new Function(`return (${i})`)(),!0}catch{return!1}},j=l.object({condicoes:l.array(F),formula:l.string().refine(D,{message:"F\xF3rmula inv\xE1lida. Use apenas refer\xEAncias de condi\xE7\xF5es {id} ou {id:sufixo}, operadores E/OU/NAO e par\xEAnteses."})}).superRefine((o,a)=>{let r=new Set(o.condicoes.map(t=>t.id)),n=o.formula.match(/\{[\w:]+\}/g)||[];for(let t of n)r.has(t)||a.addIssue({code:"custom",path:["formula"],message:`A refer\xEAncia ${t} n\xE3o existe em condicoes.`})}),ro=()=>({criarFiltroDelta:o=>j.parse(o)});var no=(o,a)=>{let r="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof r>"u")return null;let n=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{a!==void 0&&r.setItem(n,JSON.stringify(a));let t=r.getItem(n);if(t===null)return null;try{return JSON.parse(t)}catch{return t}}catch{return null}};var f=o=>{try{return Object.fromEntries(Object.entries(o).map(([a,r])=>[a,r===void 0||r==null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?r:JSON.stringify(r,null,2)]))}catch(a){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${a.message} ${a.stack}`)}},mo=f,lo=f;var C=(o=>(o["e-licencie"]="e-licencie",o["gov.e-licencie"]="gov.e-licencie",o))(C||{});var k=(e=>(e.modelo="000_modelo",e.vencida="100_vencida",e.expirado="200_expirado",e.alerta="300_alerta",e.protocoladafora="350_protocoladafora",e.protocolada="400_protocolada",e.protocoladaApenas="430_protocolada",e.protocolada_alteracao="450_protocolada",e.prazo="500_prazo",e.emitida="515_emitida",e.valida="518_valida",e.novo="520_novo",e.recebido="521_recebido",e.em_andamento="530_em_andamento",e.aguardando="530_aguardando",e.aguardandoresposta="540_aguardandoresposta",e.suspensaotemporaria="540_suspensaotemporaria",e.cancelada="550_cancelada",e.execucao="560_execucao",e.pendente="570_pendente",e.executadafora="600_executadafora",e.executada="700_executada",e.naoexecutada="701_naoexecutada",e.concluida="730_concluida",e.respondido_negado="740_respondido_negado",e.respondido_aceito="741_respondido_aceito",e.atendidoparcial="742_atendidoparcial",e.naoatendido="743_naoatendido",e.atendido="744_atendido",e.renovada="760_renovada",e.finalizada="800_finalizada",e.emitirnota="101_emitirnota",e.faturaatrasada="301_faturaatrasada",e.pagarfatura="302_pagarfatura",e.aguardandoconfirmacao="531_aguardandoconfirmacao",e.agendado="701_agendado",e.faturapaga="801_faturapaga",e.excluida="999_excluida",e.requerida="401_requerida",e.vigente="516_vigente",e.emrenovacao="402_emrenovacao",e.arquivada="801_arquivada",e.aguardando_sincronizacao="999_aguardando_sincronizacao",e.nao_conforme="710_nao_conforme",e.conforme="720_conforme",e.nao_aplicavel="730_nao_aplicavel",e.parcial="715_parcial",e))(k||{});var co=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var go="Ol\xE1 Mundo! (vari\xE1vel)";var ho=(...o)=>o.map(a=>a==null?"":String(a).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var g=class{constructor({caminho:a,acaoIr:r,rotulo:n}){this._partesCaminho=[];this._acaoIr=r,this._partesCaminho=(Array.isArray(a)?a:[a]).filter(Boolean).map(t=>String(t)).flatMap(t=>t.split("/")).filter(Boolean),this.rotulo=n}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(a){this._partesCaminho=a.split("/").filter(r=>r)}endereco(a,r){let n=typeof globalThis<"u"&&globalThis.window||void 0,t=new URL(n?n.location.href:"http://localhost");t.pathname=this.caminho,t.search="";let i=Object.entries(a);for(let[m,d]of i)t.searchParams.set(String(m),JSON.stringify(d));return t.hash="",r&&(t.hash=`#${t.search}`,t.search=""),t.href}ir(a){if(this._acaoIr)this._acaoIr(this.endereco({...a}));else{let r=typeof globalThis<"u"&&globalThis.window||void 0;r&&(r.location.href=this.endereco({...a}))}}parametros(a){let r=a?new URL(a):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),n=r.searchParams,t=Object.fromEntries(n.entries()),i=r.hash;if(i){let m=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());t={...t,...m}}for(let m in t)try{t[m]=JSON.parse(t[m])}catch{console.log(`[${m}|${t[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return t}};var N=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(N||{}),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 A,v3 as M,v4 as q}from"uuid";var U=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Fo=o=>U.test(String(o||"")),L=(o,a)=>M(typeof o=="string"?o:typeof o=="number"?String(o):JSON.stringify(o),a?L(a):A),I=q,Do=I;var Co=o=>new Promise(a=>setTimeout(()=>a(!0),o)),ko=o=>Object.keys(o).join("/");export{C as Produtos,g as TipagemRotas,B as aleatorio,c as cacheM,J as cacheMFixo,R as cacheMemoria,x as camposComuns,U as erUuid,Co as esperar,y as extensoes,ro as iniciarFiltroDelta,X as link_paiol,no as localValor,ko as nomeVariavel,lo as objetoPg,ao as operadorFiltroDeltaDetalhes,b as operadores,f as paraObjetoRegistroPg,mo as pgObjeto,N as siglas_unidades_medida,ho as texto_busca,E as tipoArquivo,_ as tipoUsuarioResiduos,k as tiposSituacoesElicencie,v as tx,co as umaFuncao,go as umaVariavel,zo as unidades_medida,Do as uuid,L as uuidV3,I as uuidV4,K as uuid_null,Fo as validarUuid,P as verCacheM,w as zColunaFiltroDelta,F as zCondicaoFiltroDelta,H as zFiltro,j as zFiltroDelta,O as zOperadorFiltroDelta,h as zOperadores}; +var u="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),G=o=>`eli-${Array.from({length:o||8}).map(()=>u[(999*Math.random()|0)%u.length]).join("")}`;var p={};globalThis.cacheMemoria_cache=p;var c=(o,a,r)=>{let n=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),t=r&&new Date().getTime()+r*1e3;a!==void 0&&(p[n]={valor:a,validade:t});let i=p[n];if(!(i?.validade&&i.validadep,Z=c,Q=o=>a=>c(o,a);var W="00000000-0000-0000-0000-000000000000",v=(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))(v||{}),_=(a=>(a.token="token",a))(_||{}),b=(r=>(r.Usuario="usuario",r.Fornecedor="fornecedor",r))(b||{});import s from"zod";var h=(n=>(n["="]="=",n["!="]="!=",n[">"]=">",n[">="]=">=",n["<"]="<",n["<="]="<=",n.like="like",n.in="in",n.isNull="isNull",n))(h||{}),y=s.enum(["=","!=",">",">=","<","<=","like","in","isNull"]),E=s.object({coluna:s.string(),valor:s.any(),operador:y,ou:s.boolean().optional()});var eo="https://paiol.idz.one";var z=[{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"}],no=o=>{let a=String(o||"").toLocaleLowerCase().split(".").pop();return z.find(n=>n.ext===a)?.tipo||"outros"};import l from"zod";var O=l.enum([">","<",">=","<=","=","!=","in","like","\u2229"]),lo={">":{rotulo:"Maior que",descricao:"O valor de A deve ser maior que o valor de B"},"<":{rotulo:"Menor que",descricao:"O valor de A deve ser menor que o valor de B"},">=":{rotulo:"Maior ou igual a",descricao:"O valor de A deve ser maior ou igual ao valor de B"},"<=":{rotulo:"Menor ou igual a",descricao:"O valor de A deve ser menor ou igual ao valor de B"},"=":{rotulo:"Igual a",descricao:"O valor de A deve ser igual ao valor de B"},"!=":{rotulo:"Diferente de",descricao:"O valor de A deve ser diferente do valor de B"},in:{rotulo:"Est\xE1 em",descricao:"O valor de A deve estar presente na cole\xE7\xE3o ou lista definida em B"},like:{rotulo:"Cont\xE9m",descricao:"O valor de A deve conter o texto informado em B"},"\u2229":{rotulo:"Interse\xE7\xE3o",descricao:"A e B devem possuir pelo menos um elemento em comum"}},T=/^\{[\w:]+\}$/,w=/^\w+(\.\w+)*$/,F=l.string().regex(w,"Coluna inv\xE1lida").describe("nome da coluna ou caminho aninhado do jsonb"),D=l.object({id:l.string().describe("id da condi\xE7\xE3o do filtro").regex(T,"O id deve seguir o formato {identificador}"),coluna:F,operador:O,valor:l.any().describe("valor de compara\xE7\xE3o")}),C=o=>{let r=(o.match(/\{[\w:]+\}|\bNAO\b|\bE\b|\bOU\b|\(|\)/g)||[]).join(""),n=o.replace(/\s+/g,""),t=r.replace(/\s+/g,"");if(n!==t)return!1;let i=o.replace(/\{[\w:]+\}/g,"true").replace(/\bNAO\b/g,"!").replace(/\bE\b/g,"&&").replace(/\bOU\b/g,"||");try{return new Function(`return (${i})`)(),!0}catch{return!1}},j=l.object({condicoes:l.array(D),formula:l.string().refine(C,{message:"F\xF3rmula inv\xE1lida. Use apenas refer\xEAncias de condi\xE7\xF5es {id} ou {id:sufixo}, operadores E/OU/NAO e par\xEAnteses."})}).superRefine((o,a)=>{let r=new Set(o.condicoes.map(t=>t.id)),n=o.formula.match(/\{[\w:]+\}/g)||[];for(let t of n)r.has(t)||a.addIssue({code:"custom",path:["formula"],message:`A refer\xEAncia ${t} n\xE3o existe em condicoes.`})}),so=()=>({criarFiltroDelta:o=>j.parse(o)});var uo=(o,a)=>{let r="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof r>"u")return null;let n=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{a!==void 0&&r.setItem(n,JSON.stringify(a));let t=r.getItem(n);if(t===null)return null;try{return JSON.parse(t)}catch{return t}}catch{return null}};var f=o=>{try{return Object.fromEntries(Object.entries(o).map(([a,r])=>[a,r===void 0||r==null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?r:JSON.stringify(r,null,2)]))}catch(a){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${a.message} ${a.stack}`)}},fo=f,go=f;var A=(o=>(o["e-licencie"]="e-licencie",o["gov.e-licencie"]="gov.e-licencie",o))(A||{});var N=(e=>(e.modelo="000_modelo",e.vencida="100_vencida",e.expirado="200_expirado",e.alerta="300_alerta",e.protocoladafora="350_protocoladafora",e.protocolada="400_protocolada",e.protocoladaApenas="430_protocolada",e.protocolada_alteracao="450_protocolada",e.prazo="500_prazo",e.emitida="515_emitida",e.valida="518_valida",e.novo="520_novo",e.recebido="521_recebido",e.em_andamento="530_em_andamento",e.aguardando="530_aguardando",e.aguardandoresposta="540_aguardandoresposta",e.suspensaotemporaria="540_suspensaotemporaria",e.cancelada="550_cancelada",e.execucao="560_execucao",e.pendente="570_pendente",e.executadafora="600_executadafora",e.executada="700_executada",e.naoexecutada="701_naoexecutada",e.concluida="730_concluida",e.respondido_negado="740_respondido_negado",e.respondido_aceito="741_respondido_aceito",e.atendidoparcial="742_atendidoparcial",e.naoatendido="743_naoatendido",e.atendido="744_atendido",e.renovada="760_renovada",e.finalizada="800_finalizada",e.emitirnota="101_emitirnota",e.faturaatrasada="301_faturaatrasada",e.pagarfatura="302_pagarfatura",e.aguardandoconfirmacao="531_aguardandoconfirmacao",e.agendado="701_agendado",e.faturapaga="801_faturapaga",e.excluida="999_excluida",e.requerida="401_requerida",e.vigente="516_vigente",e.emrenovacao="402_emrenovacao",e.arquivada="801_arquivada",e.aguardando_sincronizacao="999_aguardando_sincronizacao",e.nao_conforme="710_nao_conforme",e.conforme="720_conforme",e.nao_aplicavel="730_nao_aplicavel",e.parcial="715_parcial",e))(N||{});var bo=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var yo="Ol\xE1 Mundo! (vari\xE1vel)";var Fo=(...o)=>o.map(a=>a==null?"":String(a).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var g=class{constructor({caminho:a,acaoIr:r,rotulo:n}){this._partesCaminho=[];this._acaoIr=r,this._partesCaminho=(Array.isArray(a)?a:[a]).filter(Boolean).map(t=>String(t)).flatMap(t=>t.split("/")).filter(Boolean),this.rotulo=n}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(a){this._partesCaminho=a.split("/").filter(r=>r)}endereco(a,r){let n=typeof globalThis<"u"&&globalThis.window||void 0,t=new URL(n?n.location.href:"http://localhost");t.pathname=this.caminho,t.search="";let i=Object.entries(a);for(let[m,d]of i)t.searchParams.set(String(m),JSON.stringify(d));return t.hash="",r&&(t.hash=`#${t.search}`,t.search=""),t.href}ir(a){if(this._acaoIr)this._acaoIr(this.endereco({...a}));else{let r=typeof globalThis<"u"&&globalThis.window||void 0;r&&(r.location.href=this.endereco({...a}))}}parametros(a){let r=a?new URL(a):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),n=r.searchParams,t=Object.fromEntries(n.entries()),i=r.hash;if(i){let m=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());t={...t,...m}}for(let m in t)try{t[m]=JSON.parse(t[m])}catch{console.log(`[${m}|${t[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return t}};var X=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(X||{}),jo=[{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 k,v3 as M,v4 as q}from"uuid";var U=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Xo=o=>U.test(String(o||"")),I=(o,a)=>M(typeof o=="string"?o:typeof o=="number"?String(o):JSON.stringify(o),a?I(a):k),L=q,ko=L;var qo=o=>new Promise(a=>setTimeout(()=>a(!0),o)),Uo=o=>Object.keys(o).join("/");import x from"zod";var $=/^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/,P=/^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}-\d{2}$/i,B=Number(new Date().toISOString().slice(0,7).replace("-","")),J=x.string().regex(B<202407?$:P).describe("Documento (CNPJ) no formato XX.XXX.XXX/XXXX-XX"),R=x.string().regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/).describe("Documento (CPF) no formato XXX.XXX.XXX-XX"),$o=R.or(J).describe("CPF ou CNPJ");export{A as Produtos,g as TipagemRotas,G as aleatorio,c as cacheM,Q as cacheMFixo,Z as cacheMemoria,v as camposComuns,U as erUuid,qo as esperar,z as extensoes,so as iniciarFiltroDelta,eo as link_paiol,uo as localValor,Uo as nomeVariavel,go as objetoPg,lo as operadorFiltroDeltaDetalhes,h as operadores,f as paraObjetoRegistroPg,fo as pgObjeto,X as siglas_unidades_medida,Fo as texto_busca,no as tipoArquivo,b as tipoUsuarioResiduos,N as tiposSituacoesElicencie,_ as tx,bo as umaFuncao,yo as umaVariavel,jo as unidades_medida,ko as uuid,I as uuidV3,L as uuidV4,W as uuid_null,Xo as validarUuid,V as verCacheM,F as zColunaFiltroDelta,D as zCondicaoFiltroDelta,J as zDocCnpj,R as zDocCpf,$o as zDocumento,E as zFiltro,j as zFiltroDelta,O as zOperadorFiltroDelta,y as zOperadores}; diff --git a/package.json b/package.json index 0646c7a..60a8153 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.342.0", + "version": "0.343.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 999707f..e77f5cf 100644 Binary files a/pacote.tgz and b/pacote.tgz differ diff --git a/src/index.ts b/src/index.ts index f55b655..51ab720 100755 --- a/src/index.ts +++ b/src/index.ts @@ -19,3 +19,4 @@ export * from "./tipagemRotas" export * from "./unidades_medida" export * from "./uuid" export * from "./variaveisComuns" +export * from "./zDocumento" diff --git a/src/zDocumento.ts b/src/zDocumento.ts new file mode 100644 index 0000000..8ce2fb7 --- /dev/null +++ b/src/zDocumento.ts @@ -0,0 +1,56 @@ +import z from "zod" + +/** + Resumo – CNPJ Alfanumérico (vigência a partir de julho de 2026) + +A Receita Federal passará a emitir CNPJs alfanuméricos para novas empresas a partir de julho de 2026. O objetivo é ampliar a quantidade de combinações disponíveis e evitar o esgotamento dos números atuais. + +O que muda? +O CNPJ continuará com 14 caracteres. +Os 12 primeiros caracteres poderão conter letras (A-Z) e números (0-9). +Os 2 dígitos verificadores finais continuarão sendo numéricos. +Exemplo ilustrativo: +Atual: 00.000.000/0001-00 +Novo: A1.B2C.3D4/EF56-78 +Quem será afetado? +Empresas já existentes não terão seus CNPJs alterados. +A mudança vale apenas para novas inscrições realizadas a partir de julho de 2026. + */ + +const regexCnpjNumerico = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/ + +/** + Como ler o novo CNPJ (estrutura) + +Tomando como exemplo um CNPJ alfanumérico fictício: + +12.ABC.345/0001-67 + +Como ler: + + 12.ABC.345 é a raiz (identificação da empresa) + 0001 é o sufixo (estabelecimento, geralmente “0001” para matriz) + 67 são os dígitos verificadores numéricos + +Pontos de atenção: + + Letras maiúsculas (não há diferenciação entre maiúscula e minúscula no sistema, mas convenção é maiúscula) + Não usar caracteres especiais: só letras de A a Z e números de 0 a 9 + Pontos, barra e hífen mantidos como antes + + */ + +const regexCnpjAlfanumerico = /^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}-\d{2}$/i +const yyyymm = Number(new Date().toISOString().slice(0, 7).replace("-", "")) + +export const zDocCnpj = z + .string() + .regex(yyyymm < 202407 ? regexCnpjNumerico : regexCnpjAlfanumerico) + .describe("Documento (CNPJ) no formato XX.XXX.XXX/XXXX-XX") + +export const zDocCpf = z + .string() + .regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/) + .describe("Documento (CPF) no formato XXX.XXX.XXX-XX") + +export const zDocumento = zDocCpf.or(zDocCnpj).describe("CPF ou CNPJ")