@abaplint/transpiler 2.13.27 → 2.13.29

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 (138) hide show
  1. package/build/src/chunk.js +35 -2
  2. package/build/src/db/index.js +34 -1
  3. package/build/src/db/schema_generation/pg_database_schema.js +34 -1
  4. package/build/src/db/schema_generation/snowflake_database_schema.js +34 -1
  5. package/build/src/db/schema_generation/sqlite_database_schema.js +34 -1
  6. package/build/src/expressions/attribute_name.js +34 -1
  7. package/build/src/expressions/call_transformation_options.js +34 -1
  8. package/build/src/expressions/call_transformation_parameters.js +34 -1
  9. package/build/src/expressions/component_cond.js +34 -1
  10. package/build/src/expressions/component_cond_sub.js +34 -1
  11. package/build/src/expressions/database_table.js +34 -1
  12. package/build/src/expressions/field_assignment.js +34 -1
  13. package/build/src/expressions/field_chain.js +34 -1
  14. package/build/src/expressions/function_exporting.js +34 -1
  15. package/build/src/expressions/method_call_body.js +34 -1
  16. package/build/src/expressions/new_object.js +34 -1
  17. package/build/src/expressions/sql_cond.js +35 -2
  18. package/build/src/expressions/sql_field.js +34 -1
  19. package/build/src/expressions/sql_field_and_value.js +34 -1
  20. package/build/src/expressions/sql_field_list.js +34 -1
  21. package/build/src/expressions/sql_from.js +34 -1
  22. package/build/src/expressions/sql_from_source.js +34 -1
  23. package/build/src/expressions/sql_group_by.js +34 -1
  24. package/build/src/expressions/sql_into_list.js +34 -1
  25. package/build/src/expressions/sql_into_structure.js +34 -1
  26. package/build/src/expressions/sql_join.js +34 -1
  27. package/build/src/expressions/sql_order_by.js +34 -1
  28. package/build/src/expressions/sql_source.js +34 -1
  29. package/build/src/expressions/sql_source_simple.js +34 -1
  30. package/build/src/expressions/sql_target.js +34 -1
  31. package/build/src/expressions/target.js +34 -1
  32. package/build/src/handlers/handle_abap.js +34 -1
  33. package/build/src/handlers/handle_fugr.js +34 -1
  34. package/build/src/handlers/handle_type_pool.js +34 -1
  35. package/build/src/index.js +34 -1
  36. package/build/src/initialization.js +34 -1
  37. package/build/src/inline.js +34 -1
  38. package/build/src/requires.js +34 -1
  39. package/build/src/statements/add.js +34 -1
  40. package/build/src/statements/append.js +34 -1
  41. package/build/src/statements/assert.js +34 -1
  42. package/build/src/statements/assign.js +34 -1
  43. package/build/src/statements/call.js +34 -1
  44. package/build/src/statements/call_function.js +34 -1
  45. package/build/src/statements/call_kernel.js +34 -1
  46. package/build/src/statements/call_transformation.js +34 -1
  47. package/build/src/statements/case.js +34 -1
  48. package/build/src/statements/check.js +34 -1
  49. package/build/src/statements/class_implementation.js +34 -1
  50. package/build/src/statements/clear.js +34 -1
  51. package/build/src/statements/close_cursor.js +34 -1
  52. package/build/src/statements/collect.js +34 -1
  53. package/build/src/statements/compute.js +34 -1
  54. package/build/src/statements/concatenate.js +34 -1
  55. package/build/src/statements/condense.js +34 -1
  56. package/build/src/statements/convert.js +34 -1
  57. package/build/src/statements/create_data.js +34 -1
  58. package/build/src/statements/create_object.js +34 -1
  59. package/build/src/statements/data.js +34 -1
  60. package/build/src/statements/delete_database.js +34 -1
  61. package/build/src/statements/delete_internal.js +34 -1
  62. package/build/src/statements/do.js +34 -1
  63. package/build/src/statements/else_if.js +34 -1
  64. package/build/src/statements/end_method.js +34 -1
  65. package/build/src/statements/enhancement_point.js +34 -1
  66. package/build/src/statements/fetch_next_cursor.js +34 -1
  67. package/build/src/statements/field_symbol.js +34 -1
  68. package/build/src/statements/find.js +34 -1
  69. package/build/src/statements/form.js +34 -1
  70. package/build/src/statements/get_bit.js +34 -1
  71. package/build/src/statements/get_locale.js +34 -1
  72. package/build/src/statements/get_parameter.js +34 -1
  73. package/build/src/statements/get_reference.js +34 -1
  74. package/build/src/statements/get_run_time.js +34 -1
  75. package/build/src/statements/get_time.js +34 -1
  76. package/build/src/statements/if.js +34 -1
  77. package/build/src/statements/include.js +34 -1
  78. package/build/src/statements/insert_database.js +34 -1
  79. package/build/src/statements/insert_internal.js +34 -1
  80. package/build/src/statements/loop.js +34 -1
  81. package/build/src/statements/message.js +34 -1
  82. package/build/src/statements/method_implementation.js +34 -1
  83. package/build/src/statements/modify_database.js +34 -1
  84. package/build/src/statements/modify_internal.js +34 -1
  85. package/build/src/statements/move.js +34 -1
  86. package/build/src/statements/move_corresponding.js +34 -1
  87. package/build/src/statements/open_cursor.js +34 -1
  88. package/build/src/statements/overlay.js +34 -1
  89. package/build/src/statements/perform.js +34 -1
  90. package/build/src/statements/raise.js +34 -1
  91. package/build/src/statements/raise_event.js +34 -1
  92. package/build/src/statements/ranges.js +34 -1
  93. package/build/src/statements/read_table.js +34 -1
  94. package/build/src/statements/receive.js +34 -1
  95. package/build/src/statements/replace.js +34 -1
  96. package/build/src/statements/return.js +34 -1
  97. package/build/src/statements/scan.js +34 -1
  98. package/build/src/statements/select.d.ts +1 -0
  99. package/build/src/statements/select.js +49 -1
  100. package/build/src/statements/set_bit.js +34 -1
  101. package/build/src/statements/set_handler.js +34 -1
  102. package/build/src/statements/set_locale.js +34 -1
  103. package/build/src/statements/shift.js +34 -1
  104. package/build/src/statements/sort.js +34 -1
  105. package/build/src/statements/split.js +34 -1
  106. package/build/src/statements/subtract.js +34 -1
  107. package/build/src/statements/tables.js +34 -1
  108. package/build/src/statements/translate.js +34 -1
  109. package/build/src/statements/unassign.js +34 -1
  110. package/build/src/statements/unpack.js +34 -1
  111. package/build/src/statements/update_database.js +34 -1
  112. package/build/src/statements/wait.js +34 -1
  113. package/build/src/statements/when.js +34 -1
  114. package/build/src/statements/while.js +34 -1
  115. package/build/src/statements/write.js +34 -1
  116. package/build/src/structures/at.js +34 -1
  117. package/build/src/structures/at_first.js +34 -1
  118. package/build/src/structures/at_last.js +34 -1
  119. package/build/src/structures/case.js +34 -1
  120. package/build/src/structures/case_type.js +34 -1
  121. package/build/src/structures/class_definition.js +34 -1
  122. package/build/src/structures/class_implementation.js +34 -1
  123. package/build/src/structures/constants.js +34 -1
  124. package/build/src/structures/data.js +34 -1
  125. package/build/src/structures/do.js +34 -1
  126. package/build/src/structures/form.js +34 -1
  127. package/build/src/structures/function_module.js +34 -1
  128. package/build/src/structures/interface.js +34 -1
  129. package/build/src/structures/loop.js +34 -1
  130. package/build/src/structures/method.js +34 -1
  131. package/build/src/structures/select.js +34 -1
  132. package/build/src/structures/try.js +34 -1
  133. package/build/src/structures/type_enum.js +34 -1
  134. package/build/src/structures/while.js +34 -1
  135. package/build/src/transpile_types.js +34 -1
  136. package/build/src/traversal.js +37 -4
  137. package/build/src/unit_test.js +34 -1
  138. package/package.json +3 -3
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.RaiseEventTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const traversal_1 = require("../traversal");
6
39
  const chunk_1 = require("../chunk");
