@golemio/mvt-maps 1.1.3-dev.2215132885 → 1.1.3-dev.2219546102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -26,7 +26,7 @@ class FilterBuilder {
|
|
|
26
26
|
const parsedValue = this.parseValue(operator, value);
|
|
27
27
|
const isArrayField = field.includes("[]");
|
|
28
28
|
const arrayColumn = isArrayField ? field.split("[]")[0] : null;
|
|
29
|
-
const baseField = this.buildSqlField(field);
|
|
29
|
+
const baseField = this.buildSqlField(field, operator, parsedValue);
|
|
30
30
|
let comparisonQuery;
|
|
31
31
|
// ---------- NULL ----------
|
|
32
32
|
if (parsedValue === null || parsedValue === undefined) {
|
|
@@ -76,16 +76,19 @@ class FilterBuilder {
|
|
|
76
76
|
) AS ${column}
|
|
77
77
|
`;
|
|
78
78
|
}
|
|
79
|
-
static buildSqlField(field) {
|
|
80
|
-
|
|
79
|
+
static buildSqlField(field, operator, value) {
|
|
80
|
+
const isNumericOp = ["gt", "gte", "lt", "lte"].includes(operator) && typeof value === "number";
|
|
81
|
+
// ARRAY OF OBJECTS: containers[].key
|
|
81
82
|
if (field.includes("[].")) {
|
|
82
83
|
const [, key] = field.split("[].");
|
|
83
|
-
|
|
84
|
+
const jsonAccess = `elem->>'${key}'`;
|
|
85
|
+
return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
|
|
84
86
|
}
|
|
85
|
-
//
|
|
87
|
+
// OBJECT FIELD: containers.key
|
|
86
88
|
if (field.includes(".")) {
|
|
87
89
|
const [column, key] = field.split(".");
|
|
88
|
-
|
|
90
|
+
const jsonAccess = `COALESCE(NULLIF(${column}, '')::jsonb, '{}'::jsonb)->>'${key}'`;
|
|
91
|
+
return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
|
|
89
92
|
}
|
|
90
93
|
// Regular column
|
|
91
94
|
return field;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../src/output-gateway/services/FilterBuilder.ts"],"names":[],"mappings":";;;AAAA,6EAA2E;AAC3E,qDAAkD;AAGlD,MAAa,aAAa;IAiBf,MAAM,CAAC,kBAAkB,CAAC,YAA4B;QACzD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,cAAc,GAAU,EAAE,CAAC;QAEjC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,UAAoB,EAAE,EAAE,CAAC;;;;sCAIpC,MAAM;;wBAEpB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;SAEvC,CAAC;QAEF,qCAAqC;QACrC,MAAM,cAAc,GAA6B,EAAE,CAAC;QAEpD,KAAK,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE;YACnD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC7C,MAAM,IAAI,gCAAe,CACrB,uBAAuB,KAAK,uDAAuD,EACnF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,KAAK,EACL,GAAG,CACN,CAAC;aACL;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../src/output-gateway/services/FilterBuilder.ts"],"names":[],"mappings":"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"}
|