@cerebruminc/yates 3.1.1 → 3.2.0
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/CHANGELOG.md +7 -0
- package/dist/expressions.js +80 -28
- package/dist/expressions.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.2.0](https://github.com/cerebruminc/yates/compare/v3.1.1...v3.2.0) (2024-01-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add support for the `in` operator with static scalar values ([7cf7903](https://github.com/cerebruminc/yates/commit/7cf7903df48865f18ea17b1e4f4e1e4e7683aaa8))
|
|
9
|
+
|
|
3
10
|
## [3.1.1](https://github.com/cerebruminc/yates/compare/v3.1.0...v3.1.1) (2024-01-15)
|
|
4
11
|
|
|
5
12
|
|
package/dist/expressions.js
CHANGED
|
@@ -46,6 +46,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __values = (this && this.__values) || function(o) {
|
|
50
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
51
|
+
if (m) return m.call(o);
|
|
52
|
+
if (o && typeof o.length === "number") return {
|
|
53
|
+
next: function () {
|
|
54
|
+
if (o && i >= o.length) o = void 0;
|
|
55
|
+
return { value: o && o[i++], done: !o };
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
59
|
+
};
|
|
49
60
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
61
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
62
|
};
|
|
@@ -103,6 +114,7 @@ table,
|
|
|
103
114
|
model,
|
|
104
115
|
/** The tokens object to add the new tokens to */
|
|
105
116
|
tokens) {
|
|
117
|
+
var e_1, _a;
|
|
106
118
|
if (tokens === void 0) { tokens = {}; }
|
|
107
119
|
for (var field in where) {
|
|
108
120
|
// Get field data from the prisma client for the model and field being queried
|
|
@@ -121,14 +133,14 @@ tokens) {
|
|
|
121
133
|
if (fieldData.isList) {
|
|
122
134
|
for (var subField in value) {
|
|
123
135
|
var subValue = value[subField];
|
|
124
|
-
var
|
|
136
|
+
var _b = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens), subTokens = _b.tokens, subWhere = _b.where;
|
|
125
137
|
tokens = __assign(__assign({}, tokens), subTokens);
|
|
126
138
|
where[field][subField] = subWhere;
|
|
127
139
|
}
|
|
128
140
|
continue;
|
|
129
141
|
}
|
|
130
142
|
else {
|
|
131
|
-
var
|
|
143
|
+
var _c = tokenizeWhereExpression(client, value, table, fieldData.type, tokens), subTokens = _c.tokens, subWhere = _c.where;
|
|
132
144
|
tokens = __assign(__assign({}, tokens), subTokens);
|
|
133
145
|
where[field] = subWhere;
|
|
134
146
|
continue;
|
|
@@ -201,28 +213,39 @@ tokens) {
|
|
|
201
213
|
};
|
|
202
214
|
break;
|
|
203
215
|
case isInStatement:
|
|
216
|
+
// This is a bit hokey, but we are going to assume that each value here is static, and
|
|
217
|
+
// perform tokenization on each value in the `in` array.
|
|
218
|
+
// The ideal solution is to rework this tokenization function so that it recurses until it
|
|
219
|
+
// finds a scalar value, and then tokenizes that value, with checking for row/context values.
|
|
204
220
|
if (Array.isArray(value["in"])) {
|
|
205
|
-
var
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
221
|
+
var tokenList = [];
|
|
222
|
+
try {
|
|
223
|
+
for (var _d = (e_1 = void 0, __values(value["in"])), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
224
|
+
var item = _e.value;
|
|
225
|
+
var inToken = void 0;
|
|
226
|
+
do {
|
|
227
|
+
inToken = getLargeRandomInt();
|
|
228
|
+
} while (tokens[int]);
|
|
229
|
+
tokens[inToken] = {
|
|
230
|
+
astFragment: {
|
|
231
|
+
type: "parameter",
|
|
232
|
+
value: (0, escape_1.escapeLiteral)(item)
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
tokenList.push(isNumeric ? inToken : "".concat(inToken));
|
|
236
|
+
}
|
|
211
237
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
type: "column_ref",
|
|
217
|
-
schema: "public",
|
|
218
|
-
table: table,
|
|
219
|
-
column: field
|
|
220
|
-
},
|
|
221
|
-
right: {
|
|
222
|
-
type: "expr_list",
|
|
223
|
-
value: values
|
|
238
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
239
|
+
finally {
|
|
240
|
+
try {
|
|
241
|
+
if (_e && !_e.done && (_a = _d["return"])) _a.call(_d);
|
|
224
242
|
}
|
|
243
|
+
finally { if (e_1) throw e_1.error; }
|
|
244
|
+
}
|
|
245
|
+
where[field] = {
|
|
246
|
+
"in": tokenList
|
|
225
247
|
};
|
|
248
|
+
continue;
|
|
226
249
|
}
|
|
227
250
|
else {
|
|
228
251
|
// If the value of `in` is a context value, we assume that it is an array that has been JSON encoded
|
|
@@ -289,6 +312,7 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
|
|
|
289
312
|
rawExpression = getExpression(expressionClient, expressionRowName, expressionContext);
|
|
290
313
|
isSubselect = typeof rawExpression === "object" && typeof rawExpression.then === "function";
|
|
291
314
|
baseClient.$on("query", function (e) {
|
|
315
|
+
var e_2, _a, e_3, _b;
|
|
292
316
|
try {
|
|
293
317
|
var parser = new node_sql_parser_1.Parser();
|
|
294
318
|
// Parse the query into an AST
|
|
@@ -302,20 +326,48 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
|
|
|
302
326
|
for (var i = 0; i < params.length; i++) {
|
|
303
327
|
var param = params[i];
|
|
304
328
|
var token = tokens[param];
|
|
329
|
+
// If there is no token, we can skip this. The most likely cause of this is that the parameter is for a limit or offset, which we cull from the SQL anyway
|
|
305
330
|
if (!token) {
|
|
306
331
|
continue;
|
|
307
332
|
}
|
|
308
333
|
var parameterizedStatement = deepFind(ast, {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
prefix: "$"
|
|
313
|
-
}
|
|
334
|
+
type: "var",
|
|
335
|
+
name: i + 1,
|
|
336
|
+
prefix: "$"
|
|
314
337
|
});
|
|
315
|
-
|
|
316
|
-
|
|
338
|
+
// If we found a matching parameterized statement, we can replace it with the AST fragment.
|
|
339
|
+
// This will replace the parameter with the original value.
|
|
340
|
+
// We do this by mutating the object returned from the deepfind function.
|
|
341
|
+
if (parameterizedStatement) {
|
|
342
|
+
try {
|
|
343
|
+
// First, scrub all the keys from the parameterized statement
|
|
344
|
+
for (var _c = (e_2 = void 0, __values(Object.keys(parameterizedStatement))), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
345
|
+
var key = _d.value;
|
|
346
|
+
Reflect.deleteProperty(parameterizedStatement, key);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
350
|
+
finally {
|
|
351
|
+
try {
|
|
352
|
+
if (_d && !_d.done && (_a = _c["return"])) _a.call(_c);
|
|
353
|
+
}
|
|
354
|
+
finally { if (e_2) throw e_2.error; }
|
|
355
|
+
}
|
|
356
|
+
try {
|
|
357
|
+
// Second, add all the keys from the AST fragment to the parameterized statement
|
|
358
|
+
for (var _e = (e_3 = void 0, __values(Object.keys(token.astFragment))), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
359
|
+
var key = _f.value;
|
|
360
|
+
parameterizedStatement[key] = token.astFragment[key];
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
364
|
+
finally {
|
|
365
|
+
try {
|
|
366
|
+
if (_f && !_f.done && (_b = _e["return"])) _b.call(_e);
|
|
367
|
+
}
|
|
368
|
+
finally { if (e_3) throw e_3.error; }
|
|
369
|
+
}
|
|
317
370
|
}
|
|
318
|
-
parameterizedStatement.right = token.astFragment;
|
|
319
371
|
}
|
|
320
372
|
if (isSubselect) {
|
|
321
373
|
// For subselects, we need to convert the entire query and wrap in EXISTS so it converts to a binary expression
|
package/dist/expressions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
|