Compare commits

..

No commits in common. "master" and "bbun" have entirely different histories.
master ... bbun

109 changed files with 603 additions and 5449 deletions

2
.env Normal file
View file

@ -0,0 +1,2 @@
PORTA = '5020'
PREFIXO = '/estaticos'

View file

@ -1 +0,0 @@
*.tgz

1
.npmrc
View file

@ -1 +0,0 @@
enable-pre-post-scripts=true

28
.vscode/settings.json vendored
View file

@ -1,28 +0,0 @@
{
"editor.codeActionsOnSave": {
"source.organizeImports.biome": "always",
"source.fixAll.biome": "always"
},
"editor.defaultFormatter": "biomejs.biome",
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[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"
}
}

View file

@ -1,63 +1,46 @@
{
"$schema": "../node_modules/@biomejs/biome/configuration_schema.json",
"root": false,
"$schema": "https://biomejs.dev/schemas/1.7.3/schema.json",
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"correctness": {
"noUnusedVariables": "error",
"noUnusedImports": "error",
"noEmptyPattern": "off",
"useExhaustiveDependencies": "off"
},
"style": {
"noParameterAssign": "error",
"useAsConstAssertion": "error",
"useDefaultParameterLast": "error",
"useEnumInitializers": "error",
"useSelfClosingElements": "error",
"useSingleVarDeclarator": "error",
"noUnusedTemplateLiteral": "error",
"useNumberNamespace": "error",
"noInferrableTypes": "error"
},
"suspicious": {
"noDebugger": "off",
"noDoubleEquals": "off",
"noExplicitAny": "off",
"noApproximativeNumericConstant": "off",
"noAsyncPromiseExecutor": "off"
"noDebugger": "off",
"noApproximativeNumericConstant": "off"
},
"style": {
"noUselessElse": "off"
},
"complexity": {
"noUselessConstructor": "off",
"noBannedTypes": "off",
"useLiteralKeys": "off",
"useArrowFunction": "warn",
"useDateNow": "off",
"noUselessFragments":"off"
"noForEach": "off",
"useLiteralKeys": "off"
},
"correctness": {
"noEmptyPattern": "off"
},
"performance": {
"noAccumulatingSpread": "off"
},
"a11y": {
"useSemanticElements": "off"
}
}
},
"formatter": {
"enabled": true,
"indentWidth": 2,
"indentStyle": "space",
"indentWidth": 2
"enabled": true
},
"javascript": {
"formatter": {
"enabled": true,
"semicolons": "asNeeded",
"arrowParentheses": "always",
"enabled": true,
"bracketSameLine": false,
"trailingCommas": "all",
"trailingComma": "all",
"attributePosition": "multiline"
}
}

View file

@ -1,90 +1 @@
## ✅ Uso do BiomeJS para Autoformatação
Este guia mostra como configurar o [BiomeJS](https://biomejs.dev) para formatar e analisar código JavaScript/TypeScript no seu projeto.
---
### 1. Incluir o pacote de configuração comum
Certifique-se de que o pacote `p-comuns` (ou outro com a configuração compartilhada) esteja disponível no seu projeto. Ele deve conter o arquivo `Documentos/biome.json`.
pnpm up p-comuns
---
### 2. Instalar o Biome com `pnpm`
```bash
pnpm add --save-dev --save-exact @biomejs/biome@2.1.4
```
> 🎯 Use `--save-exact` para garantir consistência de versões entre ambientes.
---
### 3. Criar o arquivo de configuração na raiz do projeto
Crie um arquivo chamado `biome.json` com o seguinte conteúdo:
```json
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"extends": ["./node_modules/p-comuns/Documentos/biome.json"],
"files": {
"includes": ["src/**/*.{js,ts,jsx,tsx}"]
}
}
```
> ⚠️ Verifique o caminho correto do `extends` relativo à raiz do seu projeto. Use `./` sempre que possível para evitar erros de resolução.
---
### 4. Adicionar script no `package.json`
Inclua o comando abaixo em `"scripts"`:
```json
{
"scripts": {
"biome": "pnpm exec biome check --write",
}
}
```
Isso permite executar:
```bash
pnpm biome
```
> O comando irá **formatar e aplicar as regras de lint** nos arquivos do diretório `src/`.
---
### ✅ Dica extra: formatar todos os arquivos
Se quiser aplicar o Biome a todo o projeto (não só `src/`), altere o include:
```json
"includes": ["**/*.{js,ts,jsx,tsx}"]
```
adicionar em .vscode/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": "octref.vetur"},
"editor.codeActionsOnSave": {
"source.organizeImports.biome": "always",
"source.fixAll.biome": "always"
}
}
# comuns

View file

@ -1,7 +1,7 @@
{
"$schema": "node_modules/@biomejs/biome/configuration_schema.json",
"$schema": "https://biomejs.dev/schemas/1.7.3/schema.json",
"extends": ["Documentos/biome.json"],
"files": {
"includes": ["src/**/*.{js,ts,jsx,tsx}"]
"ignore": []
}
}

View file

@ -1,12 +0,0 @@
import { defineBuildConfig } from 'unbuild'
// pnpm exec unbuild
export default defineBuildConfig({
entries: ['src/index'],
clean: true,
declaration: true,
rollup: {
emitCJS: true,
},
})

View file

@ -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
});

View file

@ -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
});

View file

@ -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
});

View file

@ -1,71 +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";
operadores2["isNull"] = "isNull";
return operadores2;
})(operadores || {});
const zOperadores = import_zod.default.enum([
"=",
"!=",
">",
">=",
"<",
"<=",
"like",
"in",
"isNull"
]);
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
});

