@golemio/mvt-maps 1.1.3-dev.2098257959 → 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.
@@ -4,6 +4,9 @@ export declare class FilterBuilder {
4
4
  static prepareFilterQuery(filterParams: IFilterParam[]): {
5
5
  query: string[];
6
6
  bindings: any[];
7
+ arrayFilters: Record<string, string[]>;
7
8
  };
9
+ static buildArraySelectField(column: string, conditions: string[]): string;
10
+ private static buildSqlField;
8
11
  private static parseValue;
9
12
  }
@@ -8,46 +8,97 @@ class FilterBuilder {
8
8
  let bindingIndex = 1;
9
9
  const filterQueries = [];
10
10
  const filterBindings = [];
11
- for (const filterParam of filterParams) {
12
- const { field, operator, value } = filterParam;
13
- // Custom validation: field must be lowercase letters and underscores only
14
- if (!/^([a-z_]+)$/.test(field)) {
11
+ const wrapArrayExists = (column, conditions) => `
12
+ EXISTS (
13
+ SELECT 1
14
+ FROM jsonb_array_elements(
15
+ COALESCE(NULLIF(${column}, '')::jsonb, '[]'::jsonb)
16
+ ) elem
17
+ WHERE ${conditions.join(" AND ")}
18
+ )
19
+ `;
20
+ // collect per-array-field conditions
21
+ const arrayFilterMap = {};
22
+ for (const { field, operator, value } of filterParams) {
23
+ if (!/^[a-z_]+(\[\])?(\.[a-z_]+)?$/.test(field)) {
15
24
  throw new golemio_errors_1.ValidationError(`Invalid field name: ${field}. Only lowercase letters and underscores are allowed.`, this.constructor.name, field, 400);
16
25
  }
17
26
  const parsedValue = this.parseValue(operator, value);
18
- if (Array.isArray(parsedValue)) {
19
- const filterQuery = this.operatorBuilders[operator](field, bindingIndex, parsedValue.length);
20
- filterQueries.push(filterQuery);
27
+ const isArrayField = field.includes("[]");
28
+ const arrayColumn = isArrayField ? field.split("[]")[0] : null;
29
+ const baseField = this.buildSqlField(field, operator, parsedValue);
30
+ let comparisonQuery;
31
+ // ---------- NULL ----------
32
+ if (parsedValue === null || parsedValue === undefined) {
33
+ comparisonQuery = this.operatorBuilders[`${operator}NULL`](baseField, bindingIndex);
34
+ }
35
+ // ---------- ARRAY VALUE ----------
36
+ else if (Array.isArray(parsedValue)) {
37
+ comparisonQuery = this.operatorBuilders[operator](baseField, bindingIndex, parsedValue.length);
21
38
  filterBindings.push(...parsedValue);
22
39
  bindingIndex += parsedValue.length;
23
40
  }
24
- else if (parsedValue === null || parsedValue === undefined) {
25
- const filterQuery = this.operatorBuilders[operator + "NULL"](field, bindingIndex);
26
- filterQueries.push(filterQuery);
27
- }
41
+ // ---------- SINGLE VALUE ----------
28
42
  else {
29
- const filterQuery = this.operatorBuilders[operator](field, bindingIndex);
30
- filterQueries.push(filterQuery);
43
+ comparisonQuery = this.operatorBuilders[operator](baseField, bindingIndex);
31
44
  filterBindings.push(parsedValue);
32
- bindingIndex++;
45
+ bindingIndex += 1;
46
+ }
47
+ // ---------- ARRAY FIELD WRAPPING -> group mapping ----------
48
+ if (isArrayField && arrayColumn) {
49
+ if (!arrayFilterMap[arrayColumn]) {
50
+ arrayFilterMap[arrayColumn] = [];
51
+ }
52
+ arrayFilterMap[arrayColumn].push(comparisonQuery);
53
+ continue;
33
54
  }
55
+ // regular column
56
+ filterQueries.push(comparisonQuery);
57
+ }
58
+ // ----------- add EXISTS blocks per array column --------------
59
+ for (const col of Object.keys(arrayFilterMap)) {
60
+ filterQueries.push(wrapArrayExists(col, arrayFilterMap[col]));
34
61
  }
35
62
  return {
36
63
  query: filterQueries,
37
64
  bindings: filterBindings,
65
+ arrayFilters: arrayFilterMap,
38
66
  };
39
67
  }
68
+ static buildArraySelectField(column, conditions) {
69
+ return `
70
+ , (
71
+ SELECT jsonb_agg(elem)::text
72
+ FROM jsonb_array_elements(
73
+ COALESCE(NULLIF(${column}, '')::jsonb, '[]'::jsonb)
74
+ ) elem
75
+ WHERE ${conditions.join(" AND ")}
76
+ ) AS ${column}
77
+ `;
78
+ }
79
+ static buildSqlField(field, operator, value) {
80
+ const isNumericOp = ["gt", "gte", "lt", "lte"].includes(operator) && typeof value === "number";
81
+ // ARRAY OF OBJECTS: containers[].key
82
+ if (field.includes("[].")) {
83
+ const [, key] = field.split("[].");
84
+ const jsonAccess = `elem->>'${key}'`;
85
+ return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
86
+ }
87
+ // OBJECT FIELD: containers.key
88
+ if (field.includes(".")) {
89
+ const [column, key] = field.split(".");
90
+ const jsonAccess = `COALESCE(NULLIF(${column}, '')::jsonb, '{}'::jsonb)->>'${key}'`;
91
+ return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
92
+ }
93
+ // Regular column
94
+ return field;
95
+ }
40
96
  static parseValue(operator, value) {
41
97
  if (operator === "in") {
42
98
  return value.split(",");
43
99
  }
44
- else if (operator === "gt" || operator === "gte" || operator === "lt" || operator === "lte") {
45
- if (isNaN(Number(value)) || value === "") {
46
- return value;
47
- }
48
- else {
49
- return Number(value);
50
- }
100
+ if (["gt", "gte", "lt", "lte"].includes(operator)) {
101
+ return isNaN(Number(value)) || value === "" ? value : Number(value);
51
102
  }
52
103
  return value;
53
104
  }
@@ -55,20 +106,17 @@ class FilterBuilder {
55
106
  exports.FilterBuilder = FilterBuilder;
56
107
  FilterBuilder.operatorBuilders = {
57
108
  [FilterOperator_1.FilterOperator.EQ]: (field, bindingIndex) => `${field} = \$${bindingIndex}`,
58
- [FilterOperator_1.FilterOperator.EQ + "NULL"]: (field, bindingIndex) => `${field} is null`,
109
+ [FilterOperator_1.FilterOperator.EQ + "NULL"]: (field) => `${field} is null`,
59
110
  [FilterOperator_1.FilterOperator.NE]: (field, bindingIndex) => `${field} != \$${bindingIndex}`,
60
111
  [FilterOperator_1.FilterOperator.GT]: (field, bindingIndex) => `${field} > \$${bindingIndex}`,
61
112
  [FilterOperator_1.FilterOperator.GTE]: (field, bindingIndex) => `${field} >= \$${bindingIndex}`,
62
113
  [FilterOperator_1.FilterOperator.LT]: (field, bindingIndex) => `${field} < \$${bindingIndex}`,
63
114
  [FilterOperator_1.FilterOperator.LTE]: (field, bindingIndex) => `${field} <= \$${bindingIndex}`,
64
115
  [FilterOperator_1.FilterOperator.IN]: (field, bindingIndex, count) => {
65
- if (count) {
116
+ if (count && count > 1) {
66
117
  return `${field} IN (${Array.from({ length: count }, (_, i) => `\$${bindingIndex + i}`).join(",")})`;
67
118
  }
68
- else {
69
- return `${field} IN (\$${bindingIndex})`;
70
- }
119
+ return `${field} = \$${bindingIndex}`;
71
120
  },
72
- //...
73
121
  };
74
122
  //# sourceMappingURL=FilterBuilder.js.map
@@ -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":";;;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,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEnE,IAAI,eAAuB,CAAC;YAE5B,6BAA6B;YAC7B,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;gBACnD,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;aACvF;YACD,oCAAoC;iBAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACjC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/F,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;gBACpC,YAAY,IAAI,WAAW,CAAC,MAAM,CAAC;aACtC;YACD,qCAAqC;iBAChC;gBACD,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC3E,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,YAAY,IAAI,CAAC,CAAC;aACrB;YAED,8DAA8D;YAC9D,IAAI,YAAY,IAAI,WAAW,EAAE;gBAC7B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;oBAC9B,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;iBACpC;gBACD,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAClD,SAAS;aACZ;YAED,iBAAiB;YACjB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;QAED,gEAAgE;QAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC3C,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjE;QAED,OAAO;YACH,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc;YACxB,YAAY,EAAE,cAAc;SAC/B,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,MAAc,EAAE,UAAoB;QACpE,OAAO;;;;sCAIuB,MAAM;;wBAEpB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;mBAC7B,MAAM;SAChB,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAiC;QAC3F,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;QAE/F,qCAAqC;QACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,WAAW,GAAG,GAAG,CAAC;YACrC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;SAChE;QAED,+BAA+B;QAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,mBAAmB,MAAM,iCAAiC,GAAG,GAAG,CAAC;YACpF,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;SAChE;QAED,iBAAiB;QACjB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,QAAgB,EAAE,KAAa;QACrD,IAAI,QAAQ,KAAK,IAAI,EAAE;YACnB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC/C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACvE;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;;AA1IL,sCA2IC;AA1I2B,8BAAgB,GAAoF;IACxH,CAAC,+BAAc,CAAC,EAAE,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,YAAY,EAAE;IAC5F,CAAC,+BAAc,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU;IACnE,CAAC,+BAAc,CAAC,EAAE,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,YAAY,EAAE;IAC7F,CAAC,+BAAc,CAAC,EAAE,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,YAAY,EAAE;IAC5F,CAAC,+BAAc,CAAC,GAAG,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,YAAY,EAAE;IAC9F,CAAC,+BAAc,CAAC,EAAE,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,YAAY,EAAE;IAC5F,CAAC,+BAAc,CAAC,GAAG,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,YAAY,EAAE;IAC9F,CAAC,+BAAc,CAAC,EAAE,CAAC,EAAE,CAAC,KAAa,EAAE,YAAoB,EAAE,KAAc,EAAE,EAAE;QACzE,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE;YACpB,OAAO,GAAG,KAAK,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;SACxG;QACD,OAAO,GAAG,KAAK,QAAQ,YAAY,EAAE,CAAC;IAC1C,CAAC;CACJ,CAAC"}
@@ -23,17 +23,26 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
23
23
  constructor(connector, logger) {
24
24
  this.connector = connector;
25
25
  this.logger = logger;
26
- this.getBaseQuery = (clusterPoint) => {
27
- return ({ x, y, z, table, geometry, maxZoomLevel, attributes, query }) => `SELECT
28
- ${clusterPoint} AS center,
29
- ${geometry} as zoomGeom,
30
- 1 AS size,
31
- 0 AS clusterNo,
32
- ${maxZoomLevel + 1} AS expansionZoom${attributes}
33
- FROM ${table}
34
- WHERE
35
- ST_Intersects(TileBBox(${z}, ${x}, ${y}, 4326), ${geometry})
36
- ${query.length > 0 ? `AND ${query.join(" AND ")}` : ""}`;
26
+ this.getBaseQuery = (clusterPoint, arrayFilters = {}) => {
27
+ return ({ x, y, z, table, geometry, maxZoomLevel, attributes, query }) => {
28
+ // build array SELECT fragments for any array filters and remove them from original attributes
29
+ const arraySelects = Object.entries(arrayFilters)
30
+ .map(([column, conditions]) => FilterBuilder_1.FilterBuilder.buildArraySelectField(column, conditions))
31
+ .join("\n");
32
+ const modifiedAttributes = attributes.split(", ").filter((attr) => !Object.keys(arrayFilters).includes(attr));
33
+ return `
34
+ SELECT
35
+ ${clusterPoint} AS center,
36
+ ${geometry} as zoomGeom,
37
+ 1 AS size,
38
+ 0 AS clusterNo,
39
+ ${maxZoomLevel + 1} AS expansionZoom${modifiedAttributes.join(", ") || ""}
40
+ ${arraySelects}
41
+ FROM ${table}
42
+ WHERE
43
+ ST_Intersects(TileBBox(${z}, ${x}, ${y}, 4326), ${geometry})
44
+ ${query.length > 0 ? `AND ${query.join(" AND ")}` : ""}`;
45
+ };
37
46
  };
38
47
  this.getLevelClusterQuery = ({ parentTable, zoomLevel, radius, attributes, zoomToDistance, }) => {
39
48
  return `SELECT
@@ -74,17 +83,17 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
74
83
  };
75
84
  }
76
85
  async getTile(table, geometry, x, y, z, zoomLevel, attributes, radius = 15, clusterPoint, colorAttribute, filterParams) {
86
+ const allAttributes = [...attributes, ...(colorAttribute ? [colorAttribute] : []), ...(geometry ? [geometry] : [])];
87
+ const { query: filterQueries, bindings: filterValues, arrayFilters, } = FilterBuilder_1.FilterBuilder.prepareFilterQuery(filterParams ?? []);
77
88
  const defaultConfig = {
78
89
  sourceLayer: "points",
79
90
  extent: 4096,
80
91
  bufferSize: 256,
81
92
  debug: false,
82
93
  query: [],
83
- getBaseQuery: this.getBaseQuery(clusterPoint ?? geometry),
94
+ getBaseQuery: this.getBaseQuery(clusterPoint ?? geometry, arrayFilters),
84
95
  getTileQuery: this.getTileQuery,
85
96
  };
86
- const allAttributes = [...attributes, ...(colorAttribute ? [colorAttribute] : []), ...(geometry ? [geometry] : [])];
87
- const { query: filterQueries, bindings: filterValues } = FilterBuilder_1.FilterBuilder.prepareFilterQuery(filterParams ?? []);
88
97
  const query = (0, clusterbuster_1.createQueryForTile)({
89
98
  ...defaultConfig,
90
99
  z,
@@ -92,7 +101,7 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
92
101
  y,
93
102
  maxZoomLevel: zoomLevel,
94
103
  table,
95
- geometry: geometry,
104
+ geometry,
96
105
  radius,
97
106
  attributes: allAttributes,
98
107
  query: filterQueries,
@@ -1 +1 @@
1
- {"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.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.2098257959",
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",