implementado filtro Delta

This commit is contained in:
Luiz Silva 2026-05-30 09:40:49 -03:00
parent b0b76562b7
commit 4aa775266f
6 changed files with 234 additions and 5 deletions

View file

@ -28,6 +28,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var filtroDelta_exports = {};
__export(filtroDelta_exports, {
iniciarFiltroDelta: () => iniciarFiltroDelta,
operadorFiltroDeltaDetalhes: () => operadorFiltroDeltaDetalhes,
zColunaFiltroDelta: () => zColunaFiltroDelta,
zCondicaoFiltroDelta: () => zCondicaoFiltroDelta,
zFiltroDelta: () => zFiltroDelta,
@ -35,7 +37,45 @@ __export(filtroDelta_exports, {
});
module.exports = __toCommonJS(filtroDelta_exports);
var import_zod = __toESM(require("zod"));
const zOperadorFiltroDelta = import_zod.default.enum([">", "<", ">=", "<=", "=", "!=", "in", "like"]);
const zOperadorFiltroDelta = import_zod.default.enum([">", "<", ">=", "<=", "=", "!=", "in", "like", "\u2229"]);
const operadorFiltroDeltaDetalhes = {
">": {
rotulo: "Maior que",
descricao: "O valor de A deve ser maior que o valor de B"
},
"<": {
rotulo: "Menor que",
descricao: "O valor de A deve ser menor que o valor de B"
},
">=": {
rotulo: "Maior ou igual a",
descricao: "O valor de A deve ser maior ou igual ao valor de B"
},
"<=": {
rotulo: "Menor ou igual a",
descricao: "O valor de A deve ser menor ou igual ao valor de B"
},
"=": {
rotulo: "Igual a",
descricao: "O valor de A deve ser igual ao valor de B"
},
"!=": {
rotulo: "Diferente de",
descricao: "O valor de A deve ser diferente do valor de B"
},
in: {
rotulo: "Est\xE1 em",
descricao: "O valor de A deve estar presente na cole\xE7\xE3o ou lista definida em B"
},
like: {
rotulo: "Cont\xE9m",
descricao: "O valor de A deve conter o texto informado em B"
},
"\u2229": {
rotulo: "Interse\xE7\xE3o",
descricao: "A e B devem possuir pelo menos um elemento em comum"
}
};
const regexIdCondicaoFiltroDelta = /^\{[\w:]+\}$/;
const regexColunaFiltroDelta = /^\w+(\.\w+)*$/;
const zColunaFiltroDelta = import_zod.default.string().regex(regexColunaFiltroDelta, "Coluna inv\xE1lida").describe("nome da coluna ou caminho aninhado do jsonb");
@ -100,8 +140,15 @@ const zFiltroDelta = import_zod.default.object({
}
}
});
const iniciarFiltroDelta = () => {
return {
criarFiltroDelta: (filtro) => zFiltroDelta.parse(filtro)
};
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
iniciarFiltroDelta,
operadorFiltroDeltaDetalhes,
zColunaFiltroDelta,
zCondicaoFiltroDelta,
zFiltroDelta,