View file

@ -1,57 +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: () => dayjsbr
});
module.exports = __toCommonJS(dayjs_exports);
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);
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
});

View file

@ -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")
});

View file

@ -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
});

View file

@ -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
});

View file

@ -1,60 +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("./extensoes"), 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("./produtos"), 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("./local"),
...require("./logger"),
...require("./logger"),
...require("./postgres"),
...require("./produtos"),
...require("./testes-de-variaveis"),
...require("./texto_busca"),
...require("./tipagemRotas"),
...require("./tipagemRotas"),
...require("./unidades_medida"),
...require("./uuid"),
...require("./variaveisComuns")
});

View file

@ -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}`);

View file

@ -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
});

View file

@ -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
});

View file

@ -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
});

View file

@ -1,32 +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 produtos_exports = {};
__export(produtos_exports, {
Produtos: () => Produtos
});
module.exports = __toCommonJS(produtos_exports);
var Produtos = /* @__PURE__ */ ((Produtos2) => {
Produtos2["e-licencie"] = "e-licencie";
Produtos2["gov.e-licencie"] = "gov.e-licencie";
return Produtos2;
})(Produtos || {});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
Produtos
});

View file

@ -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));

View file

@ -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")
});

View file

@ -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
});

View file

@ -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
});

View file

@ -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);
});
});

View file

@ -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
});

View file

@ -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
});

View file

@ -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
});

View file

@ -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
});

View file

@ -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
});

View file

@ -1,315 +0,0 @@
import z from 'zod';
import dayjs from 'dayjs';
export { Dayjs, 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: <T>(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: <T>(chave: any, valor?: T, validadeSeg?: number) => T | undefined;
/** para uso fixo dentro de uma função, trava a chave */
declare const cacheMFixo: (chave: any) => <T>(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",
isNull = "isNull"
}
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";
isNull: "isNull";
}>;
declare const zFiltro: z.ZodObject<{
coluna: z.ZodString;
valor: z.ZodAny;
operador: z.ZodEnum<{
"=": "=";
"!=": "!=";
">": ">";
">=": ">=";
"<": "<";
"<=": "<=";
like: "like";
in: "in";
isNull: "isNull";
}>;
ou: z.ZodOptional<z.ZodBoolean>;
}, 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;
/**
* LocalStorage Tipado
* ou grava um valor no localStorage, mantendo o tipo genérico <T>.
*/
declare const localValor: <T>(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 Produtos {
"e-licencie" = "e-licencie",
"gov.e-licencie" = "gov.e-licencie"
}
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<T extends {
[q: string]: any;
}> {
_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<T>;
}
/**
* 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<true>;
/**
* 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 { Produtos, TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, dayjsbr, defineCwd, erUuid, esperar, extensoes, 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 };

File diff suppressed because one or more lines are too long

1
dist/aleatorio.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const aleatorio: (tamanho?: number) => string;

9
dist/aleatorio.js vendored Normal file
View file

@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.aleatorio = void 0;
const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 })
.map(() => alfabeto[((999 * Math.random()) | 0) % alfabeto.length])
.join("")}`;
exports.aleatorio = aleatorio;
//# sourceMappingURL=aleatorio.js.map

1
dist/aleatorio.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"aleatorio.js","sourceRoot":"","sources":["../src/aleatorio.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAEhD,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;KACxC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;KAClE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAHF,QAAA,SAAS,aAGP"}

View file

@ -0,0 +1,48 @@
import { z } from "zod";
export declare const InterfaceAuntenticacao: z.ZodObject<{
codigo_usuario: z.ZodString;
nome_usuario: z.ZodString;
email_usuario: z.ZodString;
documento_usuario: z.ZodString;
organizacao: z.ZodString;
rotas: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
sistema: z.ZodString;
sistema_cor: z.ZodString;
sistema_nome: z.ZodString;
sistema_logo: z.ZodString;
/** as url de integração serão armazenadas pelo sistema resíduos e identificado pelo código do token */
codigo_token: z.ZodString;
url_usuarios: z.ZodString;
url_empreendedores: z.ZodString;
url_empreendimentos: z.ZodString;
}, "strip", z.ZodTypeAny, {
codigo_usuario?: string;
nome_usuario?: string;
email_usuario?: string;
documento_usuario?: string;
organizacao?: string;
rotas?: {};
sistema?: string;
sistema_cor?: string;
sistema_nome?: string;
sistema_logo?: string;
codigo_token?: string;
url_usuarios?: string;
url_empreendedores?: string;
url_empreendimentos?: string;
}, {
codigo_usuario?: string;
nome_usuario?: string;
email_usuario?: string;
documento_usuario?: string;
organizacao?: string;
rotas?: {};
sistema?: string;
sistema_cor?: string;
sistema_nome?: string;
sistema_logo?: string;
codigo_token?: string;
url_usuarios?: string;
url_empreendedores?: string;
url_empreendimentos?: string;
}>;

View file

