flowquery 1.0.38 → 1.0.39
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/dist/flowquery.min.js +1 -1
- package/dist/parsing/expressions/operator.js +4 -4
- package/dist/parsing/expressions/operator.js.map +1 -1
- package/dist/parsing/operations/aggregated_return.d.ts.map +1 -1
- package/dist/parsing/operations/aggregated_return.js +6 -2
- package/dist/parsing/operations/aggregated_return.js.map +1 -1
- package/dist/parsing/operations/limit.d.ts +1 -0
- package/dist/parsing/operations/limit.d.ts.map +1 -1
- package/dist/parsing/operations/limit.js +3 -0
- package/dist/parsing/operations/limit.js.map +1 -1
- package/dist/parsing/operations/order_by.d.ts +35 -0
- package/dist/parsing/operations/order_by.d.ts.map +1 -0
- package/dist/parsing/operations/order_by.js +87 -0
- package/dist/parsing/operations/order_by.js.map +1 -0
- package/dist/parsing/operations/return.d.ts +3 -0
- package/dist/parsing/operations/return.d.ts.map +1 -1
- package/dist/parsing/operations/return.js +16 -3
- package/dist/parsing/operations/return.js.map +1 -1
- package/dist/parsing/parser.d.ts +1 -0
- package/dist/parsing/parser.d.ts.map +1 -1
- package/dist/parsing/parser.js +54 -0
- package/dist/parsing/parser.js.map +1 -1
- package/dist/tokenization/token.d.ts +8 -0
- package/dist/tokenization/token.d.ts.map +1 -1
- package/dist/tokenization/token.js +24 -0
- package/dist/tokenization/token.js.map +1 -1
- package/docs/flowquery.min.js +1 -1
- package/flowquery-py/pyproject.toml +1 -1
- package/flowquery-py/src/parsing/expressions/operator.py +4 -4
- package/flowquery-py/src/parsing/operations/__init__.py +3 -0
- package/flowquery-py/src/parsing/operations/aggregated_return.py +4 -1
- package/flowquery-py/src/parsing/operations/limit.py +4 -0
- package/flowquery-py/src/parsing/operations/order_by.py +72 -0
- package/flowquery-py/src/parsing/operations/return_op.py +20 -3
- package/flowquery-py/src/parsing/parser.py +44 -0
- package/flowquery-py/src/tokenization/token.py +28 -0
- package/flowquery-py/tests/compute/test_runner.py +159 -1
- package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
- package/package.json +1 -1
- package/src/parsing/expressions/operator.ts +4 -4
- package/src/parsing/operations/aggregated_return.ts +9 -5
- package/src/parsing/operations/limit.ts +3 -0
- package/src/parsing/operations/order_by.ts +75 -0
- package/src/parsing/operations/return.ts +17 -3
- package/src/parsing/parser.ts +52 -0
- package/src/tokenization/token.ts +32 -0
- package/tests/compute/runner.test.ts +144 -0
|
@@ -208,7 +208,7 @@ class Not extends Operator {
|
|
|
208
208
|
exports.Not = Not;
|
|
209
209
|
class Is extends Operator {
|
|
210
210
|
constructor() {
|
|
211
|
-
super(
|
|
211
|
+
super(0, true);
|
|
212
212
|
}
|
|
213
213
|
value() {
|
|
214
214
|
return this.lhs.value() == this.rhs.value() ? 1 : 0;
|
|
@@ -217,7 +217,7 @@ class Is extends Operator {
|
|
|
217
217
|
exports.Is = Is;
|
|
218
218
|
class IsNot extends Operator {
|
|
219
219
|
constructor() {
|
|
220
|
-
super(
|
|
220
|
+
super(0, true);
|
|
221
221
|
}
|
|
222
222
|
value() {
|
|
223
223
|
return this.lhs.value() != this.rhs.value() ? 1 : 0;
|
|
@@ -226,7 +226,7 @@ class IsNot extends Operator {
|
|
|
226
226
|
exports.IsNot = IsNot;
|
|
227
227
|
class In extends Operator {
|
|
228
228
|
constructor() {
|
|
229
|
-
super(
|
|
229
|
+
super(0, true);
|
|
230
230
|
}
|
|
231
231
|
value() {
|
|
232
232
|
const list = this.rhs.value();
|
|
@@ -239,7 +239,7 @@ class In extends Operator {
|
|
|
239
239
|
exports.In = In;
|
|
240
240
|
class NotIn extends Operator {
|
|
241
241
|
constructor() {
|
|
242
|
-
super(
|
|
242
|
+
super(0, true);
|
|
243
243
|
}
|
|
244
244
|
value() {
|
|
245
245
|
const list = this.rhs.value();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../src/parsing/expressions/operator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../src/parsing/expressions/operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregated_return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aggregated_return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,cAAM,gBAAiB,SAAQ,MAAM;IACjC,OAAO,CAAC,SAAS,CAAuD;IAC3D,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAS1C;CACJ;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -12,8 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const return_1 = __importDefault(require("./return"));
|
|
16
15
|
const group_by_1 = __importDefault(require("./group_by"));
|
|
16
|
+
const return_1 = __importDefault(require("./return"));
|
|
17
17
|
class AggregatedReturn extends return_1.default {
|
|
18
18
|
constructor() {
|
|
19
19
|
super(...arguments);
|
|
@@ -28,7 +28,11 @@ class AggregatedReturn extends return_1.default {
|
|
|
28
28
|
if (this._where !== null) {
|
|
29
29
|
this._group_by.where = this._where;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
const results = Array.from(this._group_by.generate_results());
|
|
32
|
+
if (this._orderBy !== null) {
|
|
33
|
+
return this._orderBy.sort(results);
|
|
34
|
+
}
|
|
35
|
+
return results;
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
38
|
exports.default = AggregatedReturn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,0DAAiC;AACjC,sDAA8B;AAE9B,MAAM,gBAAiB,SAAQ,gBAAM;IAArC;;QACY,cAAS,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,QAAwB,CAAC,CAAC;IAc5E,CAAC;IAbgB,GAAG;;YACZ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;KAAA;IACD,IAAW,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,KAAM,SAAQ,SAAS;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAa;gBACd,KAAK,EAAE,MAAM;IAIzB,IAAW,cAAc,IAAI,OAAO,CAEnC;IACM,SAAS,IAAI,IAAI;IAGX,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B,KAAK,IAAI,IAAI;CAGvB;AAED,eAAe,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,KAAM,SAAQ,SAAS;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAa;gBACd,KAAK,EAAE,MAAM;IAIzB,IAAW,cAAc,IAAI,OAAO,CAEnC;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IACM,SAAS,IAAI,IAAI;IAGX,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B,KAAK,IAAI,IAAI;CAGvB;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAEpC,MAAM,KAAM,SAAQ,mBAAS;IAGzB,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QAHJ,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IACM,SAAS;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACY,GAAG;;;YACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;QAC3B,CAAC;KAAA;IACM,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAEpC,MAAM,KAAM,SAAQ,mBAAS;IAGzB,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QAHJ,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACM,SAAS;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACY,GAAG;;;YACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;QAC3B,CAAC;KAAA;IACM,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Operation from "./operation";
|
|
2
|
+
export interface SortField {
|
|
3
|
+
field: string;
|
|
4
|
+
direction: "asc" | "desc";
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Represents an ORDER BY operation that sorts results.
|
|
8
|
+
*
|
|
9
|
+
* Can be attached to a RETURN operation (sorting its results),
|
|
10
|
+
* or used as a standalone accumulating operation after a non-aggregate WITH.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```
|
|
14
|
+
* RETURN x ORDER BY x DESC
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
declare class OrderBy extends Operation {
|
|
18
|
+
private _fields;
|
|
19
|
+
private _results;
|
|
20
|
+
constructor(fields: SortField[]);
|
|
21
|
+
get fields(): SortField[];
|
|
22
|
+
/**
|
|
23
|
+
* Sorts an array of records according to the sort fields.
|
|
24
|
+
*/
|
|
25
|
+
sort(records: Record<string, any>[]): Record<string, any>[];
|
|
26
|
+
/**
|
|
27
|
+
* When used as a standalone operation (after non-aggregate WITH),
|
|
28
|
+
* accumulates records to sort later.
|
|
29
|
+
*/
|
|
30
|
+
run(): Promise<void>;
|
|
31
|
+
initialize(): Promise<void>;
|
|
32
|
+
get results(): Record<string, any>[];
|
|
33
|
+
}
|
|
34
|
+
export default OrderBy;
|
|
35
|
+
//# sourceMappingURL=order_by.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order_by.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/order_by.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,cAAM,OAAQ,SAAQ,SAAS;IAC3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,MAAM,EAAE,SAAS,EAAE;IAK/B,IAAW,MAAM,IAAI,SAAS,EAAE,CAE/B;IAED;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAmBlE;;;OAGG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAE1C;CACJ;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const operation_1 = __importDefault(require("./operation"));
|
|
16
|
+
/**
|
|
17
|
+
* Represents an ORDER BY operation that sorts results.
|
|
18
|
+
*
|
|
19
|
+
* Can be attached to a RETURN operation (sorting its results),
|
|
20
|
+
* or used as a standalone accumulating operation after a non-aggregate WITH.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```
|
|
24
|
+
* RETURN x ORDER BY x DESC
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
class OrderBy extends operation_1.default {
|
|
28
|
+
constructor(fields) {
|
|
29
|
+
super();
|
|
30
|
+
this._results = [];
|
|
31
|
+
this._fields = fields;
|
|
32
|
+
}
|
|
33
|
+
get fields() {
|
|
34
|
+
return this._fields;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Sorts an array of records according to the sort fields.
|
|
38
|
+
*/
|
|
39
|
+
sort(records) {
|
|
40
|
+
return records.sort((a, b) => {
|
|
41
|
+
for (const { field, direction } of this._fields) {
|
|
42
|
+
const aVal = a[field];
|
|
43
|
+
const bVal = b[field];
|
|
44
|
+
let cmp = 0;
|
|
45
|
+
if (aVal == null && bVal == null)
|
|
46
|
+
cmp = 0;
|
|
47
|
+
else if (aVal == null)
|
|
48
|
+
cmp = -1;
|
|
49
|
+
else if (bVal == null)
|
|
50
|
+
cmp = 1;
|
|
51
|
+
else if (aVal < bVal)
|
|
52
|
+
cmp = -1;
|
|
53
|
+
else if (aVal > bVal)
|
|
54
|
+
cmp = 1;
|
|
55
|
+
if (cmp !== 0) {
|
|
56
|
+
return direction === "desc" ? -cmp : cmp;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return 0;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* When used as a standalone operation (after non-aggregate WITH),
|
|
64
|
+
* accumulates records to sort later.
|
|
65
|
+
*/
|
|
66
|
+
run() {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
var _a;
|
|
69
|
+
const record = {};
|
|
70
|
+
// Collect current variable values from the context
|
|
71
|
+
// This gets called per-row, and then finish() sorts and emits
|
|
72
|
+
yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.run());
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
initialize() {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
var _a;
|
|
78
|
+
this._results = [];
|
|
79
|
+
yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.initialize());
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
get results() {
|
|
83
|
+
return this._results;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.default = OrderBy;
|
|
87
|
+
//# sourceMappingURL=order_by.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/order_by.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAOpC;;;;;;;;;;GAUG;AACH,MAAM,OAAQ,SAAQ,mBAAS;IAI3B,YAAY,MAAmB;QAC3B,KAAK,EAAE,CAAC;QAHJ,aAAQ,GAA0B,EAAE,CAAC;QAIzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,OAA8B;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;oBAAE,GAAG,GAAG,CAAC,CAAC;qBACrC,IAAI,IAAI,IAAI,IAAI;oBAAE,GAAG,GAAG,CAAC,CAAC,CAAC;qBAC3B,IAAI,IAAI,IAAI,IAAI;oBAAE,GAAG,GAAG,CAAC,CAAC;qBAC1B,IAAI,IAAI,GAAG,IAAI;oBAAE,GAAG,GAAG,CAAC,CAAC,CAAC;qBAC1B,IAAI,IAAI,GAAG,IAAI;oBAAE,GAAG,GAAG,CAAC,CAAC;gBAC9B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACZ,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7C,CAAC;YACL,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACU,GAAG;;;YACZ,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,mDAAmD;YACnD,8DAA8D;YAC9D,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;QAC3B,CAAC;KAAA;IAEY,UAAU;;;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,EAAE,CAAA,CAAC;QAClC,CAAC;KAAA;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,kBAAe,OAAO,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Limit from "./limit";
|
|
2
|
+
import OrderBy from "./order_by";
|
|
2
3
|
import Projection from "./projection";
|
|
3
4
|
import Where from "./where";
|
|
4
5
|
/**
|
|
@@ -16,9 +17,11 @@ declare class Return extends Projection {
|
|
|
16
17
|
protected _where: Where | null;
|
|
17
18
|
protected _results: Record<string, any>[];
|
|
18
19
|
private _limit;
|
|
20
|
+
protected _orderBy: OrderBy | null;
|
|
19
21
|
set where(where: Where);
|
|
20
22
|
get where(): boolean;
|
|
21
23
|
set limit(limit: Limit);
|
|
24
|
+
set orderBy(orderBy: OrderBy);
|
|
22
25
|
run(): Promise<void>;
|
|
23
26
|
initialize(): Promise<void>;
|
|
24
27
|
get results(): Record<string, any>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAsB;IACpC,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAsB;IACpC,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAQ;IAC1C,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,OAAO,CAAC,OAAO,EAAE,OAAO,EAElC;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAS1C;CACJ;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -30,6 +30,7 @@ class Return extends projection_1.default {
|
|
|
30
30
|
this._where = null;
|
|
31
31
|
this._results = [];
|
|
32
32
|
this._limit = null;
|
|
33
|
+
this._orderBy = null;
|
|
33
34
|
}
|
|
34
35
|
set where(where) {
|
|
35
36
|
this._where = where;
|
|
@@ -43,12 +44,17 @@ class Return extends projection_1.default {
|
|
|
43
44
|
set limit(limit) {
|
|
44
45
|
this._limit = limit;
|
|
45
46
|
}
|
|
47
|
+
set orderBy(orderBy) {
|
|
48
|
+
this._orderBy = orderBy;
|
|
49
|
+
}
|
|
46
50
|
run() {
|
|
47
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
52
|
if (!this.where) {
|
|
49
53
|
return;
|
|
50
54
|
}
|
|
51
|
-
|
|
55
|
+
// When ORDER BY is present, skip limit during accumulation;
|
|
56
|
+
// limit will be applied after sorting in get results()
|
|
57
|
+
if (this._orderBy === null && this._limit !== null && this._limit.isLimitReached) {
|
|
52
58
|
return;
|
|
53
59
|
}
|
|
54
60
|
const record = new Map();
|
|
@@ -58,7 +64,7 @@ class Return extends projection_1.default {
|
|
|
58
64
|
record.set(alias, value);
|
|
59
65
|
}
|
|
60
66
|
this._results.push(Object.fromEntries(record));
|
|
61
|
-
if (this._limit !== null) {
|
|
67
|
+
if (this._orderBy === null && this._limit !== null) {
|
|
62
68
|
this._limit.increment();
|
|
63
69
|
}
|
|
64
70
|
});
|
|
@@ -69,7 +75,14 @@ class Return extends projection_1.default {
|
|
|
69
75
|
});
|
|
70
76
|
}
|
|
71
77
|
get results() {
|
|
72
|
-
|
|
78
|
+
let results = this._results;
|
|
79
|
+
if (this._orderBy !== null) {
|
|
80
|
+
results = this._orderBy.sort(results);
|
|
81
|
+
}
|
|
82
|
+
if (this._orderBy !== null && this._limit !== null) {
|
|
83
|
+
results = results.slice(0, this._limit.limitValue);
|
|
84
|
+
}
|
|
85
|
+
return results;
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
88
|
exports.default = Return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"return.js","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"return.js","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,8DAAsC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,MAAO,SAAQ,oBAAU;IAA/B;;QACc,WAAM,GAAiB,IAAI,CAAC;QAC5B,aAAQ,GAA0B,EAAE,CAAC;QACvC,WAAM,GAAiB,IAAI,CAAC;QAC1B,aAAQ,GAAmB,IAAI,CAAC;IAiD9C,CAAC;IAhDG,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,OAAO,CAAC,OAAgB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IACY,GAAG;;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO;YACX,CAAC;YACD,4DAA4D;YAC5D,uDAAuD;YACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC/E,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAQ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;KAAA;IACY,UAAU;;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC;KAAA;IACD,IAAW,OAAO;QACd,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,MAAM,CAAC"}
|
package/dist/parsing/parser.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AAwDvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKxC,OAAO,CAAC,eAAe;IA8FvB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,WAAW;IAgEnB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAE,eAAe;IAyCxB,OAAO,CAAE,aAAa;IAgCtB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,iBAAiB;IAgFzB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAE,gBAAgB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8EpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;CAKrD;AAED,eAAe,MAAM,CAAC"}
|
package/dist/parsing/parser.js
CHANGED
|
@@ -46,6 +46,7 @@ const create_relationship_1 = __importDefault(require("./operations/create_relat
|
|
|
46
46
|
const limit_1 = __importDefault(require("./operations/limit"));
|
|
47
47
|
const load_1 = __importDefault(require("./operations/load"));
|
|
48
48
|
const match_1 = __importDefault(require("./operations/match"));
|
|
49
|
+
const order_by_1 = __importDefault(require("./operations/order_by"));
|
|
49
50
|
const return_1 = __importDefault(require("./operations/return"));
|
|
50
51
|
const union_1 = __importDefault(require("./operations/union"));
|
|
51
52
|
const union_all_1 = __importDefault(require("./operations/union_all"));
|
|
@@ -134,6 +135,16 @@ class Parser extends base_parser_1.default {
|
|
|
134
135
|
operation = where;
|
|
135
136
|
}
|
|
136
137
|
}
|
|
138
|
+
const orderBy = this.parseOrderBy();
|
|
139
|
+
if (orderBy !== null) {
|
|
140
|
+
if (operation instanceof return_1.default) {
|
|
141
|
+
operation.orderBy = orderBy;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
operation.addSibling(orderBy);
|
|
145
|
+
operation = orderBy;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
137
148
|
const limit = this.parseLimit();
|
|
138
149
|
if (limit !== null) {
|
|
139
150
|
if (operation instanceof return_1.default) {
|
|
@@ -769,6 +780,49 @@ class Parser extends base_parser_1.default {
|
|
|
769
780
|
this.setNextToken();
|
|
770
781
|
return limit;
|
|
771
782
|
}
|
|
783
|
+
parseOrderBy() {
|
|
784
|
+
this.skipWhitespaceAndComments();
|
|
785
|
+
if (!this.token.isOrder()) {
|
|
786
|
+
return null;
|
|
787
|
+
}
|
|
788
|
+
this.expectPreviousTokenToBeWhitespaceOrComment();
|
|
789
|
+
this.setNextToken();
|
|
790
|
+
this.expectAndSkipWhitespaceAndComments();
|
|
791
|
+
if (!this.token.isByKeyword()) {
|
|
792
|
+
throw new Error("Expected BY after ORDER");
|
|
793
|
+
}
|
|
794
|
+
this.setNextToken();
|
|
795
|
+
this.expectAndSkipWhitespaceAndComments();
|
|
796
|
+
const fields = [];
|
|
797
|
+
while (true) {
|
|
798
|
+
if (!this.token.isIdentifierOrKeyword()) {
|
|
799
|
+
throw new Error("Expected field name in ORDER BY");
|
|
800
|
+
}
|
|
801
|
+
const field = this.token.value;
|
|
802
|
+
this.setNextToken();
|
|
803
|
+
this.skipWhitespaceAndComments();
|
|
804
|
+
let direction = "asc";
|
|
805
|
+
if (this.token.isAsc()) {
|
|
806
|
+
direction = "asc";
|
|
807
|
+
this.setNextToken();
|
|
808
|
+
this.skipWhitespaceAndComments();
|
|
809
|
+
}
|
|
810
|
+
else if (this.token.isDesc()) {
|
|
811
|
+
direction = "desc";
|
|
812
|
+
this.setNextToken();
|
|
813
|
+
this.skipWhitespaceAndComments();
|
|
814
|
+
}
|
|
815
|
+
fields.push({ field, direction });
|
|
816
|
+
if (this.token.isComma()) {
|
|
817
|
+
this.setNextToken();
|
|
818
|
+
this.skipWhitespaceAndComments();
|
|
819
|
+
}
|
|
820
|
+
else {
|
|
821
|
+
break;
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
return new order_by_1.default(fields);
|
|
825
|
+
}
|
|
772
826
|
*parseExpressions(alias_option = alias_option_1.AliasOption.NOT_ALLOWED) {
|
|
773
827
|
while (true) {
|
|
774
828
|
const expression = this.parseExpression();
|