`
+- **Atributos em multiline** quando há mais de 2 props
+
+### TSX (componentes em `.tsx`)
+
+```tsx
+// Componente funcional Vue em TSX
+import { defineComponent, ref } from "vue"
+
+export const MeuComponente = defineComponent({
+ props: {
+ titulo: { type: String, required: true },
+ },
+ setup(props) {
+ const contador = ref(0)
+ return () => (
+
+
{props.titulo}
+
+
+ )
+ },
+})
+```
+
+---
+
+## 🔧 Biome — Regras de Lint Importantes
+
+### Erros (bloqueiam o build)
+
+| Regra | Descrição |
+|-------|-----------|
+| `noUnusedVariables` | Variáveis definidas e não usadas |
+| `noUnusedImports` | Imports não utilizados |
+| `noVoidTypeReturn` | Função `void` retornando valor |
+| `noVueDataObjectDeclaration` | Vue 2 `data: {}` — usar função |
+| `noVueDuplicateKeys` | Chaves duplicadas em objetos Vue |
+| `noVueSetupPropsReactivityLoss` | Desestruturar `props` em `setup()` |
+| `noVueVIfWithVFor` | `v-if` + `v-for` no mesmo elemento |
+| `useVueVForKey` | `v-for` sem `:key` |
+| `useVueValidTemplateRoot` | Template sem raiz única (Vue 2) |
+
+### Warnings (code smells — corrija quando possível)
+
+| Regra | Descrição |
+|-------|-----------|
+| `useArrowFunction` | **Sempre use arrow function** — `function` é erro |
+| `noNonNullAssertion` | Evite `!` — trate o null |
+| `noDelete` | `delete obj.prop` é lento |
+| `noEmptyBlockStatements` | Blocos `{}` vazios |
+| `noArrayIndexKey` | `:key` com índice do array |
+| `noDangerouslySetInnerHtml` | `innerHTML` perigoso |
+| `noExcessiveCognitiveComplexity` | Função muito complexa (max: 20) |
+
+---
+
+## 📦 Como Outros Projetos Consomem Este Pacote
+
+```json
+// biome.json do subprojeto (ex: PILAO-FRONT)
+{
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
+ "extends": ["./node_modules/p-comuns/Documentos/biome.json"],
+ "files": {
+ "includes": ["src/**/*.{js,ts,jsx,tsx,vue}"]
+ }
+}
+```
+
+```json
+// .vscode/settings.json do subprojeto
+{
+ "editor.defaultFormatter": "biomejs.biome",
+ "editor.formatOnSave": true,
+ "editor.codeActionsOnSave": {
+ "source.organizeImports.biome": "always",
+ "source.fixAll.biome": "always"
+ },
+ "[vue]": { "editor.defaultFormatter": "biomejs.biome" },
+ "[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
+ "[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" },
+ "editor.rulers": [100],
+ "files.eol": "\n"
+}
+```
+
+---
+
+## 🚀 Scripts
+
+```bash
+pnpm biome # Formata + lint com auto-fix
+pnpm check # biome + tsc --noEmit (sem emitir arquivos)
+pnpm build # Bump de versão + biome + tsup + pack
+pnpm teste # Vitest (testes unitários)
+```
+
+---
+
+## ⚠️ O que NÃO fazer
+
+- ❌ Não use `eslint` — o projeto usa Biome
+- ❌ Não use `prettier` — o projeto usa Biome
+- ❌ Não use `function` nomeada — sempre arrow function (`const fn = () => {}`)
+- ❌ Não use Vue Options API — sempre Composition API
+- ❌ Não desestrure `props` diretamente (quebra reatividade)
+- ❌ Não use `any` — use `unknown` + type narrowing
+- ❌ Não use índice como `:key` no `v-for`
+- ❌ Não quebre linhas com mais de 100 caracteres
+- ❌ Não use ponto-e-vírgula no final (Biome removerá)
+
+---
+
+## 📚 Referências
+
+- [Biome 2.x Docs](https://biomejs.dev)
+- [Vue 3 Composition API](https://vuejs.org/guide/composition-api)
+- [Zod v4](https://zod.dev)
+- [tsup](https://tsup.egoist.dev)
diff --git a/Documentos/biome.json b/Documentos/biome.json
index c27b1f0..d656ae5 100755
--- a/Documentos/biome.json
+++ b/Documentos/biome.json
@@ -6,12 +6,20 @@
"enabled": true,
"rules": {
"recommended": true,
+
"correctness": {
"noUnusedVariables": "error",
"noUnusedImports": "error",
"noEmptyPattern": "off",
- "useExhaustiveDependencies": "off"
+ "useExhaustiveDependencies": "off",
+ "noVoidTypeReturn": "error",
+ "noVueDataObjectDeclaration": "error",
+ "noVueDuplicateKeys": "error",
+ "noVueReservedKeys": "error",
+ "noVueReservedProps": "error",
+ "noVueSetupPropsReactivityLoss": "warn"
},
+
"style": {
"noParameterAssign": "error",
"useAsConstAssertion": "error",
@@ -21,44 +29,124 @@
"useSingleVarDeclarator": "error",
"noUnusedTemplateLiteral": "error",
"useNumberNamespace": "error",
- "noInferrableTypes": "error"
+ "noInferrableTypes": "error",
+ "useArrayLiterals": "error",
+ "useConsistentArrayType": {
+ "level": "error",
+ "options": { "syntax": "shorthand" }
+ },
+ "useShorthandAssign": "error",
+ "noNonNullAssertion": "warn"
},
+
"suspicious": {
"noDebugger": "off",
"noDoubleEquals": "off",
"noExplicitAny": "off",
"noApproximativeNumericConstant": "off",
- "noAsyncPromiseExecutor": "off"
+ "noAsyncPromiseExecutor": "off",
+ "noEmptyBlockStatements": "off",
+ "noConsole": "off",
+ "noArrayIndexKey": "warn"
},
+
"complexity": {
"noUselessConstructor": "off",
"noBannedTypes": "off",
"useLiteralKeys": "off",
- "useArrowFunction": "warn",
+ "useArrowFunction": "error",
"useDateNow": "off",
- "noUselessFragments": "off"
+ "noUselessFragments": "off",
+ "noExcessiveCognitiveComplexity": "off"
},
+
"performance": {
- "noAccumulatingSpread": "off"
+ "noAccumulatingSpread": "off",
+ "noDelete": "off"
},
+
"a11y": {
- "useSemanticElements": "off"
+ "useSemanticElements": "off",
+ "useAltText": "warn",
+ "useButtonType": "warn"
+ },
+
+ "security": {
+ "noDangerouslySetInnerHtml": "warn"
+ },
+
+ "nursery": {
+ "noVueArrowFuncInWatch": "warn",
+ "noVueVIfWithVFor": "error",
+ "useVueConsistentDefinePropsDeclaration": "warn",
+ "useVueConsistentVBindStyle": "warn",
+ "useVueConsistentVOnStyle": "warn",
+ "useVueDefineMacrosOrder": "warn",
+ "useVueVForKey": "error",
+ "useVueValidTemplateRoot": "error",
+ "useVueValidVBind": "error",
+ "useVueValidVIf": "error",
+ "useVueValidVElse": "error",
+ "useVueValidVElseIf": "error",
+ "useVueValidVOn": "warn",
+ "useVueValidVHtml": "warn"
}
}
},
+
"formatter": {
"enabled": true,
"indentStyle": "space",
- "indentWidth": 2
+ "indentWidth": 2,
+ "lineWidth": 100,
+ "lineEnding": "lf"
},
+
"javascript": {
+ "globals": [
+ "defineProps",
+ "defineEmits",
+ "defineExpose",
+ "withDefaults",
+ "defineModel",
+ "defineOptions",
+ "defineSlots"
+ ],
+ "parser": {
+ "unsafeParameterDecoratorsEnabled": true
+ },
"formatter": {
"enabled": true,
"semicolons": "asNeeded",
"arrowParentheses": "always",
"bracketSameLine": false,
"trailingCommas": "all",
- "attributePosition": "multiline"
+ "attributePosition": "multiline",
+ "quoteStyle": "double",
+ "jsxQuoteStyle": "double",
+ "bracketSpacing": true
+ }
+ },
+
+ "css": {
+ "formatter": {
+ "enabled": true,
+ "indentStyle": "space",
+ "indentWidth": 2,
+ "lineWidth": 100,
+ "quoteStyle": "double"
+ },
+ "linter": {
+ "enabled": true
+ }
+ },
+
+ "html": {
+ "formatter": {
+ "enabled": true,
+ "indentStyle": "space",
+ "indentWidth": 2,
+ "lineWidth": 100
}
}
}
diff --git a/README.md b/README.md
index 566b352..2c5cc88 100755
--- a/README.md
+++ b/README.md
@@ -1,93 +1,120 @@
-## ✅ Uso do BiomeJS para Autoformatação
+# `p-comuns` — Pacote Compartilhado e-licencie
-Este guia mostra como configurar o [BiomeJS](https://biomejs.dev) para formatar e analisar código JavaScript/TypeScript no seu projeto.
+Pacote de tipos, utilitários e configurações compartilhadas entre todos os subprojetos da plataforma **e-licencie** (back-end Node.js, front-end Vue 3 / TSX).
---
-### 1. Incluir o pacote de configuração comum
+## ✅ Configuração do BiomeJS nos Subprojetos
-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`.
+Este guia mostra como usar a configuração base do Biome disponível neste pacote (`Documentos/biome.json`). Todos os subprojetos herdam essas regras via `extends`.
-pnpm up p-comuns
-
----
-
-### 2. Instalar o Biome com `pnpm`
+### 1. Adicionar o `p-comuns` como dependência
```bash
-pnpm add --save-dev --save-exact @biomejs/biome@2.1.4
+pnpm add --save-dev p-comuns
+# ou atualizar se já existir:
+pnpm up p-comuns
+```
+
+---
+
+### 2. Instalar o Biome
+
+```bash
+pnpm add --save-dev --save-exact @biomejs/biome@2.4.0
```
> 🎯 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:
+### 3. Criar `biome.json` na raiz do subprojeto
```json
{
- "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
- "extends": ["./node_modules/p-comuns/Documentos/biome.json"],
+ "$schema": "node_modules/@biomejs/biome/configuration_schema.json",
+ "extends": ["node_modules/p-comuns/Documentos/biome.json"],
+ "vcs": {
+ "enabled": true,
+ "clientKind": "git",
+ "useIgnoreFile": true
+ },
"files": {
- "includes": ["src/**/*.{js,ts,jsx,tsx}"]
+ "includes": ["**/*.{ts,tsx,vue}"]
}
}
```
-> ⚠️ Verifique o caminho correto do `extends` relativo à raiz do seu projeto. Use `./` sempre que possível para evitar erros de resolução.
+> `vcs.useIgnoreFile: true` faz o Biome respeitar o `.gitignore` automaticamente — arquivos como `dist/`, `node_modules/` etc. são ignorados sem configuração adicional.
---
-### 4. Adicionar script no `package.json`
-
-Inclua o comando abaixo em `"scripts"`:
+### 4. Adicionar scripts no `package.json`
```json
{
"scripts": {
"biome": "pnpm exec biome check --write",
+ "check": "pnpm run biome && npx tsc --noEmit"
}
}
```
-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:
+### 5. Configurar o VS Code (`.vscode/settings.json`)
```json
-"includes": ["**/*.{js,ts,jsx,tsx}"]
-```
-
-
-
-adicionar em .vscode/settings.json
-
{
"editor.defaultFormatter": "biomejs.biome",
+ "editor.formatOnSave": true,
+ "editor.codeActionsOnSave": {
+ "source.organizeImports.biome": "always",
+ "source.fixAll.biome": "always"
+ },
"[javascript]": { "editor.defaultFormatter": "biomejs.biome" },
"[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" },
"[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
"[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" },
+ "[vue]": { "editor.defaultFormatter": "biomejs.biome" },
+ "[css]": { "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"
- }
+ "editor.rulers": [100],
+ "files.eol": "\n",
+ "files.trimTrailingWhitespace": true,
+ "files.insertFinalNewline": true
}
+```
+
+> 💡 **Biome formata Vue `.vue` nativamente desde a v2.3** — não precisa do Prettier ou Vetur para formatação!
+
+---
+
+## 🔑 Regras da configuração base (Documentos/biome.json)
+
+### O que está ativado:
+
+| Categoria | Regras notáveis |
+|-----------|----------------|
+| **Correctness** | `noUnusedVariables`, `noUnusedImports`, `noVueSetupPropsReactivityLoss` |
+| **Vue 3 específico** | `noVueVIfWithVFor`, `useVueVForKey`, `noVueDuplicateKeys`, `noVueReservedKeys` |
+| **Style** | `useAsConstAssertion`, `useSelfClosingElements`, `useConsistentArrayType` (shorthand `T[]`) |
+| **Nursery Vue** | `noVueArrowFuncInWatch`, `useVueDefineMacrosOrder`, `useVueConsistentVBindStyle` |
+| **Security** | `noDangerouslySetInnerHtml` (warn) |
+
+### Globals do Vue (sem necessidade de importar):
+
+`defineProps`, `defineEmits`, `defineExpose`, `withDefaults`, `defineModel`, `defineOptions`, `defineSlots`
+
+### Formatação:
+
+- Indentação: **2 espaços**
+- Linha máxima: **100 caracteres**
+- Aspas: **duplas**
+- Ponto-e-vírgula: **apenas quando necessário**
+- Trailing comma: **sempre**
+- Line ending: **LF (`\n`)**
---
@@ -96,29 +123,21 @@ adicionar em .vscode/settings.json
O sistema `tipoFiltro26` foi projetado para gerar automaticamente a tipagem de filtros compatíveis com operadores padrão do PostgreSQL, a partir de um tipo base `T`.
**Principais características:**
-- Tipagem forte e segura (Typescript)
+- Tipagem forte e segura (TypeScript)
- Suporte a aninhamento de objetos
- Operadores lógicos `E` (AND) e `OU` (OR)
- Validação de operadores permitidos por tipo de dado (string, number, boolean)
### Estrutura do Filtro
-O filtro segue uma estrutura onde chaves representam campos (simples ou aninhados) e valores representam condições com operadores específicos.
-
#### 1. Campos Simples
```typescript
-{
- idade: { ">=": 18 }
-}
+{ idade: { ">=": 18 } }
```
#### 2. Campos Aninhados
```typescript
-{
- carro: {
- ano: { "=": 2020 }
- }
-}
+{ carro: { ano: { "=": 2020 } } }
```
#### 3. Operadores Lógicos
@@ -143,7 +162,7 @@ O filtro segue uma estrutura onde chaves representam campos (simples ou aninhado
}
```
-#### 4. Exemplo Complexo Complet
+#### 4. Exemplo Complexo Completo
```typescript
{
idade: { ">=": 18 },
@@ -161,21 +180,23 @@ O filtro segue uma estrutura onde chaves representam campos (simples ou aninhado
### Operadores Suportados (`operadores26`)
-Os operadores são fornecidos pelo enum `operadores26` e são restritos pelo tipo do campo:
-
-* **Number**: `=`, `!=`, `>`, `>=`, `<`, `<=`, `in`
-* **String**: `=`, `!=`, `like`, `in`
-* **Boolean**: `=`, `!=`, `in`
-
-> **Nota:** Atualmente não há suporte automático para `null`, `date`, `jsonb` ou `arrays` como tipos de campo raiz (exceto arrays dentro do operador `in`).
+- **Number**: `=`, `!=`, `>`, `>=`, `<`, `<=`, `in`
+- **String**: `=`, `!=`, `like`, `in`
+- **Boolean**: `=`, `!=`, `in`
### Validação em Tempo de Execução (Zod)
-O sistema inclui um validador Zod `zFiltro26` para validação estrutural dos objetos de filtro recebidos (ex: via API).
-
```typescript
-import { zFiltro26 } from './tipoFiltro.26';
+import { zFiltro26 } from "p-comuns"
// Valida a estrutura (não checa existência de colunas no DB)
-zFiltro26.parse(objetoFiltro);
+zFiltro26.parse(objetoFiltro)
```
+
+---
+
+## 📚 Veja também
+
+- [`AGENTS.md`](./AGENTS.md) — Guia para assistentes de IA (padrões, convenções, arquitetura)
+- [Biome 2.x Docs](https://biomejs.dev)
+- [Vue 3 Composition API](https://vuejs.org/guide/composition-api)
diff --git a/biome.json b/biome.json
index 92399f4..40d361a 100755
--- a/biome.json
+++ b/biome.json
@@ -2,6 +2,6 @@
"$schema": "node_modules/@biomejs/biome/configuration_schema.json",
"extends": ["Documentos/biome.json"],
"files": {
- "includes": ["src/**/*.{js,ts,jsx,tsx}"]
+ "includes": ["src/**/*.{js,ts,jsx,tsx,vue}"]
}
}
diff --git a/dist-back/consulta.js b/dist-back/consulta.js
index e3b422c..5f4c424 100644
--- a/dist-back/consulta.js
+++ b/dist-back/consulta.js
@@ -46,17 +46,7 @@ var operadores = /* @__PURE__ */ ((operadores2) => {
operadores2["isNull"] = "isNull";
return operadores2;
})(operadores || {});
-const zOperadores = import_zod.default.enum([
- "=",
- "!=",
- ">",
- ">=",
- "<",
- "<=",
- "like",
- "in",
- "isNull"
-]);
+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(),
diff --git a/dist-back/dayjs.js b/dist-back/dayjs.js
new file mode 100644
index 0000000..d88c318
--- /dev/null
+++ b/dist-back/dayjs.js
@@ -0,0 +1,58 @@
+"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, {
+ definirDayjsbr: () => definirDayjsbr
+});
+module.exports = __toCommonJS(dayjs_exports);
+var import_duration = __toESM(require("dayjs/plugin/duration"));
+var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter"));
+var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore"));
+var import_minMax = __toESM(require("dayjs/plugin/minMax"));
+var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime"));
+var import_timezone = __toESM(require("dayjs/plugin/timezone"));
+var import_utc = __toESM(require("dayjs/plugin/utc"));
+var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear"));
+var import_pt_br = require("dayjs/locale/pt-br");
+const definirDayjsbr = (dayjsEntrada) => {
+ dayjsEntrada.locale("pt-br");
+ dayjsEntrada.extend(import_utc.default);
+ dayjsEntrada.extend(import_timezone.default);
+ dayjsEntrada.extend(import_weekOfYear.default);
+ dayjsEntrada.extend(import_isSameOrBefore.default);
+ dayjsEntrada.extend(import_isSameOrAfter.default);
+ dayjsEntrada.extend(import_minMax.default);
+ dayjsEntrada.extend(import_relativeTime.default);
+ dayjsEntrada.extend(import_duration.default);
+ return dayjsEntrada;
+};
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ definirDayjsbr
+});
diff --git a/dist-back/tipagemRotas.js b/dist-back/tipagemRotas.js
index ce1d130..e68b6ce 100644
--- a/dist-back/tipagemRotas.js
+++ b/dist-back/tipagemRotas.js
@@ -97,9 +97,7 @@ class TipagemRotas {
let queryObj = Object.fromEntries(query.entries());
const hash = url.hash;
if (hash) {
- const hashObj = Object.fromEntries(
- new URLSearchParams(hash.slice(1)).entries()
- );
+ const hashObj = Object.fromEntries(new URLSearchParams(hash.slice(1)).entries());
queryObj = { ...queryObj, ...hashObj };
}
for (const chave in queryObj) {
diff --git a/dist-back/variaveisComuns.js b/dist-back/variaveisComuns.js
index 8f40e1d..e90c5ef 100644
--- a/dist-back/variaveisComuns.js
+++ b/dist-back/variaveisComuns.js
@@ -22,9 +22,7 @@ __export(variaveisComuns_exports, {
nomeVariavel: () => nomeVariavel
});
module.exports = __toCommonJS(variaveisComuns_exports);
-const esperar = (ms) => new Promise(
- (resolve) => setTimeout(() => resolve(true), ms)
-);
+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 = {
diff --git a/package.json b/package.json
index 1f3f4aa..889eb5e 100644
--- a/package.json
+++ b/package.json
@@ -44,4 +44,4 @@
"uuid": "^11.1.0",
"zod": "4.1.4"
}
-}
+}
\ No newline at end of file
diff --git a/pacote.tgz b/pacote.tgz
index 9a5bbac..e69de29 100644
Binary files a/pacote.tgz and b/pacote.tgz differ
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fd8c817..d67195c 100755
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,32 +12,29 @@ importers:
specifier: 2.4.0
version: 2.4.0
'@types/node':
- specifier: ^20.19.22
- version: 20.19.22
- cross-fetch:
- specifier: 4.1.0
- version: 4.1.0
+ specifier: ^22
+ version: 22.19.15
dayjs:
specifier: ^1.11.18
version: 1.11.19
tsup:
- specifier: 8.5.0
- version: 8.5.0(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3)
+ specifier: 8.5.1
+ version: 8.5.1(jiti@2.6.1)(postcss@8.5.6)(typescript@6.0.2)
typescript:
- specifier: ~5.9.3
- version: 5.9.3
+ specifier: ^6
+ version: 6.0.2
unbuild:
specifier: ^3.6.1
- version: 3.6.1(typescript@5.9.3)
+ version: 3.6.1(typescript@6.0.2)
uuid:
specifier: ^11.1.0
version: 11.1.0
vitest:
specifier: ^3.2.4
- version: 3.2.4(@types/node@20.19.22)(jiti@2.6.1)
+ version: 3.2.4(@types/node@22.19.15)(jiti@2.6.1)
zod:
- specifier: 4.1.4
- version: 4.1.4
+ specifier: 4.3.6
+ version: 4.3.6
packages:
@@ -108,156 +105,312 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/aix-ppc64@0.27.5':
+ resolution: {integrity: sha512-nGsF/4C7uzUj+Nj/4J+Zt0bYQ6bz33Phz8Lb2N80Mti1HjGclTJdXZ+9APC4kLvONbjxN1zfvYNd8FEcbBK/MQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/android-arm64@0.25.11':
resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm64@0.27.5':
+ resolution: {integrity: sha512-Oeghq+XFgh1pUGd1YKs4DDoxzxkoUkvko+T/IVKwlghKLvvjbGFB3ek8VEDBmNvqhwuL0CQS3cExdzpmUyIrgA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm@0.25.11':
resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
+ '@esbuild/android-arm@0.27.5':
+ resolution: {integrity: sha512-Cv781jd0Rfj/paoNrul1/r4G0HLvuFKYh7C9uHZ2Pl8YXstzvCyyeWENTFR9qFnRzNMCjXmsulZuvosDg10Mog==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-x64@0.25.11':
resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
+ '@esbuild/android-x64@0.27.5':
+ resolution: {integrity: sha512-nQD7lspbzerlmtNOxYMFAGmhxgzn8Z7m9jgFkh6kpkjsAhZee1w8tJW3ZlW+N9iRePz0oPUDrYrXidCPSImD0Q==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/darwin-arm64@0.25.11':
resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-arm64@0.27.5':
+ resolution: {integrity: sha512-I+Ya/MgC6rr8oRWGRDF3BXDfP8K1BVUggHqN6VI2lUZLdDi1IM1v2cy0e3lCPbP+pVcK3Tv8cgUhHse1kaNZZw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.25.11':
resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
+ '@esbuild/darwin-x64@0.27.5':
+ resolution: {integrity: sha512-MCjQUtC8wWJn/pIPM7vQaO69BFgwPD1jriEdqwTCKzWjGgkMbcg+M5HzrOhPhuYe1AJjXlHmD142KQf+jnYj8A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/freebsd-arm64@0.25.11':
resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-arm64@0.27.5':
+ resolution: {integrity: sha512-X6xVS+goSH0UelYXnuf4GHLwpOdc8rgK/zai+dKzBMnncw7BTQIwquOodE7EKvY2UVUetSqyAfyZC1D+oqLQtg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.25.11':
resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.27.5':
+ resolution: {integrity: sha512-233X1FGo3a8x1ekLB6XT69LfZ83vqz+9z3TSEQCTYfMNY880A97nr81KbPcAMl9rmOFp11wO0dP+eB18KU/Ucg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/linux-arm64@0.25.11':
resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm64@0.27.5':
+ resolution: {integrity: sha512-euKkilsNOv7x/M1NKsx5znyprbpsRFIzTV6lWziqJch7yWYayfLtZzDxDTl+LSQDJYAjd9TVb/Kt5UKIrj2e4A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm@0.25.11':
resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
+ '@esbuild/linux-arm@0.27.5':
+ resolution: {integrity: sha512-0wkVrYHG4sdCCN/bcwQ7yYMXACkaHc3UFeaEOwSVW6e5RycMageYAFv+JS2bKLwHyeKVUvtoVH+5/RHq0fgeFw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-ia32@0.25.11':
resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-ia32@0.27.5':
+ resolution: {integrity: sha512-hVRQX4+P3MS36NxOy24v/Cdsimy/5HYePw+tmPqnNN1fxV0bPrFWR6TMqwXPwoTM2VzbkA+4lbHWUKDd5ZDA/w==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-loong64@0.25.11':
resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-loong64@0.27.5':
+ resolution: {integrity: sha512-mKqqRuOPALI8nDzhOBmIS0INvZOOFGGg5n1osGIXAx8oersceEbKd4t1ACNTHM3sJBXGFAlEgqM+svzjPot+ZQ==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.25.11':
resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-mips64el@0.27.5':
+ resolution: {integrity: sha512-EE/QXH9IyaAj1qeuIV5+/GZkBTipgGO782Ff7Um3vPS9cvLhJJeATy4Ggxikz2inZ46KByamMn6GqtqyVjhenA==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.25.11':
resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-ppc64@0.27.5':
+ resolution: {integrity: sha512-0V2iF1RGxBf1b7/BjurA5jfkl7PtySjom1r6xOK2q9KWw/XCpAdtB6KNMO+9xx69yYfSCRR9FE0TyKfHA2eQMw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.25.11':
resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-riscv64@0.27.5':
+ resolution: {integrity: sha512-rYxThBx6G9HN6tFNuvB/vykeLi4VDsm5hE5pVwzqbAjZEARQrWu3noZSfbEnPZ/CRXP3271GyFk/49up2W190g==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-s390x@0.25.11':
resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-s390x@0.27.5':
+ resolution: {integrity: sha512-uEP2q/4qgd8goEUc4QIdU/1P2NmEtZ/zX5u3OpLlCGhJIuBIv0s0wr7TB2nBrd3/A5XIdEkkS5ZLF0ULuvaaYQ==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-x64@0.25.11':
resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
+ '@esbuild/linux-x64@0.27.5':
+ resolution: {integrity: sha512-+Gq47Wqq6PLOOZuBzVSII2//9yyHNKZLuwfzCemqexqOQCSz0zy0O26kIzyp9EMNMK+nZ0tFHBZrCeVUuMs/ew==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/netbsd-arm64@0.25.11':
resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
+ '@esbuild/netbsd-arm64@0.27.5':
+ resolution: {integrity: sha512-3F/5EG8VHfN/I+W5cO1/SV2H9Q/5r7vcHabMnBqhHK2lTWOh3F8vixNzo8lqxrlmBtZVFpW8pmITHnq54+Tq4g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.25.11':
resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.27.5':
+ resolution: {integrity: sha512-28t+Sj3CPN8vkMOlZotOmDgilQwVvxWZl7b8rxpn73Tt/gCnvrHxQUMng4uu3itdFvrtba/1nHejvxqz8xgEMA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/openbsd-arm64@0.25.11':
resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-arm64@0.27.5':
+ resolution: {integrity: sha512-Doz/hKtiuVAi9hMsBMpwBANhIZc8l238U2Onko3t2xUp8xtM0ZKdDYHMnm/qPFVthY8KtxkXaocwmMh6VolzMA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.25.11':
resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.27.5':
+ resolution: {integrity: sha512-WfGVaa1oz5A7+ZFPkERIbIhKT4olvGl1tyzTRaB5yoZRLqC0KwaO95FeZtOdQj/oKkjW57KcVF944m62/0GYtA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openharmony-arm64@0.25.11':
resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
+ '@esbuild/openharmony-arm64@0.27.5':
+ resolution: {integrity: sha512-Xh+VRuh6OMh3uJ0JkCjI57l+DVe7VRGBYymen8rFPnTVgATBwA6nmToxM2OwTlSvrnWpPKkrQUj93+K9huYC6A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
'@esbuild/sunos-x64@0.25.11':
resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
+ '@esbuild/sunos-x64@0.27.5':
+ resolution: {integrity: sha512-aC1gpJkkaUADHuAdQfuVTnqVUTLqqUNhAvEwHwVWcnVVZvNlDPGA0UveZsfXJJ9T6k9Po4eHi3c02gbdwO3g6w==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/win32-arm64@0.25.11':
resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-arm64@0.27.5':
+ resolution: {integrity: sha512-0UNx2aavV0fk6UpZcwXFLztA2r/k9jTUa7OW7SAea1VYUhkug99MW1uZeXEnPn5+cHOd0n8myQay6TlFnBR07w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-ia32@0.25.11':
resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-ia32@0.27.5':
+ resolution: {integrity: sha512-5nlJ3AeJWCTSzR7AEqVjT/faWyqKU86kCi1lLmxVqmNR+j4HrYdns+eTGjS/vmrzCIe8inGQckUadvS0+JkKdQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-x64@0.25.11':
resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
+ '@esbuild/win32-x64@0.27.5':
+ resolution: {integrity: sha512-PWypQR+d4FLfkhBIV+/kHsUELAnMpx1bRvvsn3p+/sAERbnCzFrtDRG2Xw5n+2zPxBK2+iaP+vetsRl4Ti7WgA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -452,8 +605,8 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/node@20.19.22':
- resolution: {integrity: sha512-hRnu+5qggKDSyWHlnmThnUqg62l29Aj/6vcYgUaSFL9oc7DVjeWEQN3PRgdSc6F8d9QRMWkf36CLMch1Do/+RQ==}
+ '@types/node@22.19.15':
+ resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -602,9 +755,6 @@ packages:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
- cross-fetch@4.1.0:
- resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==}
-
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
@@ -717,6 +867,11 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ esbuild@0.27.5:
+ resolution: {integrity: sha512-zdQoHBjuDqKsvV5OPaWansOwfSQ0Js+Uj9J85TBvj3bFW1JjWTSULMRwdQAc8qMeIScbClxeMK0jlrtB9linhA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
@@ -763,6 +918,7 @@ packages:
glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
hasBin: true
hasown@2.0.2:
@@ -827,9 +983,6 @@ packages:
lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
- lodash.sortby@4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
-
lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
@@ -891,15 +1044,6 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
-
node-releases@2.0.26:
resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==}
@@ -1153,10 +1297,6 @@ packages:
resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==}
engines: {node: '>=20'}
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
@@ -1212,10 +1352,9 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
- source-map@0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
- engines: {node: '>= 8'}
- deprecated: The work that was done in this beta branch won't be included in future versions
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
@@ -1291,12 +1430,6 @@ packages:
resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
engines: {node: '>=14.0.0'}
- tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
-
- tr46@1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
-
tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
@@ -1304,8 +1437,8 @@ packages:
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- tsup@8.5.0:
- resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==}
+ tsup@8.5.1:
+ resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==}
engines: {node: '>=18'}
hasBin: true
peerDependencies:
@@ -1323,8 +1456,8 @@ packages:
typescript:
optional: true
- typescript@5.9.3:
- resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ typescript@6.0.2:
+ resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==}
engines: {node: '>=14.17'}
hasBin: true
@@ -1433,18 +1566,6 @@ packages:
jsdom:
optional: true
- webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
-
- webidl-conversions@4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
-
- whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
-
- whatwg-url@7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
-
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -1463,8 +1584,8 @@ packages:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
engines: {node: '>=12'}
- zod@4.1.4:
- resolution: {integrity: sha512-2YqJuWkU6IIK9qcE4k1lLLhyZ6zFw7XVRdQGpV97jEIZwTrscUw+DY31Xczd8nwaoksyJUIxCojZXwckJovWxA==}
+ zod@4.3.6:
+ resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
snapshots:
@@ -1516,81 +1637,159 @@ snapshots:
'@esbuild/aix-ppc64@0.25.11':
optional: true
+ '@esbuild/aix-ppc64@0.27.5':
+ optional: true
+
'@esbuild/android-arm64@0.25.11':
optional: true
+ '@esbuild/android-arm64@0.27.5':
+ optional: true
+
'@esbuild/android-arm@0.25.11':
optional: true
+ '@esbuild/android-arm@0.27.5':
+ optional: true
+
'@esbuild/android-x64@0.25.11':
optional: true
+ '@esbuild/android-x64@0.27.5':
+ optional: true
+
'@esbuild/darwin-arm64@0.25.11':
optional: true
+ '@esbuild/darwin-arm64@0.27.5':
+ optional: true
+
'@esbuild/darwin-x64@0.25.11':
optional: true
+ '@esbuild/darwin-x64@0.27.5':
+ optional: true
+
'@esbuild/freebsd-arm64@0.25.11':
optional: true
+ '@esbuild/freebsd-arm64@0.27.5':
+ optional: true
+
'@esbuild/freebsd-x64@0.25.11':
optional: true
+ '@esbuild/freebsd-x64@0.27.5':
+ optional: true
+
'@esbuild/linux-arm64@0.25.11':
optional: true
+ '@esbuild/linux-arm64@0.27.5':
+ optional: true
+
'@esbuild/linux-arm@0.25.11':
optional: true
+ '@esbuild/linux-arm@0.27.5':
+ optional: true
+
'@esbuild/linux-ia32@0.25.11':
optional: true
+ '@esbuild/linux-ia32@0.27.5':
+ optional: true
+
'@esbuild/linux-loong64@0.25.11':
optional: true
+ '@esbuild/linux-loong64@0.27.5':
+ optional: true
+
'@esbuild/linux-mips64el@0.25.11':
optional: true
+ '@esbuild/linux-mips64el@0.27.5':
+ optional: true
+
'@esbuild/linux-ppc64@0.25.11':
optional: true
+ '@esbuild/linux-ppc64@0.27.5':
+ optional: true
+
'@esbuild/linux-riscv64@0.25.11':
optional: true
+ '@esbuild/linux-riscv64@0.27.5':
+ optional: true
+
'@esbuild/linux-s390x@0.25.11':
optional: true
+ '@esbuild/linux-s390x@0.27.5':
+ optional: true
+
'@esbuild/linux-x64@0.25.11':
optional: true
+ '@esbuild/linux-x64@0.27.5':
+ optional: true
+
'@esbuild/netbsd-arm64@0.25.11':
optional: true
+ '@esbuild/netbsd-arm64@0.27.5':
+ optional: true
+
'@esbuild/netbsd-x64@0.25.11':
optional: true
+ '@esbuild/netbsd-x64@0.27.5':
+ optional: true
+
'@esbuild/openbsd-arm64@0.25.11':
optional: true
+ '@esbuild/openbsd-arm64@0.27.5':
+ optional: true
+
'@esbuild/openbsd-x64@0.25.11':
optional: true
+ '@esbuild/openbsd-x64@0.27.5':
+ optional: true
+
'@esbuild/openharmony-arm64@0.25.11':
optional: true
+ '@esbuild/openharmony-arm64@0.27.5':
+ optional: true
+
'@esbuild/sunos-x64@0.25.11':
optional: true
+ '@esbuild/sunos-x64@0.27.5':
+ optional: true
+
'@esbuild/win32-arm64@0.25.11':
optional: true
+ '@esbuild/win32-arm64@0.27.5':
+ optional: true
+
'@esbuild/win32-ia32@0.25.11':
optional: true
+ '@esbuild/win32-ia32@0.27.5':
+ optional: true
+
'@esbuild/win32-x64@0.25.11':
optional: true
+ '@esbuild/win32-x64@0.27.5':
+ optional: true
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -1738,7 +1937,7 @@ snapshots:
'@types/estree@1.0.8': {}
- '@types/node@20.19.22':
+ '@types/node@22.19.15':
dependencies:
undici-types: 6.21.0
@@ -1752,13 +1951,13 @@ snapshots:
chai: 5.3.3
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1))':
+ '@vitest/mocker@3.2.4(vite@7.1.10(@types/node@22.19.15)(jiti@2.6.1))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.19
optionalDependencies:
- vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1)
+ vite: 7.1.10(@types/node@22.19.15)(jiti@2.6.1)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -1830,9 +2029,9 @@ snapshots:
node-releases: 2.0.26
update-browserslist-db: 1.1.4(browserslist@4.27.0)
- bundle-require@5.1.0(esbuild@0.25.11):
+ bundle-require@5.1.0(esbuild@0.27.5):
dependencies:
- esbuild: 0.25.11
+ esbuild: 0.27.5
load-tsconfig: 0.2.5
cac@6.7.14: {}
@@ -1884,12 +2083,6 @@ snapshots:
consola@3.4.2: {}
- cross-fetch@4.1.0:
- dependencies:
- node-fetch: 2.7.0
- transitivePeerDependencies:
- - encoding
-
cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
@@ -2041,6 +2234,35 @@ snapshots:
'@esbuild/win32-ia32': 0.25.11
'@esbuild/win32-x64': 0.25.11
+ esbuild@0.27.5:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.27.5
+ '@esbuild/android-arm': 0.27.5
+ '@esbuild/android-arm64': 0.27.5
+ '@esbuild/android-x64': 0.27.5
+ '@esbuild/darwin-arm64': 0.27.5
+ '@esbuild/darwin-x64': 0.27.5
+ '@esbuild/freebsd-arm64': 0.27.5
+ '@esbuild/freebsd-x64': 0.27.5
+ '@esbuild/linux-arm': 0.27.5
+ '@esbuild/linux-arm64': 0.27.5
+ '@esbuild/linux-ia32': 0.27.5
+ '@esbuild/linux-loong64': 0.27.5
+ '@esbuild/linux-mips64el': 0.27.5
+ '@esbuild/linux-ppc64': 0.27.5
+ '@esbuild/linux-riscv64': 0.27.5
+ '@esbuild/linux-s390x': 0.27.5
+ '@esbuild/linux-x64': 0.27.5
+ '@esbuild/netbsd-arm64': 0.27.5
+ '@esbuild/netbsd-x64': 0.27.5
+ '@esbuild/openbsd-arm64': 0.27.5
+ '@esbuild/openbsd-x64': 0.27.5
+ '@esbuild/openharmony-arm64': 0.27.5
+ '@esbuild/sunos-x64': 0.27.5
+ '@esbuild/win32-arm64': 0.27.5
+ '@esbuild/win32-ia32': 0.27.5
+ '@esbuild/win32-x64': 0.27.5
+
escalade@3.2.0: {}
estree-walker@2.0.2: {}
@@ -2131,8 +2353,6 @@ snapshots:
lodash.memoize@4.1.2: {}
- lodash.sortby@4.7.0: {}
-
lodash.uniq@4.5.0: {}
loupe@3.2.1: {}
@@ -2153,7 +2373,7 @@ snapshots:
minipass@7.1.2: {}
- mkdist@2.4.1(typescript@5.9.3):
+ mkdist@2.4.1(typescript@6.0.2):
dependencies:
autoprefixer: 10.4.21(postcss@8.5.6)
citty: 0.1.6
@@ -2169,7 +2389,7 @@ snapshots:
semver: 7.7.3
tinyglobby: 0.2.15
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
mlly@1.8.0:
dependencies:
@@ -2188,10 +2408,6 @@ snapshots:
nanoid@3.3.11: {}
- node-fetch@2.7.0:
- dependencies:
- whatwg-url: 5.0.0
-
node-releases@2.0.26: {}
normalize-range@0.1.2: {}
@@ -2411,8 +2627,6 @@ snapshots:
pretty-bytes@7.1.0: {}
- punycode@2.3.1: {}
-
readdirp@4.1.2: {}
resolve-from@5.0.0: {}
@@ -2423,11 +2637,11 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- rollup-plugin-dts@6.2.3(rollup@4.52.5)(typescript@5.9.3):
+ rollup-plugin-dts@6.2.3(rollup@4.52.5)(typescript@6.0.2):
dependencies:
magic-string: 0.30.19
rollup: 4.52.5
- typescript: 5.9.3
+ typescript: 6.0.2
optionalDependencies:
'@babel/code-frame': 7.27.1
@@ -2477,9 +2691,7 @@ snapshots:
source-map-js@1.2.1: {}
- source-map@0.8.0-beta.0:
- dependencies:
- whatwg-url: 7.1.0
+ source-map@0.7.6: {}
stackback@0.0.2: {}
@@ -2560,49 +2772,43 @@ snapshots:
tinyspy@4.0.4: {}
- tr46@0.0.3: {}
-
- tr46@1.0.1:
- dependencies:
- punycode: 2.3.1
-
tree-kill@1.2.2: {}
ts-interface-checker@0.1.13: {}
- tsup@8.5.0(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3):
+ tsup@8.5.1(jiti@2.6.1)(postcss@8.5.6)(typescript@6.0.2):
dependencies:
- bundle-require: 5.1.0(esbuild@0.25.11)
+ bundle-require: 5.1.0(esbuild@0.27.5)
cac: 6.7.14
chokidar: 4.0.3
consola: 3.4.2
debug: 4.4.3
- esbuild: 0.25.11
+ esbuild: 0.27.5
fix-dts-default-cjs-exports: 1.0.1
joycon: 3.1.1
picocolors: 1.1.1
postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6)
resolve-from: 5.0.0
rollup: 4.52.5
- source-map: 0.8.0-beta.0
+ source-map: 0.7.6
sucrase: 3.35.0
tinyexec: 0.3.2
tinyglobby: 0.2.15
tree-kill: 1.2.2
optionalDependencies:
postcss: 8.5.6
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- jiti
- supports-color
- tsx
- yaml
- typescript@5.9.3: {}
+ typescript@6.0.2: {}
ufo@1.6.1: {}
- unbuild@3.6.1(typescript@5.9.3):
+ unbuild@3.6.1(typescript@6.0.2):
dependencies:
'@rollup/plugin-alias': 5.1.1(rollup@4.52.5)
'@rollup/plugin-commonjs': 28.0.9(rollup@4.52.5)
@@ -2618,18 +2824,18 @@ snapshots:
hookable: 5.5.3
jiti: 2.6.1
magic-string: 0.30.19
- mkdist: 2.4.1(typescript@5.9.3)
+ mkdist: 2.4.1(typescript@6.0.2)
mlly: 1.8.0
pathe: 2.0.3
pkg-types: 2.3.0
pretty-bytes: 7.1.0
rollup: 4.52.5
- rollup-plugin-dts: 6.2.3(rollup@4.52.5)(typescript@5.9.3)
+ rollup-plugin-dts: 6.2.3(rollup@4.52.5)(typescript@6.0.2)
scule: 1.3.0
tinyglobby: 0.2.15
untyped: 2.0.0
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- sass
- vue
@@ -2656,13 +2862,13 @@ snapshots:
uuid@11.1.0: {}
- vite-node@3.2.4(@types/node@20.19.22)(jiti@2.6.1):
+ vite-node@3.2.4(@types/node@22.19.15)(jiti@2.6.1):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1)
+ vite: 7.1.10(@types/node@22.19.15)(jiti@2.6.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -2677,7 +2883,7 @@ snapshots:
- tsx
- yaml
- vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1):
+ vite@7.1.10(@types/node@22.19.15)(jiti@2.6.1):
dependencies:
esbuild: 0.25.11
fdir: 6.5.0(picomatch@4.0.3)
@@ -2686,15 +2892,15 @@ snapshots:
rollup: 4.52.5
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 20.19.22
+ '@types/node': 22.19.15
fsevents: 2.3.3
jiti: 2.6.1
- vitest@3.2.4(@types/node@20.19.22)(jiti@2.6.1):
+ vitest@3.2.4(@types/node@22.19.15)(jiti@2.6.1):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1))
+ '@vitest/mocker': 3.2.4(vite@7.1.10(@types/node@22.19.15)(jiti@2.6.1))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -2712,11 +2918,11 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1)
- vite-node: 3.2.4(@types/node@20.19.22)(jiti@2.6.1)
+ vite: 7.1.10(@types/node@22.19.15)(jiti@2.6.1)
+ vite-node: 3.2.4(@types/node@22.19.15)(jiti@2.6.1)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 20.19.22
+ '@types/node': 22.19.15
transitivePeerDependencies:
- jiti
- less
@@ -2731,21 +2937,6 @@ snapshots:
- tsx
- yaml
- webidl-conversions@3.0.1: {}
-
- webidl-conversions@4.0.2: {}
-
- whatwg-url@5.0.0:
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
-
- whatwg-url@7.1.0:
- dependencies:
- lodash.sortby: 4.7.0
- tr46: 1.0.1
- webidl-conversions: 4.0.2
-
which@2.0.2:
dependencies:
isexe: 2.0.0
@@ -2767,4 +2958,4 @@ snapshots:
string-width: 5.1.2
strip-ansi: 7.1.2
- zod@4.1.4: {}
+ zod@4.3.6: {}
diff --git a/src/cacheMemoria.ts b/src/cacheMemoria.ts
index 1d2c372..a82d057 100755
--- a/src/cacheMemoria.ts
+++ b/src/cacheMemoria.ts
@@ -12,11 +12,7 @@ const _cache: {
;(globalThis as any).cacheMemoria_cache = _cache
-export const cacheM = (
- chave: any,
- valor?: T,
- validadeSeg?: number,
-): T | undefined => {
+export const cacheM = (chave: any, valor?: T, validadeSeg?: number): T | undefined => {
// converte a chave e string
const txChave: string =
typeof chave == "string"
diff --git a/src/consulta.ts b/src/consulta.ts
index 5e1d331..5faf5f8 100755
--- a/src/consulta.ts
+++ b/src/consulta.ts
@@ -30,17 +30,7 @@ export type interfaceConsulta = {
apenasContagem?: boolean
}
-export const zOperadores = z.enum([
- "=",
- "!=",
- ">",
- ">=",
- "<",
- "<=",
- "like",
- "in",
- "isNull",
-])
+export const zOperadores = z.enum(["=", "!=", ">", ">=", "<", "<=", "like", "in", "isNull"])
export const zFiltro = z.object({
coluna: z.string(),
diff --git a/src/dayjs.ts b/src/dayjs.ts
new file mode 100755
index 0000000..44c3bfd
--- /dev/null
+++ b/src/dayjs.ts
@@ -0,0 +1,29 @@
+import type dayjs from "dayjs"
+import type { Dayjs } from "dayjs"
+
+export type { ManipulateType } from "dayjs"
+
+import duration from "dayjs/plugin/duration"
+import isSameOrAfter from "dayjs/plugin/isSameOrAfter"
+import isSameOrBefore from "dayjs/plugin/isSameOrBefore"
+import minMax from "dayjs/plugin/minMax"
+import relativeTime from "dayjs/plugin/relativeTime"
+import timezone from "dayjs/plugin/timezone"
+import utc from "dayjs/plugin/utc"
+import weekOfYear from "dayjs/plugin/weekOfYear"
+import "dayjs/locale/pt-br"
+
+export const definirDayjsbr = (dayjsEntrada: typeof dayjs) => {
+ dayjsEntrada.locale("pt-br")
+ dayjsEntrada.extend(utc)
+ dayjsEntrada.extend(timezone)
+ dayjsEntrada.extend(weekOfYear)
+ dayjsEntrada.extend(isSameOrBefore)
+ dayjsEntrada.extend(isSameOrAfter)
+ dayjsEntrada.extend(minMax)
+ dayjsEntrada.extend(relativeTime)
+ dayjsEntrada.extend(duration)
+ return dayjsEntrada
+}
+
+export type { Dayjs }
diff --git a/src/extensoes.ts b/src/extensoes.ts
index b321977..274d4d6 100755
--- a/src/extensoes.ts
+++ b/src/extensoes.ts
@@ -162,9 +162,7 @@ export const extensoes: {
* @param nomeArquivo
* @returns
*/
-export const tipoArquivo = (
- nomeArquivo: string | null | undefined,
-): tiposArquivo => {
+export const tipoArquivo = (nomeArquivo: string | null | undefined): tiposArquivo => {
// extenssão do arquivo
const extArquivo = String(nomeArquivo || "")
.toLocaleLowerCase()
diff --git a/src/local/index.ts b/src/local/index.ts
index 210f40e..8863ee0 100755
--- a/src/local/index.ts
+++ b/src/local/index.ts
@@ -2,18 +2,11 @@
* LocalStorage Tipado
* Lê ou grava um valor no localStorage, mantendo o tipo genérico .
*/
-export const localValor = (
- chave_: string | any,
- valor?: T | null,
-): T | null => {
- const localStorage =
- "localStorage" in globalThis ? (globalThis as any).localStorage : undefined
+export const localValor = (chave_: string | any, valor?: T | null): T | null => {
+ const localStorage = "localStorage" in globalThis ? (globalThis as any).localStorage : undefined
if (typeof localStorage == "undefined") return null
- const chave =
- typeof chave_ === "string"
- ? chave_
- : encodeURIComponent(JSON.stringify(chave_))
+ const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_))
try {
// Grava valor se fornecido
diff --git a/src/postgres.ts b/src/postgres.ts
index e3e1787..40dd85b 100755
--- a/src/postgres.ts
+++ b/src/postgres.ts
@@ -14,9 +14,7 @@ export const paraObjetoRegistroPg = (entrada: {
k,
v === undefined || v == null
? v
- : typeof v == "string" ||
- typeof v == "number" ||
- typeof v == "boolean"
+ : typeof v == "string" || typeof v == "number" || typeof v == "boolean"
? v
: JSON.stringify(v, null, 2),
]),
diff --git a/src/tipagemRotas.ts b/src/tipagemRotas.ts
index 92ce985..d8d76e9 100755
--- a/src/tipagemRotas.ts
+++ b/src/tipagemRotas.ts
@@ -63,9 +63,7 @@ export class TipagemRotas {
*/
endereco(query: T, usarComoHash?: boolean) {
- const win =
- (typeof globalThis !== "undefined" && (globalThis as any).window) ||
- undefined
+ const win = (typeof globalThis !== "undefined" && (globalThis as any).window) || undefined
const url = new URL(win ? win.location.href : "http://localhost")
url.pathname = this.caminho
@@ -96,9 +94,7 @@ export class TipagemRotas {
if (this._acaoIr) {
this._acaoIr(this.endereco({ ...query }))
} else {
- const win =
- (typeof globalThis !== "undefined" && (globalThis as any).window) ||
- undefined
+ const win = (typeof globalThis !== "undefined" && (globalThis as any).window) || undefined
if (win) {
win.location.href = this.endereco({ ...query })
}
@@ -124,9 +120,7 @@ export class TipagemRotas {
// pegar hash
const hash = url.hash
if (hash) {
- const hashObj = Object.fromEntries(
- new URLSearchParams(hash.slice(1)).entries(),
- )
+ const hashObj = Object.fromEntries(new URLSearchParams(hash.slice(1)).entries())
queryObj = { ...queryObj, ...hashObj } as T
}
diff --git a/src/tipoFiltro.26.ts b/src/tipoFiltro.26.ts
index f3086da..839f59a 100644
--- a/src/tipoFiltro.26.ts
+++ b/src/tipoFiltro.26.ts
@@ -164,9 +164,7 @@ type IsPlainObject = T extends object
============================================================================= */
type FiltroCampos = {
- [K in keyof T]?: IsPlainObject extends true
- ? tipoFiltro26
- : PgOpsFor
+ [K in keyof T]?: IsPlainObject extends true ? tipoFiltro26 : PgOpsFor
}
/* =============================================================================
diff --git a/src/uuid.ts b/src/uuid.ts
index 1b88c91..18c47d4 100755
--- a/src/uuid.ts
+++ b/src/uuid.ts
@@ -6,8 +6,7 @@ import { NIL, v3, v4 } from "uuid"
* @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 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 || ""))
diff --git a/src/variaveisComuns.ts b/src/variaveisComuns.ts
index 9128332..137f6e9 100755
--- a/src/variaveisComuns.ts
+++ b/src/variaveisComuns.ts
@@ -1,7 +1,5 @@
export const esperar = (ms: number): Promise =>
- new Promise((resolve: (r: true) => void) =>
- setTimeout(() => resolve(true), ms),
- )
+ 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}
@@ -9,5 +7,4 @@ export const esperar = (ms: number): Promise =>
* @param v
* @returns
*/
-export const nomeVariavel = (v: { [key: string]: any }) =>
- Object.keys(v).join("/")
+export const nomeVariavel = (v: { [key: string]: any }) => Object.keys(v).join("/")
diff --git a/tsconfig.json b/tsconfig.json
index 97ddeec..7990baf 100755
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,13 +6,16 @@
/* Linguagem e Ambiente */
"target": "ES2020" /* Define a versão do JavaScript para o código emitido. */,
"lib": [
- "dom.iterable"
+ "ES2020",
+ "DOM",
+ "DOM.Iterable"
] /* Especifica as bibliotecas padrão a serem incluídas, como DOM para iteradores. */,
"experimentalDecorators": true /* Habilita o suporte experimental a decoradores. */,
"emitDecoratorMetadata": true /* Emite metadados de tipos de design para declarações decoradas. */,
/* Módulos */
- "moduleResolution": "node" /* Define como o TypeScript resolve módulos. */,
+ "moduleResolution": "bundler" /* Define como o TypeScript resolve módulos. */,
+ "ignoreDeprecations": "6.0" /* Ignora avisos de depreciação do TS 6.0 */,
"rootDir": "./src" /* Define a pasta raiz para os arquivos de origem. */,
/* Emissão */