@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InterfaceAuntenticacao = void 0;
const zod_1 = require("zod");
exports.InterfaceAuntenticacao = zod_1.z.object({
// usuários
codigo_usuario: zod_1.z.string().uuid(),
nome_usuario: zod_1.z.string(),
email_usuario: zod_1.z.string(),
documento_usuario: zod_1.z.string(),
organizacao: zod_1.z.string(),
rotas: zod_1.z.object({}),
// Dados do sistema
sistema: zod_1.z.string(),
sistema_cor: zod_1.z.string(),
sistema_nome: zod_1.z.string(),
sistema_logo: zod_1.z.string(),
// integrações
/** as url de integração serão armazenadas pelo sistema resíduos e identificado pelo código do token */
codigo_token: zod_1.z.string(),
url_usuarios: zod_1.z.string().url(),
url_empreendedores: zod_1.z.string().url(),
url_empreendimentos: zod_1.z.string().url(),
});
//# sourceMappingURL=auntenticacaoResiduos.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"auntenticacaoResiduos.js","sourceRoot":"","sources":["../../src/autorizacoes/auntenticacaoResiduos.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,WAAW;IAEX,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACjC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC7B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAEnB,mBAAmB;IACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IAExB,cAAc;IAEd,uGAAuG;IACvG,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC9B,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACpC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CACtC,CAAC,CAAA"}

2
dist/autorizacoes/index.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
/** Sistemas vão conversar por meio de autorizações tipar eles aqui */
export * from "./auntenticacaoResiduos";

19
dist/autorizacoes/index.js vendored Normal file
View file

@ -0,0 +1,19 @@
"use strict";
/** Sistemas vão conversar por meio de autorizações tipar eles aqui */
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("./auntenticacaoResiduos"), exports);
//# sourceMappingURL=index.js.map

1
dist/autorizacoes/index.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/autorizacoes/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;;;;;;;;;;;;;;AAEtE,0DAAuC"}

14
dist/constantes.d.ts vendored Normal file
View file

@ -0,0 +1,14 @@
export declare const uuid_null = "00000000-0000-0000-0000-000000000000";
/** Colunas Presentes n maioria das tabelas */
export 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"
}
/** Palavras comumente usadas */
export declare enum tx {
token = "token"
}

20
dist/constantes.js vendored Normal file
View file

@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.tx = exports.camposComuns = exports.uuid_null = void 0;
exports.uuid_null = "00000000-0000-0000-0000-000000000000";
/** Colunas Presentes n maioria das tabelas */
var camposComuns;
(function (camposComuns) {
camposComuns["codigo"] = "codigo";
camposComuns["excluido"] = "excluido";
camposComuns["data_hora_criacao"] = "data_hora_criacao";
camposComuns["data_hora_atualizacao"] = "data_hora_atualizacao";
camposComuns["codigo_usuario_criacao"] = "codigo_usuario_criacao";
camposComuns["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao";
})(camposComuns || (exports.camposComuns = camposComuns = {}));
/** Palavras comumente usadas */
var tx;
(function (tx) {
tx["token"] = "token";
})(tx || (exports.tx = tx = {}));
//# sourceMappingURL=constantes.js.map

1
dist/constantes.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"constantes.js","sourceRoot":"","sources":["../src/constantes.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,sCAAsC,CAAA;AAE/D,8CAA8C;AAC9C,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,uDAAuC,CAAA;IACvC,+DAA+C,CAAA;IAC/C,iEAAiD,CAAA;IACjD,yEAAyD,CAAA;AAC3D,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED,gCAAgC;AAChC,IAAY,EAEX;AAFD,WAAY,EAAE;IACZ,qBAAe,CAAA;AACjB,CAAC,EAFW,EAAE,kBAAF,EAAE,QAEb"}

26
dist/consulta.d.ts vendored Normal file
View file

@ -0,0 +1,26 @@
export declare enum operadores {
"=" = "=",
"!=" = "!=",
">" = ">",
">=" = ">=",
"<" = "<",
"<=" = "<=",
like = "like",
in = "in"
}
export type tipoFiltro = {
coluna: string;
valor: any;
operador: keyof typeof operadores | operadores;
ou?: boolean;
};
export type interfaceConsulta = {
offset?: number;
limit?: number;
filtros?: tipoFiltro[];
ordem?: string;
ordemTipo?: "asc" | "desc";
colunas?: string[];
apenasConsulta?: boolean;
apenasContagem?: boolean;
};

15
dist/consulta.js vendored Normal file
View file

@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.operadores = void 0;
var operadores;
(function (operadores) {
operadores["="] = "=";
operadores["!="] = "!=";
operadores[">"] = ">";
operadores[">="] = ">=";
operadores["<"] = "<";
operadores["<="] = "<=";
operadores["like"] = "like";
operadores["in"] = "in";
})(operadores || (exports.operadores = operadores = {}));
//# sourceMappingURL=consulta.js.map

1
dist/consulta.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"consulta.js","sourceRoot":"","sources":["../src/consulta.ts"],"names":[],"mappings":";;;AAAA,IAAY,UASX;AATD,WAAY,UAAU;IACpB,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX,2BAAa,CAAA;IACb,uBAAS,CAAA;AACX,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB"}

1
dist/ecosistema/index.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export * from "./urls";

18
dist/ecosistema/index.js vendored Normal file
View file

@ -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("./urls"), exports);
//# sourceMappingURL=index.js.map

1
dist/ecosistema/index.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ecosistema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB"}

1
dist/ecosistema/urls.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";

5
dist/ecosistema/urls.js vendored Normal file
View file

@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cdn_carro_de_boi = void 0;
exports.cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";
//# sourceMappingURL=urls.js.map

1
dist/ecosistema/urls.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/ecosistema/urls.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,wCAAwC,CAAA"}

9
dist/index.d.ts vendored Normal file
View file

