@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
- // Text containing ARRAY OF OBJECTS field: containers[].key
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
- return `elem->>'${key}'`;
84
+ const jsonAccess = `elem->>'${key}'`;
85
+ return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
84
86
  }
85
- // Text containing the OBJECT field: containers.key
87
+ // OBJECT FIELD: containers.key
86
88
  if (field.includes(".")) {
87
89
  const [column, key] = field.split(".");
88
- return `COALESCE(NULLIF(${column}, '')::jsonb, '{}'::jsonb)->>'${key}'`;
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":"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"}
1
+ {"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../src/output-gateway/services/FilterBuilder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/mvt-maps",
3
- "version": "1.1.3-dev.2215132885",
3
+ "version": "1.1.3-dev.2219546102",
4
4
  "description": "Golemio MVT Maps Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",