7
40
  const expressions_1 = require("../expressions");
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.RangesTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const traversal_1 = require("../traversal");
6
39
  const chunk_1 = require("../chunk");
7
40
  const transpile_types_1 = require("../transpile_types");
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ReadTableTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const expressions_1 = require("../expressions");
6
39
  const unique_identifier_1 = require("../unique_identifier");
7
40
  const chunk_1 = require("../chunk");
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ReceiveTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  class ReceiveTranspiler {
7
40
  transpile(node, traversal) {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ReplaceTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const expressions_1 = require("../expressions");
6
39
  const chunk_1 = require("../chunk");
7
40
  class ReplaceTranspiler {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ReturnTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const traversal_1 = require("../traversal");
6
39
  const chunk_1 = require("../chunk");
7
40
  const unique_identifier_1 = require("../unique_identifier");
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ScanTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  class ScanTranspiler {
7
40
  transpile(node, traversal) {
@@ -6,5 +6,6 @@ export declare class SelectTranspiler implements IStatementTranspiler {
6
6
  transpile(node: abaplint.Nodes.StatementNode, traversal: Traversal, targetOverride?: string): Chunk;
7
7
  private findTable;
8
8
  private dynamicSelectList;
9
+ private dynamicSQLClause;
9
10
  private isWhereExpression;
10
11
  }
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SelectTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  const expressions_1 = require("../expressions");
7
40
  const unique_identifier_1 = require("../unique_identifier");
@@ -76,6 +109,8 @@ class SelectTranspiler {
76
109
  select += new expressions_1.SQLOrderByTranspiler().transpile(orderBy, traversal).getCode();
77
110
  }
78
111
  const fieldListDynamics = new Set(fieldList.findAllExpressionsRecursive(abaplint.Expressions.Dynamic));
112
+ const groupByDynamics = new Set(groupBy?.findAllExpressionsRecursive(abaplint.Expressions.Dynamic) || []);
113
+ const orderByDynamics = new Set(orderBy?.findAllExpressionsRecursive(abaplint.Expressions.Dynamic) || []);
79
114
  for (const d of node.findAllExpressionsRecursive(abaplint.Expressions.Dynamic)) {
80
115
  const chain = d.findFirstExpression(abaplint.Expressions.FieldChain);
81
116
  if (chain) {
@@ -84,6 +119,14 @@ class SelectTranspiler {
84
119
  const code = new expressions_1.FieldChainTranspiler(false).transpile(chain, traversal).getCode();
85
120
  select = select.replace(search, `" + ${this.dynamicSelectList(code)} + "`);
86
121
  }
122
+ else if (groupByDynamics.has(d)) {
123
+ const code = new expressions_1.FieldChainTranspiler(false).transpile(chain, traversal).getCode();
124
+ select = select.replace("GROUP BY " + search, `" + ${this.dynamicSQLClause("GROUP BY", code)} + "`);
125
+ }
126
+ else if (orderByDynamics.has(d)) {
127
+ const code = new expressions_1.FieldChainTranspiler(false).transpile(chain, traversal).getCode();
128
+ select = select.replace("ORDER BY " + search, `" + ${this.dynamicSQLClause("ORDER BY", code)} + "`);
129
+ }
87
130
  else {
88
131
  const code = new expressions_1.FieldChainTranspiler(true).transpile(chain, traversal).getCode();
89
132
  select = select.replace(search, `" + ${code} + "`);
@@ -154,6 +197,11 @@ class SelectTranspiler {
154
197
  + ` ? (${code}.array().length === 0 ? "*" : ${code}.array().map(row => row.get()).join(", "))`
155
198
  + ` : ${code}.get())`;
156
199
  }
200
+ dynamicSQLClause(keyword, code) {
201
+ return `(${code} instanceof abap.types.Table || ${code} instanceof abap.types.HashedTable`
202
+ + ` ? (${code}.array().length === 0 ? "" : "${keyword} " + ${code}.array().map(row => row.get()).join(" "))`
203
+ + ` : "${keyword} " + ${code}.get())`;
204
+ }
157
205
  isWhereExpression(node, expression) {
158
206
  // check if previous token before sqlCond is "WHERE". It could also be "ON" in case of join condition
159
207
  let prevToken;
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SetBitTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  class SetBitTranspiler {
7
40
  transpile(node, traversal) {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SetHandlerTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  const expressions_1 = require("../expressions");
7
40
  class SetHandlerTranspiler {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SetLocaleTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  class SetLocaleTranspiler {
7
40
  transpile(node, traversal) {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ShiftTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  class ShiftTranspiler {
7
40
  transpile(node, traversal) {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SortTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  const expressions_1 = require("../expressions");
7
40
  class SortTranspiler {
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SplitTranspiler = void 0;
4
- const abaplint = require("@abaplint/core");
37
+ const abaplint = __importStar(require("@abaplint/core"));
5
38
  const chunk_1 = require("../chunk");
6
39
  class SplitTranspiler {
7
40
  transpile(node, traversal) {