@ -0,0 +1,9 @@
export * from "./autorizacoes";
export * from "./constantes";
export * from "./consulta";
export * from "./aleatorio";
export * from "./texto_busca";
export * from "./unidades_medida";
export * from "./uuid";
export * from "./provedores";
export * from "./ecosistema";

26
dist/index.js vendored Normal file
View file

@ -0,0 +1,26 @@
"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("./autorizacoes"), exports);
__exportStar(require("./constantes"), exports);
__exportStar(require("./consulta"), exports);
__exportStar(require("./aleatorio"), exports);
__exportStar(require("./texto_busca"), exports);
__exportStar(require("./unidades_medida"), exports);
__exportStar(require("./uuid"), exports);
__exportStar(require("./provedores"), exports);
__exportStar(require("./ecosistema"), exports);
//# sourceMappingURL=index.js.map

1
dist/index.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,+CAA4B;AAC5B,6CAA0B;AAC1B,8CAA2B;AAC3B,gDAA6B;AAC7B,oDAAiC;AACjC,yCAAsB;AACtB,+CAA4B;AAC5B,+CAA4B"}

4
dist/provedores.d.ts vendored Normal file
View file

@ -0,0 +1,4 @@
export declare enum provedores {
"betha-sistemas" = "Betha Sistemas",
"e-licencie" = "e-licencie"
}

9
dist/provedores.js vendored Normal file
View file

@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.provedores = void 0;
var provedores;
(function (provedores) {
provedores["betha-sistemas"] = "Betha Sistemas";
provedores["e-licencie"] = "e-licencie";
})(provedores || (exports.provedores = provedores = {}));
//# sourceMappingURL=provedores.js.map

1
dist/provedores.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"provedores.js","sourceRoot":"","sources":["../src/provedores.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+CAAmC,CAAA;IACnC,uCAA2B,CAAA;AAC7B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}

2
dist/texto_busca.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
/** gerar o texto de busca removendo caracteres especies e caixa alta */
export declare const texto_busca: (...texto: any[]) => string;

16
dist/texto_busca.js vendored Normal file
View file

@ -0,0 +1,16 @@
"use strict";
/** gerar o texto de busca removendo caracteres especies e caixa alta */
Object.defineProperty(exports, "__esModule", { value: true });
exports.texto_busca = void 0;
const texto_busca = (...texto) => texto
.map((txt) => txt === null || txt === undefined
? ""
: String(txt)
.normalize("NFD")
// biome-ignore lint/suspicious/noMisleadingCharacterClass: <explanation>
.replace(/[\u0300-\u036f]/g, "")
.replace(/\s+/g, " ")
.toLowerCase())
.join(" ");
exports.texto_busca = texto_busca;
//# sourceMappingURL=texto_busca.js.map

1
dist/texto_busca.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"texto_busca.js","sourceRoot":"","sources":["../src/texto_busca.ts"],"names":[],"mappings":";AAAA,wEAAwE;;;AAEjE,MAAM,WAAW,GAAG,CAAC,GAAG,KAAY,EAAU,EAAE,CACrD,KAAK;KACF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;IAC/B,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACR,SAAS,CAAC,KAAK,CAAC;QACjB,yEAAyE;SACxE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,WAAW,EAAE,CACrB;KACA,IAAI,CAAC,GAAG,CAAC,CAAA;AAZD,QAAA,WAAW,eAYV"}

7
dist/unidades_medida.d.ts vendored Normal file
View file

@ -0,0 +1,7 @@
export declare const unidades_medida: {
unidade: string;
nome: string;
unidade_normalizada: string;
normalizar: (valor: number) => number;
tipo: "massa" | "volume" | "comprimento";
}[];

76
dist/unidades_medida.js vendored Normal file
View file

@ -0,0 +1,76 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.unidades_medida = void 0;
exports.unidades_medida = [
{
unidade: "kg",
nome: "Quilograma",
unidade_normalizada: "kg",
normalizar: (valor) => valor,
tipo: "massa",
},
{
unidade: "g",
nome: "Grama",
unidade_normalizada: "kg",
normalizar: (valor) => valor / 1000,
tipo: "massa",
},
{
unidade: "ton",
nome: "Tonelada",
unidade_normalizada: "kg",
normalizar: (valor) => valor * 1000,
tipo: "massa",
},
{
unidade: "L",
nome: "Litro",
unidade_normalizada: "L",
normalizar: (valor) => valor,
tipo: "volume",
},
{
unidade: "m3",
nome: "Metro Cúbico",
unidade_normalizada: "L",
normalizar: (valor) => valor * 1000,
tipo: "volume",
},
{
unidade: "mL",
nome: "Mililitro",
unidade_normalizada: "L",
normalizar: (valor) => valor / 1000,
tipo: "volume",
},
{
unidade: "cm",
nome: "Centímetro",
unidade_normalizada: "m",
normalizar: (valor) => valor / 100,
tipo: "comprimento",
},
{
unidade: "mm",
nome: "Milímetro",
unidade_normalizada: "m",
normalizar: (valor) => valor / 1000,
tipo: "comprimento",
},
{
unidade: "m",
nome: "Metro",
unidade_normalizada: "m",
normalizar: (valor) => valor,
tipo: "comprimento",
},
{
unidade: "km",
nome: "Quilômetro",
unidade_normalizada: "m",
normalizar: (valor) => valor * 1000,
tipo: "comprimento",
},
];
//# sourceMappingURL=unidades_medida.js.map

