@golemio/mvt-maps 1.1.2 → 1.1.3-dev.2215132885

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,94 @@ 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);
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) {
80
+ // Text containing ARRAY OF OBJECTS field: containers[].key
81
+ if (field.includes("[].")) {
82
+ const [, key] = field.split("[].");
83
+ return `elem->>'${key}'`;
84
+ }
85
+ // Text containing the OBJECT field: containers.key
86
+ if (field.includes(".")) {
87
+ const [column, key] = field.split(".");
88
+ return `COALESCE(NULLIF(${column}, '')::jsonb, '{}'::jsonb)->>'${key}'`;
89
+ }
90
+ // Regular column
91
+ return field;
92
+ }
40
93
  static parseValue(operator, value) {
41
94
  if (operator === "in") {
42
95
  return value.split(",");
43
96
  }
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
- }
97
+ if (["gt", "gte", "lt", "lte"].includes(operator)) {
98
+ return isNaN(Number(value)) || value === "" ? value : Number(value);
51
99
  }
52
100
  return value;
53
101
  }
@@ -55,20 +103,17 @@ class FilterBuilder {
55
103
  exports.FilterBuilder = FilterBuilder;
56
104
  FilterBuilder.operatorBuilders = {
57
105
  [FilterOperator_1.FilterOperator.EQ]: (field, bindingIndex) => `${field} = \$${bindingIndex}`,
58
- [FilterOperator_1.FilterOperator.EQ + "NULL"]: (field, bindingIndex) => `${field} is null`,
106
+ [FilterOperator_1.FilterOperator.EQ + "NULL"]: (field) => `${field} is null`,
59
107
  [FilterOperator_1.FilterOperator.NE]: (field, bindingIndex) => `${field} != \$${bindingIndex}`,
60
108
  [FilterOperator_1.FilterOperator.GT]: (field, bindingIndex) => `${field} > \$${bindingIndex}`,
61
109
  [FilterOperator_1.FilterOperator.GTE]: (field, bindingIndex) => `${field} >= \$${bindingIndex}`,
62
110
  [FilterOperator_1.FilterOperator.LT]: (field, bindingIndex) => `${field} < \$${bindingIndex}`,
63
111
  [FilterOperator_1.FilterOperator.LTE]: (field, bindingIndex) => `${field} <= \$${bindingIndex}`,
64
112
  [FilterOperator_1.FilterOperator.IN]: (field, bindingIndex, count) => {
65
- if (count) {
113
+ if (count && count > 1) {
66
114
  return `${field} IN (${Array.from({ length: count }, (_, i) => `\$${bindingIndex + i}`).join(",")})`;
67
115
  }
68
- else {
69
- return `${field} IN (\$${bindingIndex})`;
70
- }
116
+ return `${field} = \$${bindingIndex}`;
71
117
  },
72
- //...
73
118
  };
74
119
  //# 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":"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"}
@@ -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.2",
3
+ "version": "1.1.3-dev.2215132885",
4
4
  "description": "Golemio MVT Maps Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -69,7 +69,7 @@
69
69
  "typescript-transform-paths": "^3.4.6"
70
70
  },
71
71
  "dependencies": {
72
- "@golemio/clusterbuster": "2.9.1-diversion.1"
72
+ "@golemio/clusterbuster": "2.9.1-diversion.1-dev.1844572513"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@golemio/core": ">=1.20.5"