prostgles-server 3.0.77 → 3.0.79

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.
Files changed (81) hide show
  1. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  2. package/dist/DboBuilder/QueryBuilder/Functions.js +18 -0
  3. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  4. package/dist/DboBuilder/TableHandler.d.ts.map +1 -1
  5. package/dist/DboBuilder/TableHandler.js +1 -1
  6. package/dist/DboBuilder/TableHandler.js.map +1 -1
  7. package/dist/DboBuilder/ViewHandler.d.ts +6 -12
  8. package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
  9. package/dist/DboBuilder/ViewHandler.js +5 -207
  10. package/dist/DboBuilder/ViewHandler.js.map +1 -1
  11. package/dist/DboBuilder/delete.d.ts.map +1 -1
  12. package/dist/DboBuilder/delete.js +1 -1
  13. package/dist/DboBuilder/delete.js.map +1 -1
  14. package/dist/DboBuilder/getCondition.d.ts +19 -0
  15. package/dist/DboBuilder/getCondition.d.ts.map +1 -0
  16. package/dist/DboBuilder/getCondition.js +236 -0
  17. package/dist/DboBuilder/getCondition.js.map +1 -0
  18. package/dist/DboBuilder/insert.d.ts.map +1 -1
  19. package/dist/DboBuilder/insert.js +2 -2
  20. package/dist/DboBuilder/insert.js.map +1 -1
  21. package/dist/DboBuilder/subscribe.d.ts.map +1 -1
  22. package/dist/DboBuilder/subscribe.js +1 -1
  23. package/dist/DboBuilder/subscribe.js.map +1 -1
  24. package/dist/DboBuilder/update.d.ts.map +1 -1
  25. package/dist/DboBuilder/update.js +2 -2
  26. package/dist/DboBuilder/update.js.map +1 -1
  27. package/dist/DboBuilder.d.ts +2 -4
  28. package/dist/DboBuilder.d.ts.map +1 -1
  29. package/dist/DboBuilder.js +3 -4
  30. package/dist/DboBuilder.js.map +1 -1
  31. package/dist/Filtering.d.ts.map +1 -1
  32. package/dist/Filtering.js +94 -73
  33. package/dist/Filtering.js.map +1 -1
  34. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  35. package/dist/PubSubManager/initPubSubManager.js +10 -2
  36. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  37. package/dist/PublishParser.d.ts.map +1 -1
  38. package/dist/PublishParser.js +8 -3
  39. package/dist/PublishParser.js.map +1 -1
  40. package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  41. package/lib/DboBuilder/QueryBuilder/Functions.js +18 -0
  42. package/lib/DboBuilder/QueryBuilder/Functions.ts +23 -0
  43. package/lib/DboBuilder/TableHandler.d.ts.map +1 -1
  44. package/lib/DboBuilder/TableHandler.js +1 -1
  45. package/lib/DboBuilder/TableHandler.ts +2 -2
  46. package/lib/DboBuilder/ViewHandler.d.ts +1 -14
  47. package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
  48. package/lib/DboBuilder/ViewHandler.js +5 -207
  49. package/lib/DboBuilder/ViewHandler.ts +9 -248
  50. package/lib/DboBuilder/delete.d.ts.map +1 -1
  51. package/lib/DboBuilder/delete.js +1 -1
  52. package/lib/DboBuilder/delete.ts +2 -2
  53. package/lib/DboBuilder/getCondition.d.ts +19 -0
  54. package/lib/DboBuilder/getCondition.d.ts.map +1 -0
  55. package/lib/DboBuilder/getCondition.js +235 -0
  56. package/lib/DboBuilder/getCondition.ts +279 -0
  57. package/lib/DboBuilder/insert.d.ts.map +1 -1
  58. package/lib/DboBuilder/insert.js +2 -2
  59. package/lib/DboBuilder/insert.ts +3 -3
  60. package/lib/DboBuilder/subscribe.d.ts.map +1 -1
  61. package/lib/DboBuilder/subscribe.js +1 -1
  62. package/lib/DboBuilder/subscribe.ts +2 -2
  63. package/lib/DboBuilder/update.d.ts.map +1 -1
  64. package/lib/DboBuilder/update.js +2 -2
  65. package/lib/DboBuilder/update.ts +3 -3
  66. package/lib/DboBuilder.d.ts +2 -4
  67. package/lib/DboBuilder.d.ts.map +1 -1
  68. package/lib/DboBuilder.js +3 -4
  69. package/lib/DboBuilder.ts +5 -13
  70. package/lib/Filtering.d.ts.map +1 -1
  71. package/lib/Filtering.js +94 -73
  72. package/lib/Filtering.ts +104 -79
  73. package/lib/PubSubManager/initPubSubManager.d.ts.map +1 -1
  74. package/lib/PubSubManager/initPubSubManager.js +10 -2
  75. package/lib/PubSubManager/initPubSubManager.ts +11 -2
  76. package/lib/PublishParser.d.ts.map +1 -1
  77. package/lib/PublishParser.js +8 -3
  78. package/lib/PublishParser.ts +10 -4
  79. package/package.json +4 -4
  80. package/tests/client/PID.txt +1 -1
  81. package/tests/server/package-lock.json +7 -7