1
dist/unidades_medida.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"unidades_medida.js","sourceRoot":"","sources":["../src/unidades_medida.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAMtB;IACJ;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;QACpC,IAAI,EAAE,OAAO;KACd;IACD;QACE,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,OAAO;QACb,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI;QAC3C,IAAI,EAAE,OAAO;KACd;IACD;QACE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI;QAC3C,IAAI,EAAE,OAAO;KACd;IACD;QACE,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,OAAO;QACb,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;QACpC,IAAI,EAAE,QAAQ;KACf;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,cAAc;QACpB,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI;QAC3C,IAAI,EAAE,QAAQ;KACf;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,WAAW;QACjB,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI;QAC3C,IAAI,EAAE,QAAQ;KACf;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG;QAC1C,IAAI,EAAE,aAAa;KACpB;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,WAAW;QACjB,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI;QAC3C,IAAI,EAAE,aAAa;KACpB;IACD;QACE,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,OAAO;QACb,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;QACpC,IAAI,EAAE,aAAa;KACpB;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,GAAG;QACxB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI;QAC3C,IAAI,EAAE,aAAa;KACpB;CACF,CAAA"}

1
dist/uuid.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const uuid: () => string;

17
dist/uuid.js vendored Normal file
View file

@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.uuid = void 0;
//Gerar uma uuid V4
const letras = "0123456789abcdef".split("");
const uuid = () => {
letras.sort(() => Math.random() - 0.5);
const modelo = "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx".split("");
const retorno = modelo
.map((letra) => letra === "x"
? letras[((1000 * Math.random()) | 0) % letras.length]
: letra)
.join("");
return retorno;
};
exports.uuid = uuid;
//# sourceMappingURL=uuid.js.map

1
dist/uuid.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":";;;AAAA,mBAAmB;AACnB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACpC,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,sCAAsC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,KAAK,GAAG;QACX,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,KAAK,CACV;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAZY,QAAA,IAAI,QAYhB"}

1
dist/variaveisComuns.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const esperar: (ms: number) => Promise<true>;

6
dist/variaveisComuns.js vendored Normal file
View file

@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.esperar = void 0;
const esperar = (ms) => new Promise((resolve) => setTimeout(() => resolve(true), ms));
exports.esperar = esperar;
//# sourceMappingURL=variaveisComuns.js.map

1
dist/variaveisComuns.js.map vendored Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"variaveisComuns.js","sourceRoot":"","sources":["../src/variaveisComuns.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,EAAU,EAAiB,EAAE,CACnD,IAAI,OAAO,CAAC,CAAC,OAA0B,EAAE,EAAE,CACzC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CACpC,CAAA;AAHU,QAAA,OAAO,WAGjB"}

View file

@ -1,48 +1,22 @@
{
"name": "p-comuns",
"version": "0.296.0",
"version": "0.26.0",
"description": "",
"main": "./dist-front/index.mjs",
"module": "./dist-front/index.mjs",
"types": "./dist-front/index.d.mts",
"exports": {
".": {
"types": "./dist-front/index.d.mts",
"import": "./dist-front/index.mjs",
"require": "./dist-back/index.js"
}
},
"main": "dist/index.js",
"scripts": {
"biome": "pnpm exec biome check --write",
"check": "pnpm run biome && npx tsc --noEmit",
"build": "npm --no-git-tag-version version minor && pnpm run biome && tsup --config ./tsup/tsup.config.ts && pnpm run pacote",
"teste": "npx vitest run src/testes/TipagemRotas.test.ts",
"pacote": "npm pack && npm pack && mv $(npm pack --silent) pacote.tgz"
},
"author": {
"name": "AZTECA SOFTWARE LTDA",
"email": "ti@e-licencie.com.br",
"url": "https://e-licencie.com.br"
"build": "rm -rf ./dist && pnpm run biome && npm --no-git-tag-version version minor && tsc",
"biome": "npx @biomejs/biome check --apply ./src"
},
"author": "",
"license": "ISC",
"dependencies": {
"cross-fetch": "4.1.0",
"dayjs": "^1.11.18",
"uuid": "^11.1.0",
"zod": "4.1.4"
"zod": "3.23.8"
},
"devDependencies": {
"@biomejs/biome": "2.1.4",
"@types/node": "^20.19.22",
"tsup": "8.5.0",
"typescript": "~5.9.3",
"unbuild": "^3.6.1",
"vitest": "^3.2.4"
"@biomejs/biome": "1.7.3",
"@types/node": "^20.12.5"
},
"peerDependencies": {
"cross-fetch": "4.1.0",
"dayjs": "^1.11.18",
"uuid": "^11.1.0",
"zod": "4.1.4"
"typescript": "^5.0.0"
}
}

Binary file not shown.

2746
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,26 @@
import { z } from "zod"
export const InterfaceAuntenticacao = z.object({
// usuários
codigo_usuario: z.string().uuid(),
nome_usuario: z.string(),
email_usuario: z.string(),
documento_usuario: z.string(),
organizacao: z.string(),
rotas: z.object({}),
// Dados do sistema
sistema: z.string(),
sistema_cor: z.string(),
sistema_nome: z.string(),
sistema_logo: z.string(),
// integrações
/** as url de integração serão armazenadas pelo sistema resíduos e identificado pelo código do token */
codigo_token: z.string(),
url_usuarios: z.string().url(),
url_empreendedores: z.string().url(),
url_empreendimentos: z.string().url(),
})

View file

@ -0,0 +1,3 @@
/** Sistemas vão conversar por meio de autorizações tipar eles aqui */
export * from "./auntenticacaoResiduos"

View file

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

View file

