rez_core 4.0.59 → 4.0.60

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rez_core",
3
- "version": "4.0.59",
3
+ "version": "4.0.60",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -41,16 +41,28 @@ export class FilterService {
41
41
 
42
42
  if (whereClauses.length > 0) {
43
43
  const clauseParts = whereClauses.map((clause) => {
44
- let parsedQuery = clause.query.replace(/\be\./g, ''); // remove e.
44
+ let parsedQuery = clause.query.replace(/\be\./g, ''); // remove e. prefix
45
45
 
46
46
  Object.entries(clause.params).forEach(([key, val]) => {
47
47
  if (Array.isArray(val)) {
48
- // if it's an array → expand placeholders (?, ?, ?)
48
+ // if the query uses '=' but the param is array → convert to IN
49
+ if (parsedQuery.includes(`= :${key}`)) {
50
+ parsedQuery = parsedQuery.replace(`= :${key}`, `IN (:${key})`);
51
+ }
52
+
53
+ // generate (?, ?, ?) placeholders
49
54
  const placeholders = val.map(() => '?').join(', ');
50
- parsedQuery = parsedQuery.replace(new RegExp(`:${key}`, 'g'), `(${placeholders})`);
51
- values.push(...val); // flatten values
55
+ parsedQuery = parsedQuery.replace(
56
+ new RegExp(`:\\b${key}\\b`, 'g'),
57
+ placeholders,
58
+ );
59
+
60
+ values.push(...val);
52
61
  } else {
53
- parsedQuery = parsedQuery.replace(new RegExp(`:${key}`, 'g'), '?');
62
+ parsedQuery = parsedQuery.replace(
63
+ new RegExp(`:\\b${key}\\b`, 'g'),
64
+ '?',
65
+ );
54
66
  values.push(val);
55
67
  }
56
68
  });
@@ -84,6 +96,7 @@ export class FilterService {
84
96
  ];
85
97
  }
86
98
 
99
+
87
100
 
88
101
  async applyFilterWrapper(dto: FilterRequestDto) {
89
102
  const {