@@ -1,6 +1,6 @@
1
1
  import * as pgPromise from 'pg-promise';
2
2
  import pg = require('pg-promise/typescript/pg-subset');
3
- import { ColumnInfo, SQLOptions, DbJoinMaker, PG_COLUMN_UDT_DATA_TYPE, TS_PG_Types, TableInfo as TInfo, SQLHandler, AnyObject, ProstglesError } from "prostgles-types";
3
+ import { ColumnInfo, SQLOptions, DbJoinMaker, PG_COLUMN_UDT_DATA_TYPE, TS_PG_Types, TableInfo as TInfo, SQLHandler, AnyObject, ProstglesError, EXISTS_KEY } from "prostgles-types";
4
4
  export declare type SortItem = {
5
5
  asc: boolean;
6
6
  nulls?: "first" | "last";
@@ -181,9 +181,7 @@ export declare type ValidatedTableRules = CommonTableRules & {
181
181
  returningFields: string[];
182
182
  };
183
183
  };
184
- export declare function makeErr(err: any, localParams?: LocalParams, view?: ViewHandler, allowedKeys?: string[]): Promise<never>;
185
- export declare const EXISTS_KEYS: readonly ["$exists", "$notExists", "$existsJoined", "$notExistsJoined"];
186
- export declare type EXISTS_KEY = typeof EXISTS_KEYS[number];
184
+ export declare function makeErrorFromPGError(err: any, localParams?: LocalParams, view?: ViewHandler, allowedKeys?: string[]): Promise<never>;
187
185
  /**
188
186
  * Ensure the error is an Object and has
189
187
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}
package/lib/DboBuilder.js CHANGED
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.canEXECUTE = exports.prepareSort = exports.postgresToTsType = exports.isPlainObject = exports.DboBuilder = exports.parseError = exports.EXISTS_KEYS = exports.makeErr = exports.escapeTSNames = exports.pgp = void 0;
30
+ exports.canEXECUTE = exports.prepareSort = exports.postgresToTsType = exports.isPlainObject = exports.DboBuilder = exports.parseError = exports.makeErrorFromPGError = exports.escapeTSNames = exports.pgp = void 0;
31
31
  const Bluebird = __importStar(require("bluebird"));
32
32
  const pgPromise = __importStar(require("pg-promise"));
33
33
  const runSQL_1 = require("./DboBuilder/runSQL");
@@ -86,7 +86,7 @@ function escapeTSNames(str, capitalize = false) {
86
86
  exports.escapeTSNames = escapeTSNames;
87
87
  const shortestPath_1 = require("./shortestPath");
88
88
  /* DEBUG CLIENT ERRORS HERE */