@ -8,15 +8,9 @@ export enum camposComuns {
data_hora_atualizacao = "data_hora_atualizacao",
codigo_usuario_criacao = "codigo_usuario_criacao",
codigo_usuario_atualizacao = "codigo_usuario_atualizacao",
versao = "versao",
}
/** Palavras comumente usadas */
export enum tx {
token = "token",
}
export enum tipoUsuarioResiduos {
Usuario = "usuario",
Fornecedor = "fornecedor",
}

View file

@ -1,5 +1,3 @@
import z from "zod"
export enum operadores {
"=" = "=",
"!=" = "!=",
@ -9,7 +7,6 @@ export enum operadores {
"<=" = "<=",
like = "like",
in = "in",
isNull = "isNull",
}
export type tipoFiltro = {
@ -29,22 +26,3 @@ export type interfaceConsulta = {
apenasConsulta?: boolean
apenasContagem?: boolean
}
export const zOperadores = z.enum([
"=",
"!=",
">",
">=",
"<",
"<=",
"like",
"in",
"isNull",
])
export const zFiltro = z.object({
coluna: z.string(),
valor: z.any(),
operador: zOperadores,
ou: z.boolean().optional(),
})

View file

@ -1,27 +0,0 @@
import dayjs, { type Dayjs } from "dayjs"
export type { ManipulateType } 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"
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)
export const dayjsbr = dayjs
export type { Dayjs }

View file

@ -1,177 +0,0 @@
type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"
export const extensoes: {
ext: string
tipo: tiposArquivo
mime: string
}[] = [
{
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ídeo",
mime: "video/mp4",
},
{
ext: "avi",
tipo: "vídeo",
mime: "video/x-msvideo",
},
{
ext: "mkv",
tipo: "vídeo",
mime: "video/x-matroska",
},
{
ext: "mov",
tipo: "vídeo",
mime: "video/quicktime",
},
{
ext: "wmv",
tipo: "vídeo",
mime: "video/x-ms-wmv",
},
{
ext: "flv",
tipo: "vídeo",
mime: "video/x-flv",
},
{
ext: "webm",
tipo: "vídeo",
mime: "video/webm",
},
{
ext: "3gp",
tipo: "vídeo",
mime: "video/3gpp",
},
{
ext: "mpeg",
tipo: "vídeo",
mime: "video/mpeg",
},
]
/**
* Função que retorna o tipo do arquivo
* @param nomeArquivo
* @returns
*/
export const tipoArquivo = (
nomeArquivo: string | null | undefined,
): tiposArquivo => {
// extenssão do arquivo
const extArquivo = String(nomeArquivo || "")
.toLocaleLowerCase()
.split(".")
.pop()
// procura a extensão do arquivo na lista de extensões
const extensao = extensoes.find((extensao) => extensao.ext === extArquivo)
// retorna o tipo do arquivo
return extensao?.tipo || "outros"
}

View file

@ -1,20 +1,9 @@
export * from "./aleatorio"
export * from "./cacheMemoria"
export * from "./autorizacoes"
export * from "./constantes"
export * from "./consulta"
export * from "./dayjs"
export * from "./ecosistema"
export * from "./extensoes"
export * from "./extensoes"
export * from "./local"
export * from "./logger"
export * from "./logger"
export * from "./postgres"
export * from "./produtos"
export * from "./testes-de-variaveis"
export * from "./aleatorio"
export * from "./texto_busca"
export * from "./tipagemRotas"
export * from "./tipagemRotas"
export * from "./unidades_medida"
export * from "./uuid"
export * from "./variaveisComuns"
export * from "./provedores"
export * from "./ecosistema"

View file

@ -1,57 +0,0 @@
import fs from "node:fs"
import path from "node:path"
/**
* Mescla objetos recursivamente.
* - Adiciona chaves novas
* - Sobrescreve valores primitivos
* - Mescla objetos aninhados
*/
const mesclar = (entrada: any, novo: any): any => {
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
}
/** Lê JSON ou retorna objeto vazio */
const abrirJson = (caminho: string) => {
try {
return JSON.parse(fs.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 = path.join(process.cwd(), ".vscode/settings.json")
// Garante a pasta .vscode
fs.mkdirSync(path.dirname(caminhoSeting), { recursive: true })
// Mescla e grava
const atual = abrirJson(caminhoSeting)
const final = mesclar(atual, settings_json)
fs.writeFileSync(caminhoSeting, JSON.stringify(final, null, 2), "utf8")
console.log(`✅ Configurações salvas em ${caminhoSeting}`)

View file

@ -1,38 +0,0 @@
/**
* LocalStorage Tipado
* ou grava um valor no localStorage, mantendo o tipo genérico <T>.
*/
export const localValor = <T>(
chave_: string | any,
valor?: T | null,
): T | null => {
const localStorage = globalThis.localStorage
if (typeof localStorage == "undefined") return null
const chave =
typeof chave_ === "string"
? chave_
: encodeURIComponent(JSON.stringify(chave_))
try {
// Grava valor se fornecido
if (valor !== undefined) {
localStorage.setItem(chave, JSON.stringify(valor))
}
// Lê valor
const v2 = localStorage.getItem(chave)
if (v2 === null) return null
try {
return JSON.parse(v2) as T
} catch {
// Caso o valor não seja JSON válido
return v2 as unknown as T
}
} catch {
// Em caso de erro de acesso ao localStorage
return null
}
}

View file

@ -1,126 +0,0 @@
import crossFetch from "cross-fetch"
import { nomeVariavel } from "./variaveisComuns"
const LOKI_BASE_URL = "https://log.idz.one"
const LOKI_ENDPOINT = "/loki/api/v1/push"
export type tipoLokiObjeto = {
streams: {
stream: {
[k: string]: string
}
values: [string, string][]
}[]
}
export const postLogger = async ({
objeto,
}: {
objeto: tipoLokiObjeto
}): Promise<[objeto: tipoLokiObjeto, erro?: string]> => {
const response = await crossFetch(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(objeto),
}).catch((a) => a)
if (!response.ok) {
return [objeto, `Erro ${response.status}: ${await response?.text?.()}`]
}
return [objeto]
}
let cwd = ""
/** define a localização da pasta do projeto */
export const defineCwd = (novoCwd: string) => {
cwd = novoCwd
}
type tipoLevel = "info" | "warn" | "error"
type tipoOpSessao = {
inquilino: string
usuario: string
parametros?: { [k: string]: string }
}
type tipoLog = {
detalhes?: unknown[]
__filename?: string
local?: string
parametros?: { [k: string]: string }
}
export type tipoLoggerLog = (
level: tipoLevel,
mensagem: string,
op_tipoLog?: tipoLog,
) => Promise<[objeto: tipoLokiObjeto, erro?: string]>
export type TipoLoggerSessao = (sess: tipoOpSessao) => tipoLoggerLog
export type tipoLogger = (amb: {
app: string
eProducao: boolean
parametros?: {
[k: string]: string
}
}) => TipoLoggerSessao
export const logger: tipoLogger =
({ app: app_e, eProducao, parametros: parametrosAmbiente }) =>
({ inquilino, usuario, parametros: parametrosSessao }) =>
async (level, mensagem, op_tipoLog) => {
let {
__filename,
detalhes,
local,
parametros: parametrosLog,
} = op_tipoLog || {}
const app = `${eProducao ? "" : "DEV-"}${app_e}`
if (cwd && __filename) {
__filename = __filename.replace(cwd, "")
}
if (local) {
detalhes = [`${nomeVariavel({ local })}="${local}"`, ...(detalhes || [])]
}
if (__filename) {
detalhes = [
`${nomeVariavel({ __filename })}="${__filename}"`,
...(detalhes || []),
]
}
const timestamp = `${Date.now()}000000`
const mainLog = detalhes?.length
? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" | ")}`
: mensagem
const payload: tipoLokiObjeto["streams"][number] = {
stream: {
app,
inquilino,
usuario,
level,
...(parametrosAmbiente || {}),
...(parametrosSessao || {}),
...(parametrosLog || {}),
},
values: [
[
timestamp,
mainLog, // Linha de log direta
],
],
}
const objeto: tipoLokiObjeto = { streams: [payload] }
const response = await postLogger({ objeto })
return response
}

View file

@ -1,32 +0,0 @@
/**
* Trata um objeto para ser imput para postgres
* @param entrada
* @returns
*/
export const paraObjetoRegistroPg = (entrada: {
[k: string]: any
}): {
[k: string]: string | boolean | null | undefined | number
} => {
try {
return Object.fromEntries(
Object.entries(entrada).map(([k, v]) => [
k,
v === undefined || 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ção paraObjetoRegistroPg: ${(error as Error).message} ${(error as Error).stack}`,
)
}
}
export const pgObjeto = paraObjetoRegistroPg
export const objetoPg = paraObjetoRegistroPg

