flowquery 1.0.0 → 1.0.1

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 (178) hide show
  1. package/.github/workflows/npm-publish.yml +2 -0
  2. package/.github/workflows/release.yml +18 -9
  3. package/dist/compute/runner.js +75 -0
  4. package/dist/compute/runner.js.map +1 -0
  5. package/dist/flowquery.min.js +1 -0
  6. package/dist/index.browser.js +119 -0
  7. package/dist/index.browser.js.map +1 -0
  8. package/dist/index.js +16 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/index.node.js +123 -0
  11. package/dist/index.node.js.map +1 -0
  12. package/dist/io/command_line.js +102 -0
  13. package/dist/io/command_line.js.map +1 -0
  14. package/dist/parsing/alias.js +23 -0
  15. package/dist/parsing/alias.js.map +1 -0
  16. package/dist/parsing/alias_option.js +11 -0
  17. package/dist/parsing/alias_option.js.map +1 -0
  18. package/dist/parsing/ast_node.js +145 -0
  19. package/dist/parsing/ast_node.js.map +1 -0
  20. package/dist/parsing/base_parser.js +92 -0
  21. package/dist/parsing/base_parser.js.map +1 -0
  22. package/dist/parsing/components/csv.js +13 -0
  23. package/dist/parsing/components/csv.js.map +1 -0
  24. package/dist/parsing/components/from.js +16 -0
  25. package/dist/parsing/components/from.js.map +1 -0
  26. package/dist/parsing/components/headers.js +16 -0
  27. package/dist/parsing/components/headers.js.map +1 -0
  28. package/dist/parsing/components/json.js +13 -0
  29. package/dist/parsing/components/json.js.map +1 -0
  30. package/dist/parsing/components/null.js +13 -0
  31. package/dist/parsing/components/null.js.map +1 -0
  32. package/dist/parsing/components/post.js +13 -0
  33. package/dist/parsing/components/post.js.map +1 -0
  34. package/dist/parsing/components/text.js +13 -0
  35. package/dist/parsing/components/text.js.map +1 -0
  36. package/dist/parsing/context.js +47 -0
  37. package/dist/parsing/context.js.map +1 -0
  38. package/dist/parsing/data_structures/associative_array.js +45 -0
  39. package/dist/parsing/data_structures/associative_array.js.map +1 -0
  40. package/dist/parsing/data_structures/json_array.js +35 -0
  41. package/dist/parsing/data_structures/json_array.js.map +1 -0
  42. package/dist/parsing/data_structures/key_value_pair.js +41 -0
  43. package/dist/parsing/data_structures/key_value_pair.js.map +1 -0
  44. package/dist/parsing/data_structures/lookup.js +44 -0
  45. package/dist/parsing/data_structures/lookup.js.map +1 -0
  46. package/dist/parsing/data_structures/range_lookup.js +40 -0
  47. package/dist/parsing/data_structures/range_lookup.js.map +1 -0
  48. package/dist/parsing/expressions/expression.js +142 -0
  49. package/dist/parsing/expressions/expression.js.map +1 -0
  50. package/dist/parsing/expressions/f_string.js +29 -0
  51. package/dist/parsing/expressions/f_string.js.map +1 -0
  52. package/dist/parsing/expressions/identifier.js +26 -0
  53. package/dist/parsing/expressions/identifier.js.map +1 -0
  54. package/dist/parsing/expressions/number.js +41 -0
  55. package/dist/parsing/expressions/number.js.map +1 -0
  56. package/dist/parsing/expressions/operator.js +180 -0
  57. package/dist/parsing/expressions/operator.js.map +1 -0
  58. package/dist/parsing/expressions/reference.js +45 -0
  59. package/dist/parsing/expressions/reference.js.map +1 -0
  60. package/dist/parsing/expressions/string.js +34 -0
  61. package/dist/parsing/expressions/string.js.map +1 -0
  62. package/dist/parsing/functions/aggregate_function.js +58 -0
  63. package/dist/parsing/functions/aggregate_function.js.map +1 -0
  64. package/dist/parsing/functions/async_function.js +119 -0
  65. package/dist/parsing/functions/async_function.js.map +1 -0
  66. package/dist/parsing/functions/avg.js +43 -0
  67. package/dist/parsing/functions/avg.js.map +1 -0
  68. package/dist/parsing/functions/collect.js +52 -0
  69. package/dist/parsing/functions/collect.js.map +1 -0
  70. package/dist/parsing/functions/function.js +59 -0
  71. package/dist/parsing/functions/function.js.map +1 -0
  72. package/dist/parsing/functions/function_factory.js +259 -0
  73. package/dist/parsing/functions/function_factory.js.map +1 -0
  74. package/dist/parsing/functions/function_metadata.js +159 -0
  75. package/dist/parsing/functions/function_metadata.js.map +1 -0
  76. package/dist/parsing/functions/functions.js +47 -0
  77. package/dist/parsing/functions/functions.js.map +1 -0
  78. package/dist/parsing/functions/join.js +29 -0
  79. package/dist/parsing/functions/join.js.map +1 -0
  80. package/dist/parsing/functions/predicate_function.js +37 -0
  81. package/dist/parsing/functions/predicate_function.js.map +1 -0
  82. package/dist/parsing/functions/predicate_function_factory.js +19 -0
  83. package/dist/parsing/functions/predicate_function_factory.js.map +1 -0
  84. package/dist/parsing/functions/predicate_sum.js +33 -0
  85. package/dist/parsing/functions/predicate_sum.js.map +1 -0
  86. package/dist/parsing/functions/rand.js +17 -0
  87. package/dist/parsing/functions/rand.js.map +1 -0
  88. package/dist/parsing/functions/range.js +22 -0
  89. package/dist/parsing/functions/range.js.map +1 -0
  90. package/dist/parsing/functions/reducer_element.js +12 -0
  91. package/dist/parsing/functions/reducer_element.js.map +1 -0
  92. package/dist/parsing/functions/replace.js +23 -0
  93. package/dist/parsing/functions/replace.js.map +1 -0
  94. package/dist/parsing/functions/round.js +21 -0
  95. package/dist/parsing/functions/round.js.map +1 -0
  96. package/dist/parsing/functions/size.js +21 -0
  97. package/dist/parsing/functions/size.js.map +1 -0
  98. package/dist/parsing/functions/split.js +29 -0
  99. package/dist/parsing/functions/split.js.map +1 -0
  100. package/dist/parsing/functions/stringify.js +29 -0
  101. package/dist/parsing/functions/stringify.js.map +1 -0
  102. package/dist/parsing/functions/sum.js +38 -0
  103. package/dist/parsing/functions/sum.js.map +1 -0
  104. package/dist/parsing/functions/to_json.js +21 -0
  105. package/dist/parsing/functions/to_json.js.map +1 -0
  106. package/dist/parsing/functions/value_holder.js +16 -0
  107. package/dist/parsing/functions/value_holder.js.map +1 -0
  108. package/dist/parsing/logic/case.js +27 -0
  109. package/dist/parsing/logic/case.js.map +1 -0
  110. package/dist/parsing/logic/else.js +16 -0
  111. package/dist/parsing/logic/else.js.map +1 -0
  112. package/dist/parsing/logic/end.js +13 -0
  113. package/dist/parsing/logic/end.js.map +1 -0
  114. package/dist/parsing/logic/then.js +16 -0
  115. package/dist/parsing/logic/then.js.map +1 -0
  116. package/dist/parsing/logic/when.js +16 -0
  117. package/dist/parsing/logic/when.js.map +1 -0
  118. package/dist/parsing/operations/aggregated_return.js +35 -0
  119. package/dist/parsing/operations/aggregated_return.js.map +1 -0
  120. package/dist/parsing/operations/aggregated_with.js +41 -0
  121. package/dist/parsing/operations/aggregated_with.js.map +1 -0
  122. package/dist/parsing/operations/group_by.js +139 -0
  123. package/dist/parsing/operations/group_by.js.map +1 -0
  124. package/dist/parsing/operations/limit.js +38 -0
  125. package/dist/parsing/operations/limit.js.map +1 -0
  126. package/dist/parsing/operations/load.js +174 -0
  127. package/dist/parsing/operations/load.js.map +1 -0
  128. package/dist/parsing/operations/operation.js +81 -0
  129. package/dist/parsing/operations/operation.js.map +1 -0
  130. package/dist/parsing/operations/projection.js +21 -0
  131. package/dist/parsing/operations/projection.js.map +1 -0
  132. package/dist/parsing/operations/return.js +60 -0
  133. package/dist/parsing/operations/return.js.map +1 -0
  134. package/dist/parsing/operations/unwind.js +46 -0
  135. package/dist/parsing/operations/unwind.js.map +1 -0
  136. package/dist/parsing/operations/where.js +53 -0
  137. package/dist/parsing/operations/where.js.map +1 -0
  138. package/dist/parsing/operations/with.js +36 -0
  139. package/dist/parsing/operations/with.js.map +1 -0
  140. package/dist/parsing/parser.js +812 -0
  141. package/dist/parsing/parser.js.map +1 -0
  142. package/dist/parsing/token_to_node.js +121 -0
  143. package/dist/parsing/token_to_node.js.map +1 -0
  144. package/dist/tokenization/keyword.js +46 -0
  145. package/dist/tokenization/keyword.js.map +1 -0
  146. package/dist/tokenization/operator.js +28 -0
  147. package/dist/tokenization/operator.js.map +1 -0
  148. package/dist/tokenization/string_walker.js +165 -0
  149. package/dist/tokenization/string_walker.js.map +1 -0
  150. package/dist/tokenization/symbol.js +18 -0
  151. package/dist/tokenization/symbol.js.map +1 -0
  152. package/dist/tokenization/token.js +484 -0
  153. package/dist/tokenization/token.js.map +1 -0
  154. package/dist/tokenization/token_mapper.js +55 -0
  155. package/dist/tokenization/token_mapper.js.map +1 -0
  156. package/dist/tokenization/token_type.js +19 -0
  157. package/dist/tokenization/token_type.js.map +1 -0
  158. package/dist/tokenization/tokenizer.js +220 -0
  159. package/dist/tokenization/tokenizer.js.map +1 -0
  160. package/dist/tokenization/trie.js +111 -0
  161. package/dist/tokenization/trie.js.map +1 -0
  162. package/dist/utils/object_utils.js +19 -0
  163. package/dist/utils/object_utils.js.map +1 -0
  164. package/dist/utils/string_utils.js +110 -0
  165. package/dist/utils/string_utils.js.map +1 -0
  166. package/docs/flowquery.min.js +1 -1
  167. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  168. package/package.json +21 -4
  169. package/src/compute/runner.ts +45 -0
  170. package/src/index.browser.ts +118 -0
  171. package/src/index.node.ts +141 -0
  172. package/src/parsing/functions/async_function.ts +95 -0
  173. package/src/parsing/functions/function_factory.ts +230 -1
  174. package/src/parsing/functions/function_metadata.ts +238 -0
  175. package/src/parsing/functions/functions.ts +43 -0
  176. package/src/parsing/operations/load.ts +51 -2
  177. package/src/parsing/parser.ts +46 -5
  178. package/tests/parsing/function_plugins.test.ts +369 -0
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const function_1 = __importDefault(require("./function"));
7
+ class ToJson extends function_1.default {
8
+ constructor() {
9
+ super("tojson");
10
+ this._expectedParameterCount = 1;
11
+ }
12
+ value() {
13
+ const str = this.getChildren()[0].value();
14
+ if (typeof str !== "string") {
15
+ throw new Error("Invalid arguments for tojson function");
16
+ }
17
+ return JSON.parse(str);
18
+ }
19
+ }
20
+ exports.default = ToJson;
21
+ //# sourceMappingURL=to_json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to_json.js","sourceRoot":"","sources":["../../../src/parsing/functions/to_json.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAElC,MAAM,MAAO,SAAQ,kBAAQ;IACzB;QACI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IACM,KAAK;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ class ValueHolder extends ast_node_1.default {
8
+ set holder(value) {
9
+ this._holder = value;
10
+ }
11
+ value() {
12
+ return this._holder;
13
+ }
14
+ }
15
+ exports.default = ValueHolder;
16
+ //# sourceMappingURL=value_holder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value_holder.js","sourceRoot":"","sources":["../../../src/parsing/functions/value_holder.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAM,WAAY,SAAQ,kBAAO;IAE7B,IAAW,MAAM,CAAC,KAAU;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IACM,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ const when_1 = __importDefault(require("./when"));
8
+ class Case extends ast_node_1.default {
9
+ constructor() {
10
+ super();
11
+ }
12
+ value() {
13
+ let i = 0;
14
+ let child = this.getChildren()[i];
15
+ while (child instanceof when_1.default) {
16
+ const then = this.getChildren()[i + 1];
17
+ if (child.value()) {
18
+ return then.value();
19
+ }
20
+ i += 2;
21
+ child = this.getChildren()[i];
22
+ }
23
+ return child.value();
24
+ }
25
+ }
26
+ exports.default = Case;
27
+ //# sourceMappingURL=case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case.js","sourceRoot":"","sources":["../../../src/parsing/logic/case.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,kDAA0B;AAG1B,MAAM,IAAK,SAAQ,kBAAO;IACtB;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,KAAK,YAAY,cAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAC,CAAC,CAAU,CAAC;YAC/C,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAQ,KAAc,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;CACJ;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ class Else extends ast_node_1.default {
8
+ constructor() {
9
+ super();
10
+ }
11
+ value() {
12
+ return this.getChildren()[0].value();
13
+ }
14
+ }
15
+ exports.default = Else;
16
+ //# sourceMappingURL=else.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"else.js","sourceRoot":"","sources":["../../../src/parsing/logic/else.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAM,IAAK,SAAQ,kBAAO;IACtB;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IACM,KAAK;QACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACJ;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ class End extends ast_node_1.default {
8
+ constructor() {
9
+ super();
10
+ }
11
+ }
12
+ exports.default = End;
13
+ //# sourceMappingURL=end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/parsing/logic/end.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAM,GAAI,SAAQ,kBAAO;IACrB;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;CACJ;AAED,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ class Then extends ast_node_1.default {
8
+ constructor() {
9
+ super();
10
+ }
11
+ value() {
12
+ return this.getChildren()[0].value();
13
+ }
14
+ }
15
+ exports.default = Then;
16
+ //# sourceMappingURL=then.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"then.js","sourceRoot":"","sources":["../../../src/parsing/logic/then.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAM,IAAK,SAAQ,kBAAO;IACtB;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IACM,KAAK;QACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACJ;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ast_node_1 = __importDefault(require("../ast_node"));
7
+ class When extends ast_node_1.default {
8
+ constructor() {
9
+ super();
10
+ }
11
+ value() {
12
+ return this.getChildren()[0].value();
13
+ }
14
+ }
15
+ exports.default = When;
16
+ //# sourceMappingURL=when.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when.js","sourceRoot":"","sources":["../../../src/parsing/logic/when.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAM,IAAK,SAAQ,kBAAO;IACtB;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IACM,KAAK;QACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACJ;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,35 @@
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 return_1 = __importDefault(require("./return"));
16
+ const group_by_1 = __importDefault(require("./group_by"));
17
+ class AggregatedReturn extends return_1.default {
18
+ constructor() {
19
+ super(...arguments);
20
+ this._group_by = new group_by_1.default(this.children);
21
+ }
22
+ run() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ yield this._group_by.run();
25
+ });
26
+ }
27
+ get results() {
28
+ if (this._where !== null) {
29
+ this._group_by.where = this._where;
30
+ }
31
+ return Array.from(this._group_by.generate_results());
32
+ }
33
+ }
34
+ exports.default = AggregatedReturn;
35
+ //# sourceMappingURL=aggregated_return.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,0DAAiC;AAGjC,MAAM,gBAAiB,SAAQ,gBAAM;IAArC;;QACY,cAAS,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,QAAwB,CAAC,CAAC;IAU5E,CAAC;IATgB,GAAG;;YACZ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;KAAA;IACD,IAAW,OAAO;QACd,IAAG,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzD,CAAC;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,41 @@
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 return_1 = __importDefault(require("./return"));
16
+ const group_by_1 = __importDefault(require("./group_by"));
17
+ class AggregatedWith extends return_1.default {
18
+ constructor() {
19
+ super(...arguments);
20
+ this._group_by = new group_by_1.default(this.children);
21
+ }
22
+ run() {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ yield this._group_by.run();
25
+ });
26
+ }
27
+ finish() {
28
+ const _super = Object.create(null, {
29
+ finish: { get: () => super.finish }
30
+ });
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ var _a;
33
+ for (const _ of this._group_by.generate_results()) {
34
+ yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.run());
35
+ }
36
+ yield _super.finish.call(this);
37
+ });
38
+ }
39
+ }
40
+ exports.default = AggregatedWith;
41
+ //# sourceMappingURL=aggregated_with.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregated_with.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA4B;AAC5B,0DAAiC;AAGjC,MAAM,cAAe,SAAQ,gBAAI;IAAjC;;QACY,cAAS,GAAY,IAAI,kBAAO,CAAC,IAAI,CAAC,QAAwB,CAAC,CAAC;IAU5E,CAAC;IATgB,GAAG;;YACZ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;KAAA;IACY,MAAM;;;;;;YACf,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC/C,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;YAC3B,CAAC;YACD,MAAM,OAAM,MAAM,WAAE,CAAC;QACzB,CAAC;KAAA;CACJ;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,139 @@
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 projection_1 = __importDefault(require("./projection"));
16
+ class Node {
17
+ constructor(value = null) {
18
+ this._children = new Map();
19
+ this._elements = null;
20
+ this._value = value;
21
+ }
22
+ get value() {
23
+ return this._value;
24
+ }
25
+ get children() {
26
+ return this._children;
27
+ }
28
+ get elements() {
29
+ return this._elements;
30
+ }
31
+ set elements(elements) {
32
+ this._elements = elements;
33
+ }
34
+ }
35
+ class GroupBy extends projection_1.default {
36
+ constructor() {
37
+ super(...arguments);
38
+ this._root = new Node();
39
+ this._current = this._root;
40
+ this._mappers = null;
41
+ this._reducers = null;
42
+ this._where = null;
43
+ }
44
+ run() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ this.resetTree();
47
+ this.map();
48
+ this.reduce();
49
+ });
50
+ }
51
+ get root() {
52
+ return this._root;
53
+ }
54
+ get current() {
55
+ return this._current;
56
+ }
57
+ set current(node) {
58
+ this._current = node;
59
+ }
60
+ resetTree() {
61
+ this.current = this.root;
62
+ }
63
+ map() {
64
+ let node = this.current;
65
+ for (const mapper of this.mappers) {
66
+ const value = mapper.value();
67
+ let child = node.children.get(value);
68
+ if (child === undefined) {
69
+ child = new Node(value);
70
+ node.children.set(value, child);
71
+ }
72
+ node = child;
73
+ }
74
+ this.current = node;
75
+ }
76
+ reduce() {
77
+ if (this.current.elements === null) {
78
+ this.current.elements = this.reducers.map(reducer => reducer.element());
79
+ }
80
+ const elements = this.current.elements;
81
+ this.reducers.forEach((reducer, index) => {
82
+ reducer.reduce(elements[index]);
83
+ });
84
+ }
85
+ get mappers() {
86
+ if (this._mappers === null) {
87
+ this._mappers = [...this._generate_mappers()];
88
+ }
89
+ return this._mappers;
90
+ }
91
+ *_generate_mappers() {
92
+ for (const [expression, _] of this.expressions()) {
93
+ if (expression.mappable()) {
94
+ yield expression;
95
+ }
96
+ }
97
+ }
98
+ get reducers() {
99
+ if (this._reducers === null) {
100
+ this._reducers = this.children.map((child) => {
101
+ return child.reducers();
102
+ }).flat();
103
+ }
104
+ return this._reducers;
105
+ }
106
+ *generate_results(mapperIndex = 0, node = this.root) {
107
+ var _a;
108
+ if (node.children.size > 0) {
109
+ for (const child of node.children.values()) {
110
+ this.mappers[mapperIndex].overridden = child.value;
111
+ yield* this.generate_results(mapperIndex + 1, child);
112
+ }
113
+ }
114
+ else {
115
+ (_a = node.elements) === null || _a === void 0 ? void 0 : _a.forEach((element, reducerIndex) => {
116
+ this.reducers[reducerIndex].overridden = element.value;
117
+ });
118
+ const record = {};
119
+ for (const [expression, alias] of this.expressions()) {
120
+ record[alias] = expression.value();
121
+ }
122
+ if (this.where) {
123
+ yield record;
124
+ }
125
+ }
126
+ }
127
+ set where(where) {
128
+ this._where = where;
129
+ }
130
+ get where() {
131
+ if (this._where === null) {
132
+ return true;
133
+ }
134
+ return this._where.value();
135
+ }
136
+ }
137
+ ;
138
+ exports.default = GroupBy;
139
+ //# sourceMappingURL=group_by.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
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
+ class Limit extends operation_1.default {
17
+ constructor(limit) {
18
+ super();
19
+ this.count = 0;
20
+ this.limit = 0;
21
+ this.limit = limit;
22
+ }
23
+ run() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ var _a;
26
+ if (this.count >= this.limit) {
27
+ return;
28
+ }
29
+ this.count++;
30
+ yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.run());
31
+ });
32
+ }
33
+ reset() {
34
+ this.count = 0;
35
+ }
36
+ }
37
+ exports.default = Limit;
38
+ //# sourceMappingURL=limit.js.map
@@ -0,0 +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;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,174 @@
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 __asyncValues = (this && this.__asyncValues) || function (o) {
12
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
+ var m = o[Symbol.asyncIterator], i;
14
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
15
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
16
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
+ };
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const operation_1 = __importDefault(require("./operation"));
23
+ const json_1 = __importDefault(require("../components/json"));
24
+ const text_1 = __importDefault(require("../components/text"));
25
+ const async_function_1 = __importDefault(require("../functions/async_function"));
26
+ const headers_1 = __importDefault(require("../components/headers"));
27
+ const post_1 = __importDefault(require("../components/post"));
28
+ class Load extends operation_1.default {
29
+ constructor() {
30
+ super();
31
+ this._value = null;
32
+ }
33
+ get type() {
34
+ return this.children[0];
35
+ }
36
+ /**
37
+ * Gets the From component which contains either a URL expression or an AsyncFunction.
38
+ */
39
+ get fromComponent() {
40
+ return this.children[1];
41
+ }
42
+ /**
43
+ * Checks if the data source is an async function.
44
+ */
45
+ get isAsyncFunction() {
46
+ return this.fromComponent.firstChild() instanceof async_function_1.default;
47
+ }
48
+ /**
49
+ * Gets the async function if the source is a function, otherwise null.
50
+ */
51
+ get asyncFunction() {
52
+ const child = this.fromComponent.firstChild();
53
+ return child instanceof async_function_1.default ? child : null;
54
+ }
55
+ get from() {
56
+ return this.children[1].value();
57
+ }
58
+ get headers() {
59
+ if (this.childCount() > 2 && this.children[2] instanceof headers_1.default) {
60
+ return this.children[2].value() || {};
61
+ }
62
+ return {};
63
+ }
64
+ get payload() {
65
+ let post = null;
66
+ if (this.childCount() > 2 && this.children[2] instanceof post_1.default) {
67
+ post = this.children[2];
68
+ }
69
+ else if (this.childCount() > 3 && this.children[3] instanceof post_1.default) {
70
+ post = this.children[3];
71
+ }
72
+ return post !== null ? post.firstChild() : null;
73
+ }
74
+ method() {
75
+ if (this.payload === null) {
76
+ return "GET";
77
+ }
78
+ else {
79
+ return "POST";
80
+ }
81
+ }
82
+ options() {
83
+ const headers = this.headers;
84
+ const payload = this.payload;
85
+ const data = payload === null || payload === void 0 ? void 0 : payload.value();
86
+ if (data !== null && typeof data === "object" && !(headers.hasOwnProperty("Content-Type"))) {
87
+ headers["Content-Type"] = "application/json";
88
+ }
89
+ return Object.assign({ "method": this.method(), "headers": headers }, (payload !== null ? { "body": JSON.stringify(payload.value()) } : {}));
90
+ }
91
+ /**
92
+ * Loads data from an async function source.
93
+ */
94
+ loadFromFunction() {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ var _a, e_1, _b, _c;
97
+ var _d;
98
+ const asyncFunc = this.asyncFunction;
99
+ try {
100
+ for (var _e = true, _f = __asyncValues(asyncFunc.execute()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
101
+ _c = _g.value;
102
+ _e = false;
103
+ const item = _c;
104
+ this._value = item;
105
+ yield ((_d = this.next) === null || _d === void 0 ? void 0 : _d.run());
106
+ }
107
+ }
108
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
109
+ finally {
110
+ try {
111
+ if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
112
+ }
113
+ finally { if (e_1) throw e_1.error; }
114
+ }
115
+ });
116
+ }
117
+ /**
118
+ * Loads data from a URL source (original behavior).
119
+ */
120
+ loadFromUrl() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ var _a, _b, _c;
123
+ const result = yield fetch(this.from, this.options());
124
+ let data = null;
125
+ if (this.type instanceof json_1.default) {
126
+ data = yield result.json();
127
+ }
128
+ else if (this.type instanceof text_1.default) {
129
+ data = yield result.text();
130
+ }
131
+ if (Array.isArray(data)) {
132
+ for (const item of data) {
133
+ this._value = item;
134
+ yield ((_a = this.next) === null || _a === void 0 ? void 0 : _a.run());
135
+ }
136
+ }
137
+ else if (typeof data === "object" && data !== null) {
138
+ this._value = data;
139
+ yield ((_b = this.next) === null || _b === void 0 ? void 0 : _b.run());
140
+ }
141
+ else if (typeof data === "string") {
142
+ this._value = data;
143
+ yield ((_c = this.next) === null || _c === void 0 ? void 0 : _c.run());
144
+ }
145
+ });
146
+ }
147
+ load() {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ if (this.isAsyncFunction) {
150
+ yield this.loadFromFunction();
151
+ }
152
+ else {
153
+ yield this.loadFromUrl();
154
+ }
155
+ });
156
+ }
157
+ run() {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ var _a;
160
+ try {
161
+ yield this.load();
162
+ }
163
+ catch (e) {
164
+ const source = this.isAsyncFunction ? (_a = this.asyncFunction) === null || _a === void 0 ? void 0 : _a.name : this.from;
165
+ throw new Error(`Failed to load data from ${source}. Error: ${e}`);
166
+ }
167
+ });
168
+ }
169
+ value() {
170
+ return this._value;
171
+ }
172
+ }
173
+ exports.default = Load;
174
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/parsing/operations/load.ts"],"names":[],"mappings":"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"}