89
- function makeErr(err, localParams, view, allowedKeys) {
89
+ function makeErrorFromPGError(err, localParams, view, allowedKeys) {
90
90
  // console.trace(err)
91
91
  if (process.env.TEST_TYPE || process.env.PRGL_DEBUG) {
92
92
  console.trace(err);
@@ -111,8 +111,7 @@ function makeErr(err, localParams, view, allowedKeys) {
111
111
  }
112
112
  return Promise.reject(errObject);
113
113
  }
114
- exports.makeErr = makeErr;
115
- exports.EXISTS_KEYS = ["$exists", "$notExists", "$existsJoined", "$notExistsJoined"];
114
+ exports.makeErrorFromPGError = makeErrorFromPGError;
116
115
  /**
117
116
  * Ensure the error is an Object and has
118
117
  */
package/lib/DboBuilder.ts CHANGED
@@ -4,19 +4,14 @@
4
4
  * Licensed under the MIT License. See LICENSE in the project root for license information.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
 
7
- import * as Bluebird from "bluebird";
8
- import { makeSelectQuery } from "./DboBuilder/QueryBuilder/makeSelectQuery"
7
+ import * as Bluebird from "bluebird";
9
8
 
10
9
  import * as pgPromise from 'pg-promise';
11
10
  import { canRunSQL, runSQL } from "./DboBuilder/runSQL";
12
11
  import pg = require('pg-promise/typescript/pg-subset');
13
12
  import {
14
- ColumnInfo, ValidatedColumnInfo, FieldFilter, SelectParams, SubscribeParams,
15
- OrderBy, InsertParams, UpdateParams, DeleteParams, SQLOptions,
16
- DbJoinMaker,
17
- unpatchText,
18
- isEmpty,
19
- asName,
13
+ ColumnInfo, SQLOptions,
14
+ DbJoinMaker,
20
15
  PG_COLUMN_UDT_DATA_TYPE,
21
16
  TS_PG_Types,
22
17
  TableInfo as TInfo,
@@ -25,7 +20,7 @@ import {
25
20
  SQLResult,
26
21
  Select,
27
22
  JoinMaker,
28
- isObject, isDefined, getKeys, ProstglesError, _PG_geometric
23
+ isObject, isDefined, getKeys, ProstglesError, _PG_geometric, EXISTS_KEY
29
24
  } from "prostgles-types";
30
25
 
31
26
  export type SortItem = {
@@ -340,7 +335,7 @@ export type ValidatedTableRules = CommonTableRules & {
340
335
  }
341
336
 
342
337
  /* DEBUG CLIENT ERRORS HERE */
343
- export function makeErr(err: any, localParams?: LocalParams, view?: ViewHandler, allowedKeys?: string[]) {
338
+ export function makeErrorFromPGError(err: any, localParams?: LocalParams, view?: ViewHandler, allowedKeys?: string[]) {
344
339
  // console.trace(err)
345
340
  if (process.env.TEST_TYPE || process.env.PRGL_DEBUG) {
346
341
  console.trace(err)
@@ -367,9 +362,6 @@ export function makeErr(err: any, localParams?: LocalParams, view?: ViewHandler,
367
362
  }
368
363
  return Promise.reject(errObject);
369
364
  }
370
- export const EXISTS_KEYS = ["$exists", "$notExists", "$existsJoined", "$notExistsJoined"] as const;
371
- export type EXISTS_KEY = typeof EXISTS_KEYS[number];
372
-
373
365
 
374
366
  /**
375
367
  * Ensure the error is an Object and has
@@ -1 +1 @@
1
- {"version":3,"file":"Filtering.d.ts","sourceRoot":"","sources":["Filtering.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EACa,UAAU,EAG7B,MAAM,iBAAiB,CAAC;AAGzB;;;EAGE;AACF,aAAK,mBAAmB,GAAG;IAAG,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AACzG,eAAO,MAAM,eAAe,SAAU,mBAAmB,KAAG,MAyT3D,CAAA"}
1
+ {"version":3,"file":"Filtering.d.ts","sourceRoot":"","sources":["Filtering.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EACa,UAAU,EAG7B,MAAM,iBAAiB,CAAC;AAGzB;;;EAGE;AACF,aAAK,mBAAmB,GAAG;IAAG,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AACzG,eAAO,MAAM,eAAe,SAAU,mBAAmB,KAAG,MAkV3D,CAAA"}
package/lib/Filtering.js CHANGED
@@ -9,10 +9,14 @@ const parseFilterItem = (args) => {
9
9
  return "";
10
10
  const mErr = (msg) => {
11
11
  throw `${msg}: ${JSON.stringify(_f, null, 2)}`;
12
- }, asValue = (v) => pgp.as.format("$1", [v]);
12
+ };
13
+ const asValue = (v) => pgp.as.format("$1", [v]);
13
14
  const fKeys = (0, prostgles_types_1.getKeys)(_f);
14
15
  if (fKeys.length === 0) {
15
16
  return "";
17
+ /**
18
+ * { field1: cond1, field2: cond2 }
19
+ */
16
20
  }
17
21
  else if (fKeys.length > 1) {
18
22
  return fKeys.map(fk => (0, exports.parseFilterItem)({
@@ -42,17 +46,18 @@ const parseFilterItem = (args) => {
42
46
  * Parsed left side of the query
43
47
  */
44
48
  let leftQ; // = asName(selItem.alias);
45
- /* Check if string notation. Build obj if necessary */
49
+ /*
50
+ Select item not found.
51
+ Check if dot/json notation. Build obj if necessary
52
+ */
46
53
  const dot_notation_delims = ["->", "."];
47
54
  if (!selItem) {
48
55
  /* See if dot notation. Pick the best matching starting string */
49
56
  if (select) {
50
- selItem = select.find(s => fKey.startsWith(s.alias) &&
51
- dot_notation_delims.find(dn => fKey.slice(s.alias.length).startsWith(dn)));
57
+ selItem = select.find(s => dot_notation_delims.find(delimiter => fKey.startsWith(s.alias + delimiter)));
52
58
  }
53
59
  if (!selItem) {
54
- mErr("Bad filter. Could not match to a column or alias: ");
55
- throw " ";
60
+ return mErr("Bad filter. Could not match to a column or alias or dot notation: ");
56
61
  }
57
62
  let remainingStr = fKey.slice(selItem.alias.length);
58
63
  /* Is json path spec */
@@ -135,7 +140,7 @@ const parseFilterItem = (args) => {
135
140
  if (!leftQ)
136
141
  mErr("Internal error: leftQ missing?!");
137
142
  /* Matching sel item */
138
- if ((0, DboBuilder_1.isPlainObject)(rightF) && selItem.column_udt_type !== "jsonb") {
143
+ if ((0, DboBuilder_1.isPlainObject)(rightF)) {
139
144
  const parseRightVal = (val, expect = null) => {
140
145
  const checkIfArr = () => {
141
146
  if (!Array.isArray(val))
@@ -151,126 +156,142 @@ const parseFilterItem = (args) => {
151
156
  }
152
157
  return asValue(val);
153
158
  };
159
+ const OPERANDS = [
160
+ ...prostgles_types_1.TextFilterKeys,
161
+ ...prostgles_types_1.JsonbFilterKeys,
162
+ ...prostgles_types_1.CompareFilterKeys,
163
+ ...prostgles_types_1.CompareInFilterKeys
164
+ ];
154
165
  const filterKeys = Object.keys(rightF);
155
- if (filterKeys.length !== 1) {
156
- mErr("Bad filter. Expecting one key only");
166
+ const filterOperand = filterKeys[0];
167
+ /** JSON cannot be compared so we'll cast it to TEXT */
168
+ if (selItem?.column_udt_type === "json" || prostgles_types_1.TextFilterKeys.includes(filterOperand)) {
169
+ leftQ += "::TEXT ";
157
170
  }
158
- const fOpType = filterKeys[0];
159
- const fVal = rightF[fOpType];
160
- let sOpType;
161
- let sVal;
162
- if (fVal && (0, DboBuilder_1.isPlainObject)(fVal)) {
163
- const keys = Object.keys(fVal);
164
- if (!keys.length || keys.length !== 1) {
171
+ /** It's an object key which means it's an equality comparison against a json object */
172
+ if (selItem?.column_udt_type?.startsWith("json") && !OPERANDS.includes(filterOperand)) {
173
+ return leftQ + " = " + parseRightVal(rightF);
174
+ }
175
+ if (filterKeys.length !== 1 && selItem.column_udt_type !== "jsonb") {
176
+ return mErr("Bad filter. Expecting one key only");
177
+ }
178
+ const filterValue = rightF[filterOperand];
179
+ const ALLOWED_FUNCS = [...prostgles_types_1.GeomFilter_Funcs, ...prostgles_types_1.TextFilter_FullTextSearchFilterKeys];
180
+ let funcName;
181
+ let funcArgs;
182
+ /**
183
+ * Filter notation
184
+ * geom && st_makeenvelope(funcArgs)
185
+ */
186
+ if ((0, prostgles_types_1.isObject)(filterValue) && selItem.column_udt_type !== "jsonb") {
187
+ const filterValueKeys = Object.keys(filterValue);
188
+ if (!filterValueKeys.length || filterValueKeys.length !== 1) {
165
189
  return mErr("Bad filter. Expecting a nested object with one key only ");
166
190
  }
167
- sOpType = keys[0];
168
- sVal = fVal[sOpType];
191
+ funcName = filterValueKeys[0];
192
+ funcArgs = filterValue[funcName];
193
+ if (!ALLOWED_FUNCS.includes(funcName)) {
194
+ return mErr(`Bad filter. Nested function ${funcName} could not be found. Expecting one of: ${ALLOWED_FUNCS}`);
195
+ }
169
196
  }
170
197
  // console.log({ fOpType, fVal, sOpType })
171
- /** JSON cannot be compared so we'll cast it to TEXT */
172
- if (selItem?.column_udt_type === "json" || ["$ilike", "$like", "$nilike", "$nlike"].includes(fOpType)) {
173
- leftQ += "::TEXT ";
174
- }
175
198
  /** st_makeenvelope */
176
- if (prostgles_types_1.GeomFilterKeys.includes(fOpType) && sOpType && prostgles_types_1.GeomFilter_Funcs.includes(sOpType)) {
199
+ if (prostgles_types_1.GeomFilterKeys.includes(filterOperand) && funcName && prostgles_types_1.GeomFilter_Funcs.includes(funcName)) {
177
200
  /** If leftQ is geography then this err can happen: 'Antipodal (180 degrees long) edge detected!' */
178
- if (sOpType.toLowerCase() === "st_makeenvelope")
201
+ if (funcName.toLowerCase() === "st_makeenvelope") {
179
202
  leftQ += "::geometry";
180
- return leftQ + ` ${fOpType} ` + `${sOpType}${parseRightVal(sVal, "csv")}`;
203
+ }
204
+ return `${leftQ} ${filterOperand} ${funcName}${parseRightVal(funcArgs, "csv")}`;
181
205
  }
182
- else if (["=", "$eq"].includes(fOpType) && !sOpType) {
183
- if (fVal === null)
206
+ else if (["=", "$eq"].includes(filterOperand) && !funcName) {
207
+ if (filterValue === null)
184
208
  return leftQ + " IS NULL ";
185
- return leftQ + " = " + parseRightVal(fVal);
209
+ return leftQ + " = " + parseRightVal(filterValue);
186
210
  }
187
- else if (["<>", "$ne"].includes(fOpType)) {
188
- if (fVal === null)
211
+ else if (["<>", "$ne"].includes(filterOperand)) {
212
+ if (filterValue === null)
189
213
  return leftQ + " IS NOT NULL ";
190
- return leftQ + " <> " + parseRightVal(fVal);
214
+ return leftQ + " <> " + parseRightVal(filterValue);
191
215
  }
192
- else if ([">", "$gt"].includes(fOpType)) {
193
- return leftQ + " > " + parseRightVal(fVal);
216
+ else if ([">", "$gt"].includes(filterOperand)) {
217
+ return leftQ + " > " + parseRightVal(filterValue);
194
218
  }
195
- else if (["<", "$lt"].includes(fOpType)) {
196
- return leftQ + " < " + parseRightVal(fVal);
219
+ else if (["<", "$lt"].includes(filterOperand)) {
220
+ return leftQ + " < " + parseRightVal(filterValue);
197
221
  }
198
- else if ([">=", "$gte"].includes(fOpType)) {
199
- return leftQ + " >= " + parseRightVal(fVal);
222
+ else if ([">=", "$gte"].includes(filterOperand)) {
223
+ return leftQ + " >= " + parseRightVal(filterValue);
200
224
  }
201
- else if (["<=", "$lte"].includes(fOpType)) {
202
- return leftQ + " <= " + parseRightVal(fVal);
225
+ else if (["<=", "$lte"].includes(filterOperand)) {
226
+ return leftQ + " <= " + parseRightVal(filterValue);
203
227
  }
204
- else if (["$in"].includes(fOpType)) {
205
- if (!fVal?.length) {
228
+ else if (["$in"].includes(filterOperand)) {
229
+ if (!filterValue?.length) {
206
230
  return " FALSE ";
207
231
  }
208
- let _fVal = fVal.filter((v) => v !== null);
232
+ let _fVal = filterValue.filter((v) => v !== null);
209
233
  let c1 = "", c2 = "";
210
- if (_fVal.length)
234
+ if (_fVal.length) {
211
235
  c1 = leftQ + " IN " + parseRightVal(_fVal, "csv");
212
- if (fVal.includes(null))
236
+ }
237
+ if (filterValue.includes(null))
213
238
  c2 = ` ${leftQ} IS NULL `;
214
239
  return [c1, c2].filter(c => c).join(" OR ");
215
240
  }
216
- else if (["$nin"].includes(fOpType)) {
217
- if (!fVal?.length) {
241
+ else if (["$nin"].includes(filterOperand)) {
242
+ if (!filterValue?.length) {
218
243
  return " TRUE ";
219
244
  }
220
- let _fVal = fVal.filter((v) => v !== null);
245
+ let _fVal = filterValue.filter((v) => v !== null);
221
246
  let c1 = "", c2 = "";
222
247
  if (_fVal.length)
223
248
  c1 = leftQ + " NOT IN " + parseRightVal(_fVal, "csv");
224
- if (fVal.includes(null))
249
+ if (filterValue.includes(null))
225
250
  c2 = ` ${leftQ} IS NOT NULL `;
226
251
  return [c1, c2].filter(c => c).join(" AND ");
227
252
  }
228
- else if (["$between"].includes(fOpType)) {
229
- if (!Array.isArray(fVal) || fVal.length !== 2) {
253
+ else if (["$between"].includes(filterOperand)) {
254
+ if (!Array.isArray(filterValue) || filterValue.length !== 2) {
230
255
  return mErr("Between filter expects an array of two values");
231
256
  }
232
- return leftQ + " BETWEEN " + asValue(fVal[0]) + " AND " + asValue(fVal[1]);
257
+ return leftQ + " BETWEEN " + asValue(filterValue[0]) + " AND " + asValue(filterValue[1]);
233
258
  }
234
- else if (["$ilike"].includes(fOpType)) {
235
- return leftQ + " ILIKE " + asValue(fVal);
259
+ else if (["$ilike"].includes(filterOperand)) {
260
+ return leftQ + " ILIKE " + asValue(filterValue);
236
261
  }
237
- else if (["$like"].includes(fOpType)) {
238
- return leftQ + " LIKE " + asValue(fVal);
262
+ else if (["$like"].includes(filterOperand)) {
263
+ return leftQ + " LIKE " + asValue(filterValue);
239
264
  }
240
- else if (["$nilike"].includes(fOpType)) {
241
- return leftQ + " NOT ILIKE " + asValue(fVal);
265
+ else if (["$nilike"].includes(filterOperand)) {
266
+ return leftQ + " NOT ILIKE " + asValue(filterValue);
242
267
  }
243
- else if (["$nlike"].includes(fOpType)) {
244
- return leftQ + " NOT LIKE " + asValue(fVal);
268
+ else if (["$nlike"].includes(filterOperand)) {
269
+ return leftQ + " NOT LIKE " + asValue(filterValue);
245
270
  /* MAYBE TEXT OR MAYBE ARRAY */
246
271
  }
247
- else if (["@>", "<@", "$contains", "$containedBy", "&&", "@@"].includes(fOpType)) {
248
- let operand = fOpType === "@@" ? "@@" :
249
- ["@>", "$contains"].includes(fOpType) ? "@>" :
250
- ["&&"].includes(fOpType) ? "&&" :
272
+ else if (["@>", "<@", "$contains", "$containedBy", "&&", "@@"].includes(filterOperand)) {
273
+ let operand = filterOperand === "@@" ? "@@" :
274
+ ["@>", "$contains"].includes(filterOperand) ? "@>" :
275
+ ["&&"].includes(filterOperand) ? "&&" :
251
276
  "<@";
252
277
  /* Array for sure */
253
- if (Array.isArray(fVal)) {
254
- return leftQ + operand + parseRightVal(fVal, "array");
278
+ if (Array.isArray(filterValue)) {
279
+ return leftQ + operand + parseRightVal(filterValue, "array");
255
280
  /* FTSQuery */
256
281
  }
257
- else if (["@@"].includes(fOpType) && prostgles_types_1.TextFilter_FullTextSearchFilterKeys.includes(sOpType)) {
282
+ else if (["@@"].includes(filterOperand) && prostgles_types_1.TextFilter_FullTextSearchFilterKeys.includes(funcName)) {
258
283
  let lq = `to_tsvector(${leftQ}::text)`;
259
284
  if (selItem && selItem.columnPGDataType === "tsvector")
260
285
  lq = leftQ;
261
- let res = `${lq} ${operand} ` + `${sOpType}${parseRightVal(sVal, "csv")}`;
286
+ let res = `${lq} ${operand} ` + `${funcName}${parseRightVal(funcArgs, "csv")}`;
262
287
  return res;
263
288
  }
264
289
  else {
265
- return mErr("Unrecognised filter operand: " + fOpType + " ");
290
+ return mErr("Unrecognised filter operand: " + filterOperand + " ");
266
291
  }
267
292
  }
268
293
  else {
269
- /** Maybe it's an object key which means it's an equality comparison against a json object */
270
- if (selItem?.column_udt_type?.startsWith("json")) {
271
- return leftQ + " = " + parseRightVal(rightF);
272
- }
273
- return mErr("Unrecognised filter operand: " + fOpType + " ");
294
+ return mErr("Unrecognised filter operand: " + filterOperand + " ");
274
295
  }
275
296
  }
276
297
  else {