View file

@ -1,4 +0,0 @@
export enum Produtos {
"e-licencie" = "e-licencie",
"gov.e-licencie" = "gov.e-licencie",
}

4
src/provedores.ts Normal file
View file

@ -0,0 +1,4 @@
export enum provedores {
"betha-sistemas" = "Betha Sistemas",
"e-licencie" = "e-licencie",
}

View file

@ -1,8 +0,0 @@
import { cacheM } from "./cacheMemoria"
import { texto_busca } from "./texto_busca"
// node dist-back/teste.mjs
console.log("Variáveis funcionando", texto_busca)
cacheM(1, { Jaca: Promise.resolve() })
console.log("cache:", cacheM(1))

View file

@ -1,2 +0,0 @@
export * from "./umaFuncao"
export * from "./umaVariavel"

View file

@ -1 +0,0 @@
export const umaFuncao = () => "Olá Mundo! (função)"

View file

@ -1 +0,0 @@
export const umaVariavel = "Olá Mundo! (variável)"

View file

@ -1,29 +0,0 @@
import { describe, expect, it } from "vitest"
import { TipagemRotas } from "../tipagemRotas"
describe("TipagemRotas", () => {
it("deve montar _partesCaminho a partir de string ou array, normalizando barras", () => {
const r1 = new TipagemRotas<{ q: string }>({ caminho: "aplicacao/func" })
expect(r1.caminho).toBe("/aplicacao/func")
const r2 = new TipagemRotas<{ q: string }>({
caminho: ["aplicacao", "func"],
})
expect(r2.caminho).toBe("/aplicacao/func")
const r3 = new TipagemRotas<{ q: string }>({ caminho: "/a//b///c/" })
expect(r3.caminho).toBe("/a/b/c")
})
it("Valores de entrada com mesmo valor dos valores de saída", () => {
type tipagem = { nome: string; idade: number }
const r1 = new TipagemRotas<tipagem>({ caminho: "aplicacao/func" })
const objetoEntrada: tipagem = { idade: 21, nome: "João" }
const rota = r1.endereco(objetoEntrada)
const parametros = r1.parametros(rota)
expect(parametros.nome).toBe(objetoEntrada.nome)
})
})

View file

@ -7,6 +7,7 @@ export const texto_busca = (...texto: any[]): string =>
? ""
: String(txt)
.normalize("NFD")
// biome-ignore lint/suspicious/noMisleadingCharacterClass: <explanation>
.replace(/[\u0300-\u036f]/g, "")
.replace(/\s+/g, " ")
.toLowerCase(),

View file

@ -1,139 +0,0 @@
/** 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é"}
*/
export class TipagemRotas<T extends { [q: string]: any }> {
_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
}) {
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: string) {
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: T, usarComoHash?: boolean) {
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: T) {
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?: string) {
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())
// pegar hash
const hash = url.hash
if (hash) {
const hashObj = Object.fromEntries(
new URLSearchParams(hash.slice(1)).entries(),
)
queryObj = { ...queryObj, ...hashObj } as T
}
for (const chave in queryObj) {
try {
queryObj[chave] = JSON.parse(queryObj[chave])
} catch {
console.log(`[${chave}|${queryObj[chave]}] não é um json válido.`)
}
}
return queryObj as Partial<T>
}
}

View file

@ -1,70 +1,85 @@
/**
* 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
*/
export enum siglas_unidades_medida {
UN = "UN",
KG = "KG",
TON = "TON",
g = "g",
"M³" = "M³",
Lt = "Lt",
}
export const unidades_medida: {
sigla_unidade: keyof typeof siglas_unidades_medida
unidade: string
nome: string
sigla_normalizada: keyof typeof siglas_unidades_medida
unidade_normalizada: string
normalizar: (valor: number) => number
tipo: "massa" | "volume" | "comprimento" | "unidade"
tipo: "massa" | "volume" | "comprimento"
}[] = [
{
sigla_unidade: "KG",
unidade: "kg",
nome: "Quilograma",
sigla_normalizada: "KG",
unidade_normalizada: "kg",
normalizar: (valor: number) => valor,
tipo: "massa",
},
{
sigla_unidade: "g",
unidade: "g",
nome: "Grama",
sigla_normalizada: "KG",
unidade_normalizada: "kg",
normalizar: (valor: number) => valor / 1000,
tipo: "massa",
},
{
sigla_unidade: "TON",
unidade: "ton",
nome: "Tonelada",
sigla_normalizada: "KG",
unidade_normalizada: "kg",
normalizar: (valor: number) => valor * 1000,
tipo: "massa",
},
{
sigla_unidade: "Lt",
unidade: "L",
nome: "Litro",
sigla_normalizada: "Lt",
unidade_normalizada: "L",
normalizar: (valor: number) => valor,
tipo: "volume",
},
{
sigla_unidade: "M³",
unidade: "m3",
nome: "Metro Cúbico",
sigla_normalizada: "Lt",
unidade_normalizada: "L",
normalizar: (valor: number) => valor * 1000,
tipo: "volume",
},
{
sigla_unidade: "UN",
nome: "Unidade",
sigla_normalizada: "UN",
unidade: "mL",
nome: "Mililitro",
unidade_normalizada: "L",
normalizar: (valor: number) => valor / 1000,
tipo: "volume",
},
{
unidade: "cm",
nome: "Centímetro",
unidade_normalizada: "m",
normalizar: (valor: number) => valor / 100,
tipo: "comprimento",
},
{
unidade: "mm",
nome: "Milímetro",
unidade_normalizada: "m",
normalizar: (valor: number) => valor / 1000,
tipo: "comprimento",
},
{
unidade: "m",
nome: "Metro",
unidade_normalizada: "m",
normalizar: (valor: number) => valor,
tipo: "unidade",
tipo: "comprimento",
},
{
unidade: "km",
nome: "Quilômetro",
unidade_normalizada: "m",
normalizar: (valor: number) => valor * 1000,
tipo: "comprimento",
},
{
unidade: "UN",
nome: "Unidade",
unidade_normalizada: "Un",
normalizar: (valor: number) => valor,
tipo: "Unitario",
},
]

View file

@ -1,53 +1,15 @@
import { NIL, v3, v4 } from "uuid"
//Gerar uma uuid V4
const letras = "0123456789abcdef".split("")
export const uuid = () => {
letras.sort(() => Math.random() - 0.5)
const modelo = "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx".split("")
const retorno = modelo
.map((letra) =>
letra === "x"
? letras[((1000 * Math.random()) | 0) % letras.length]
: letra,
)
.join("")
/**
* 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.
*/
export const erUuid =
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
export const validarUuid = (uuid: string | number | undefined | null) => {
const retorno = erUuid.test(String(uuid || ""))
return retorno
}
/**
* 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)
*/
export const uuidV3 = (chave: any, grupo?: any): string => {
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,
)
}
/**
* Gera um UUID v4 (aleatório, não determinístico).
*
* - Usado quando unicidade é necessária, mas não se exige que seja previsível.
*/
export const uuidV4 = v4
/**
* @deprecated Esta variável será descontinuada em versões futuras.
* Use a função `uuidV4()` diretamente.
*/
export const uuid = uuidV4

View file

@ -2,12 +2,3 @@ export const esperar = (ms: number): Promise<true> =>
new Promise((resolve: (r: true) => void) =>
setTimeout(() => resolve(true), ms),
)
/**
* 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
*/
export const nomeVariavel = (v: { [key: string]: any }) =>
Object.keys(v).join("/")

Some files were not shown because too many files have changed in this diff Show more