@abaplint/transpiler-cli 2.7.95 → 2.7.96

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 (2) hide show
  1. package/build/bundle.js +252 -23
  2. package/package.json +3 -3
package/build/bundle.js CHANGED
@@ -9230,7 +9230,7 @@ const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/
9230
9230
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
9231
9231
  class CloseCursor {
9232
9232
  getMatcher() {
9233
- const ret = (0, combi_1.seq)("CLOSE CURSOR", expressions_1.SQLSource);
9233
+ const ret = (0, combi_1.seq)("CLOSE CURSOR", expressions_1.SQLSourceSimple);
9234
9234
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
9235
9235
  }
9236
9236
  }
@@ -11046,8 +11046,8 @@ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@a
11046
11046
  const sql_into_structure_1 = __webpack_require__(/*! ../expressions/sql_into_structure */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js");
11047
11047
  class FetchNextCursor {
11048
11048
  getMatcher() {
11049
- const size = (0, combi_1.seq)("PACKAGE SIZE", expressions_1.SQLSource);
11050
- const ret = (0, combi_1.seq)("FETCH NEXT CURSOR", expressions_1.SQLSource, (0, combi_1.alt)(sql_into_structure_1.SQLIntoStructure, expressions_1.SQLIntoTable), (0, combi_1.opt)(size));
11049
+ const size = (0, combi_1.seq)("PACKAGE SIZE", expressions_1.SQLSourceSimple);
11050
+ const ret = (0, combi_1.seq)("FETCH NEXT CURSOR", expressions_1.SQLSourceSimple, (0, combi_1.alt)(sql_into_structure_1.SQLIntoStructure, expressions_1.SQLIntoTable), (0, combi_1.optPrio)(size));
11051
11051
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11052
11052
  }
11053
11053
  }
@@ -13221,7 +13221,7 @@ const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/
13221
13221
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
13222
13222
  class OpenCursor {
13223
13223
  getMatcher() {
13224
- const ret = (0, combi_1.seq)("OPEN CURSOR", (0, combi_1.optPrio)("WITH HOLD"), expressions_1.SQLTarget, "FOR", expressions_1.Select, (0, combi_1.optPrio)(expressions_1.SQLHints));
13224
+ const ret = (0, combi_1.seq)("OPEN CURSOR", (0, combi_1.optPrio)("WITH HOLD"), expressions_1.SQLTarget, "FOR", expressions_1.Select, (0, combi_1.optPrio)(expressions_1.DatabaseConnection), (0, combi_1.optPrio)(expressions_1.SQLHints));
13225
13225
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
13226
13226
  }
13227
13227
  }
@@ -18439,8 +18439,14 @@ class BuiltIn {
18439
18439
  }
18440
18440
  getTypes() {
18441
18441
  const ret = this.buildSY();
18442
- const id = new tokens_1.Identifier(new position_1.Position(1, 1), "abap_bool");
18443
- ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" })));
18442
+ {
18443
+ const id = new tokens_1.Identifier(new position_1.Position(1, 1), "abap_bool");
18444
+ ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" })));
18445
+ }
18446
+ {
18447
+ const id = new tokens_1.Identifier(new position_1.Position(1, 1), "cursor");
18448
+ ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, basic_1.IntegerType.get({ qualifiedName: "CURSOR", ddicName: "CURSOR" })));
18449
+ }
18444
18450
  return ret;
18445
18451
  }
18446
18452
  get(extras) {
@@ -38736,8 +38742,12 @@ class AbstractFile {
38736
38742
  // handle additional escaping
38737
38743
  split[0] = split[0].replace(/%3e/g, ">");
38738
38744
  split[0] = split[0].replace(/%3c/g, "<");
38739
- // handle namespace
38740
- return split[0].toUpperCase().replace(/#/g, "/");
38745
+ // handle abapGit namespace
38746
+ split[0] = split[0].toUpperCase().replace(/#/g, "/");
38747
+ // handle AFF namespace
38748
+ split[0] = split[0].replace("(", "/");
38749
+ split[0] = split[0].replace(")", "/");
38750
+ return split[0];
38741
38751
  }
38742
38752
  }
38743
38753
  exports.AbstractFile = AbstractFile;
@@ -41491,6 +41501,68 @@ exports.APIReleaseState = APIReleaseState;
41491
41501
 
41492
41502
  /***/ }),
41493
41503
 
41504
+ /***/ "./node_modules/@abaplint/core/build/src/objects/application_job_catalog_entry.js":
41505
+ /*!****************************************************************************************!*\
41506
+ !*** ./node_modules/@abaplint/core/build/src/objects/application_job_catalog_entry.js ***!
41507
+ \****************************************************************************************/
41508
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
41509
+
41510
+ "use strict";
41511
+
41512
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
41513
+ exports.ApplicationJobCatalogEntry = void 0;
41514
+ const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
41515
+ class ApplicationJobCatalogEntry extends _abstract_object_1.AbstractObject {
41516
+ getType() {
41517
+ return "SAJC";
41518
+ }
41519
+ getAllowedNaming() {
41520
+ return {
41521
+ maxLength: 30,
41522
+ allowNamespace: true,
41523
+ };
41524
+ }
41525
+ getDescription() {
41526
+ // todo
41527
+ return undefined;
41528
+ }
41529
+ }
41530
+ exports.ApplicationJobCatalogEntry = ApplicationJobCatalogEntry;
41531
+ //# sourceMappingURL=application_job_catalog_entry.js.map
41532
+
41533
+ /***/ }),
41534
+
41535
+ /***/ "./node_modules/@abaplint/core/build/src/objects/application_job_template.js":
41536
+ /*!***********************************************************************************!*\
41537
+ !*** ./node_modules/@abaplint/core/build/src/objects/application_job_template.js ***!
41538
+ \***********************************************************************************/
41539
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
41540
+
41541
+ "use strict";
41542
+
41543
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
41544
+ exports.ApplicationJobTemplate = void 0;
41545
+ const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
41546
+ class ApplicationJobTemplate extends _abstract_object_1.AbstractObject {
41547
+ getType() {
41548
+ return "SAJT";
41549
+ }
41550
+ getAllowedNaming() {
41551
+ return {
41552
+ maxLength: 30,
41553
+ allowNamespace: true,
41554
+ };
41555
+ }
41556
+ getDescription() {
41557
+ // todo
41558
+ return undefined;
41559
+ }
41560
+ }
41561
+ exports.ApplicationJobTemplate = ApplicationJobTemplate;
41562
+ //# sourceMappingURL=application_job_template.js.map
41563
+
41564
+ /***/ }),
41565
+
41494
41566
  /***/ "./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js":
41495
41567
  /*!****************************************************************************************************!*\
41496
41568
  !*** ./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js ***!
@@ -44323,6 +44395,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
44323
44395
  Object.defineProperty(exports, "__esModule", ({ value: true }));
44324
44396
  __exportStar(__webpack_require__(/*! ./activation_variant */ "./node_modules/@abaplint/core/build/src/objects/activation_variant.js"), exports);
44325
44397
  __exportStar(__webpack_require__(/*! ./api_release_state */ "./node_modules/@abaplint/core/build/src/objects/api_release_state.js"), exports);
44398
+ __exportStar(__webpack_require__(/*! ./application_job_catalog_entry */ "./node_modules/@abaplint/core/build/src/objects/application_job_catalog_entry.js"), exports);
44399
+ __exportStar(__webpack_require__(/*! ./application_job_template */ "./node_modules/@abaplint/core/build/src/objects/application_job_template.js"), exports);
44326
44400
  __exportStar(__webpack_require__(/*! ./assignment_service_to_authorization_group */ "./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js"), exports);
44327
44401
  __exportStar(__webpack_require__(/*! ./atc_check_category */ "./node_modules/@abaplint/core/build/src/objects/atc_check_category.js"), exports);
44328
44402
  __exportStar(__webpack_require__(/*! ./atc_check_object */ "./node_modules/@abaplint/core/build/src/objects/atc_check_object.js"), exports);
@@ -44402,6 +44476,7 @@ __exportStar(__webpack_require__(/*! ./mime_object */ "./node_modules/@abaplint/
44402
44476
  __exportStar(__webpack_require__(/*! ./namespace */ "./node_modules/@abaplint/core/build/src/objects/namespace.js"), exports);
44403
44477
  __exportStar(__webpack_require__(/*! ./number_range */ "./node_modules/@abaplint/core/build/src/objects/number_range.js"), exports);
44404
44478
  __exportStar(__webpack_require__(/*! ./object_characteristic */ "./node_modules/@abaplint/core/build/src/objects/object_characteristic.js"), exports);
44479
+ __exportStar(__webpack_require__(/*! ./outbound_service */ "./node_modules/@abaplint/core/build/src/objects/outbound_service.js"), exports);
44405
44480
  __exportStar(__webpack_require__(/*! ./package_interface */ "./node_modules/@abaplint/core/build/src/objects/package_interface.js"), exports);
44406
44481
  __exportStar(__webpack_require__(/*! ./package */ "./node_modules/@abaplint/core/build/src/objects/package.js"), exports);
44407
44482
  __exportStar(__webpack_require__(/*! ./parameter */ "./node_modules/@abaplint/core/build/src/objects/parameter.js"), exports);
@@ -45054,6 +45129,37 @@ exports.ObjectCharacteristic = ObjectCharacteristic;
45054
45129
 
45055
45130
  /***/ }),
45056
45131
 
45132
+ /***/ "./node_modules/@abaplint/core/build/src/objects/outbound_service.js":
45133
+ /*!***************************************************************************!*\
45134
+ !*** ./node_modules/@abaplint/core/build/src/objects/outbound_service.js ***!
45135
+ \***************************************************************************/
45136
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
45137
+
45138
+ "use strict";
45139
+
45140
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
45141
+ exports.OutboundService = void 0;
45142
+ const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
45143
+ class OutboundService extends _abstract_object_1.AbstractObject {
45144
+ getType() {
45145
+ return "SCO3";
45146
+ }
45147
+ getAllowedNaming() {
45148
+ return {
45149
+ maxLength: 200,
45150
+ allowNamespace: true,
45151
+ };
45152
+ }
45153
+ getDescription() {
45154
+ // todo
45155
+ return undefined;
45156
+ }
45157
+ }
45158
+ exports.OutboundService = OutboundService;
45159
+ //# sourceMappingURL=outbound_service.js.map
45160
+
45161
+ /***/ }),
45162
+
45057
45163
  /***/ "./node_modules/@abaplint/core/build/src/objects/package.js":
45058
45164
  /*!******************************************************************!*\
45059
45165
  !*** ./node_modules/@abaplint/core/build/src/objects/package.js ***!
@@ -47841,7 +47947,7 @@ class Registry {
47841
47947
  }
47842
47948
  static abaplintVersion() {
47843
47949
  // magic, see build script "version.sh"
47844
- return "2.102.37";
47950
+ return "2.102.40";
47845
47951
  }
47846
47952
  getDDICReferences() {
47847
47953
  return this.ddicReferences;
@@ -51053,6 +51159,9 @@ class CloudTypes {
51053
51159
  || obj instanceof Objects.CDSMetadataExtension
51054
51160
  || obj instanceof Objects.RestrictionField
51055
51161
  || obj instanceof Objects.Class
51162
+ || obj instanceof Objects.OutboundService
51163
+ || obj instanceof Objects.ApplicationJobCatalogEntry
51164
+ || obj instanceof Objects.ApplicationJobTemplate
51056
51165
  || obj instanceof Objects.CommunicationScenario
51057
51166
  || obj instanceof Objects.DataControl
51058
51167
  || obj instanceof Objects.DataDefinition
@@ -71284,6 +71393,7 @@ __exportStar(__webpack_require__(/*! ./source */ "./node_modules/@abaplint/trans
71284
71393
  __exportStar(__webpack_require__(/*! ./sql_arithmetic_operator */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_arithmetic_operator.js"), exports);
71285
71394
  __exportStar(__webpack_require__(/*! ./sql_cond */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_cond.js"), exports);
71286
71395
  __exportStar(__webpack_require__(/*! ./sql_field_and_value */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_and_value.js"), exports);
71396
+ __exportStar(__webpack_require__(/*! ./sql_field_list */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_list.js"), exports);
71287
71397
  __exportStar(__webpack_require__(/*! ./sql_field_name */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_name.js"), exports);
71288
71398
  __exportStar(__webpack_require__(/*! ./sql_field */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field.js"), exports);
71289
71399
  __exportStar(__webpack_require__(/*! ./sql_from_source */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_from_source.js"), exports);
@@ -72402,6 +72512,44 @@ exports.SQLFieldAndValueTranspiler = SQLFieldAndValueTranspiler;
72402
72512
 
72403
72513
  /***/ }),
72404
72514
 
72515
+ /***/ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_list.js":
72516
+ /*!***********************************************************************************!*\
72517
+ !*** ./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_list.js ***!
72518
+ \***********************************************************************************/
72519
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
72520
+
72521
+ "use strict";
72522
+
72523
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
72524
+ exports.SQLFieldListTranspiler = void 0;
72525
+ const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
72526
+ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
72527
+ const sql_field_1 = __webpack_require__(/*! ./sql_field */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field.js");
72528
+ const sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_name.js");
72529
+ class SQLFieldListTranspiler {
72530
+ transpile(node, traversal) {
72531
+ const fields = [];
72532
+ for (const f of node.getChildren() || []) {
72533
+ if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLField) {
72534
+ const code = new sql_field_1.SQLFieldTranspiler().transpile(f, traversal).getCode();
72535
+ fields.push(code);
72536
+ }
72537
+ else if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLFieldName) {
72538
+ const code = new sql_field_name_1.SQLFieldNameTranspiler().transpile(f, traversal).getCode();
72539
+ fields.push(code);
72540
+ }
72541
+ else {
72542
+ fields.push(f.concatTokens());
72543
+ }
72544
+ }
72545
+ return new chunk_1.Chunk().append(fields.join(", "), node, traversal);
72546
+ }
72547
+ }
72548
+ exports.SQLFieldListTranspiler = SQLFieldListTranspiler;
72549
+ //# sourceMappingURL=sql_field_list.js.map
72550
+
72551
+ /***/ }),
72552
+
72405
72553
  /***/ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_name.js":
72406
72554
  /*!***********************************************************************************!*\
72407
72555
  !*** ./node_modules/@abaplint/transpiler/build/src/expressions/sql_field_name.js ***!
@@ -74819,6 +74967,29 @@ exports.ClearTranspiler = ClearTranspiler;
74819
74967
 
74820
74968
  /***/ }),
74821
74969
 
74970
+ /***/ "./node_modules/@abaplint/transpiler/build/src/statements/close_cursor.js":
74971
+ /*!********************************************************************************!*\
74972
+ !*** ./node_modules/@abaplint/transpiler/build/src/statements/close_cursor.js ***!
74973
+ \********************************************************************************/
74974
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
74975
+
74976
+ "use strict";
74977
+
74978
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
74979
+ exports.CloseCursorTranspiler = void 0;
74980
+ const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
74981
+ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
74982
+ class CloseCursorTranspiler {
74983
+ transpile(node, traversal) {
74984
+ const cursor = traversal.traverse(node.findFirstExpression(abaplint.Expressions.SQLSourceSimple)).getCode();
74985
+ return new chunk_1.Chunk().append(`await abap.statements.closeCursor(${cursor});`, node, traversal);
74986
+ }
74987
+ }
74988
+ exports.CloseCursorTranspiler = CloseCursorTranspiler;
74989
+ //# sourceMappingURL=close_cursor.js.map
74990
+
74991
+ /***/ }),
74992
+
74822
74993
  /***/ "./node_modules/@abaplint/transpiler/build/src/statements/close_dataset.js":
74823
74994
  /*!*********************************************************************************!*\
74824
74995
  !*** ./node_modules/@abaplint/transpiler/build/src/statements/close_dataset.js ***!
@@ -76033,6 +76204,36 @@ exports.ExportTranspiler = ExportTranspiler;
76033
76204
 
76034
76205
  /***/ }),
76035
76206
 
76207
+ /***/ "./node_modules/@abaplint/transpiler/build/src/statements/fetch_next_cursor.js":
76208
+ /*!*************************************************************************************!*\
76209
+ !*** ./node_modules/@abaplint/transpiler/build/src/statements/fetch_next_cursor.js ***!
76210
+ \*************************************************************************************/
76211
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
76212
+
76213
+ "use strict";
76214
+
76215
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
76216
+ exports.FetchNextCursorTranspiler = void 0;
76217
+ const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
76218
+ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
76219
+ class FetchNextCursorTranspiler {
76220
+ transpile(node, traversal) {
76221
+ const cursor = traversal.traverse(node.findFirstExpression(abaplint.Expressions.SQLSourceSimple)).getCode();
76222
+ // todo: APPENDING and CORRESPONDING FIELDS
76223
+ const target = traversal.traverse(node.findFirstExpression(abaplint.Expressions.SQLTarget)).getCode();
76224
+ let packageSize = "";
76225
+ const siz = node.findExpressionAfterToken("SIZE");
76226
+ if (siz) {
76227
+ packageSize = ", " + traversal.traverse(siz).getCode();
76228
+ }
76229
+ return new chunk_1.Chunk().append(`await abap.statements.fetchNextCursor(${cursor}, ${target}${packageSize});`, node, traversal);
76230
+ }
76231
+ }
76232
+ exports.FetchNextCursorTranspiler = FetchNextCursorTranspiler;
76233
+ //# sourceMappingURL=fetch_next_cursor.js.map
76234
+
76235
+ /***/ }),
76236
+
76036
76237
  /***/ "./node_modules/@abaplint/transpiler/build/src/statements/field_symbol.js":
76037
76238
  /*!********************************************************************************!*\
76038
76239
  !*** ./node_modules/@abaplint/transpiler/build/src/statements/field_symbol.js ***!
@@ -76582,6 +76783,9 @@ __exportStar(__webpack_require__(/*! ./class_definition_load */ "./node_modules/
76582
76783
  __exportStar(__webpack_require__(/*! ./class_implementation */ "./node_modules/@abaplint/transpiler/build/src/statements/class_implementation.js"), exports);
76583
76784
  __exportStar(__webpack_require__(/*! ./class_local_friends */ "./node_modules/@abaplint/transpiler/build/src/statements/class_local_friends.js"), exports);
76584
76785
  __exportStar(__webpack_require__(/*! ./clear */ "./node_modules/@abaplint/transpiler/build/src/statements/clear.js"), exports);
76786
+ __exportStar(__webpack_require__(/*! ./open_cursor */ "./node_modules/@abaplint/transpiler/build/src/statements/open_cursor.js"), exports);
76787
+ __exportStar(__webpack_require__(/*! ./close_cursor */ "./node_modules/@abaplint/transpiler/build/src/statements/close_cursor.js"), exports);
76788
+ __exportStar(__webpack_require__(/*! ./fetch_next_cursor */ "./node_modules/@abaplint/transpiler/build/src/statements/fetch_next_cursor.js"), exports);
76585
76789
  __exportStar(__webpack_require__(/*! ./close_dataset */ "./node_modules/@abaplint/transpiler/build/src/statements/close_dataset.js"), exports);
76586
76790
  __exportStar(__webpack_require__(/*! ./collect */ "./node_modules/@abaplint/transpiler/build/src/statements/collect.js"), exports);
76587
76791
  __exportStar(__webpack_require__(/*! ./commit */ "./node_modules/@abaplint/transpiler/build/src/statements/commit.js"), exports);
@@ -77558,6 +77762,41 @@ exports.MoveCorrespondingTranspiler = MoveCorrespondingTranspiler;
77558
77762
 
77559
77763
  /***/ }),
77560
77764
 
77765
+ /***/ "./node_modules/@abaplint/transpiler/build/src/statements/open_cursor.js":
77766
+ /*!*******************************************************************************!*\
77767
+ !*** ./node_modules/@abaplint/transpiler/build/src/statements/open_cursor.js ***!
77768
+ \*******************************************************************************/
77769
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
77770
+
77771
+ "use strict";
77772
+
77773
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
77774
+ exports.OpenCursorTranspiler = void 0;
77775
+ const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
77776
+ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
77777
+ class OpenCursorTranspiler {
77778
+ transpile(node, traversal) {
77779
+ const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.SQLTarget)).getCode();
77780
+ const selectExpression = node.findDirectExpression(abaplint.Expressions.Select);
77781
+ let select = "SELECT ";
77782
+ select += traversal.traverse(selectExpression === null || selectExpression === void 0 ? void 0 : selectExpression.findDirectExpression(abaplint.Expressions.SQLFieldList)).getCode() + " ";
77783
+ select += traversal.traverse(selectExpression === null || selectExpression === void 0 ? void 0 : selectExpression.findDirectExpression(abaplint.Expressions.SQLFrom)).getCode();
77784
+ const cond = selectExpression === null || selectExpression === void 0 ? void 0 : selectExpression.findDirectExpression(abaplint.Expressions.SQLCond);
77785
+ if (cond) {
77786
+ select += "WHERE " + traversal.traverse(node).getCode();
77787
+ }
77788
+ const orderBy = selectExpression === null || selectExpression === void 0 ? void 0 : selectExpression.findDirectExpression(abaplint.Expressions.SQLOrderBy);
77789
+ if (orderBy) {
77790
+ select += "ORDER BY " + traversal.traverse(node).getCode();
77791
+ }
77792
+ return new chunk_1.Chunk().append(`await abap.statements.openCursor(${target}, "${select}");`, node, traversal);
77793
+ }
77794
+ }
77795
+ exports.OpenCursorTranspiler = OpenCursorTranspiler;
77796
+ //# sourceMappingURL=open_cursor.js.map
77797
+
77798
+ /***/ }),
77799
+
77561
77800
  /***/ "./node_modules/@abaplint/transpiler/build/src/statements/open_dataset.js":
77562
77801
  /*!********************************************************************************!*\
77563
77802
  !*** ./node_modules/@abaplint/transpiler/build/src/statements/open_dataset.js ***!
@@ -78306,21 +78545,10 @@ class SelectTranspiler {
78306
78545
  let select = "SELECT ";
78307
78546
  const fieldList = node.findFirstExpression(abaplint.Expressions.SQLFieldList)
78308
78547
  || node.findFirstExpression(abaplint.Expressions.SQLFieldListLoop);
78309
- const fields = [];
78310
- for (const f of (fieldList === null || fieldList === void 0 ? void 0 : fieldList.getChildren()) || []) {
78311
- if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLField) {
78312
- const code = new expressions_1.SQLFieldTranspiler().transpile(f, traversal).getCode();
78313
- fields.push(code);
78314
- }
78315
- else if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLFieldName) {
78316
- const code = new expressions_1.SQLFieldNameTranspiler().transpile(f, traversal).getCode();
78317
- fields.push(code);
78318
- }
78319
- else {
78320
- fields.push(f.concatTokens());
78321
- }
78548
+ if (fieldList === undefined) {
78549
+ throw new Error("SelectTranspiler, field list not found");
78322
78550
  }
78323
- select += fields.join(", ") + " ";
78551
+ select += new expressions_1.SQLFieldListTranspiler().transpile(fieldList, traversal).getCode() + " ";
78324
78552
  const from = node.findFirstExpression(abaplint.Expressions.SQLFrom);
78325
78553
  if (from) {
78326
78554
  select += new sql_from_1.SQLFromTranspiler().transpile(from, traversal).getCode();
@@ -80341,6 +80569,7 @@ class SelectTranspiler {
80341
80569
  const loopName = unique_identifier_1.UniqueIdentifier.get();
80342
80570
  ret.appendString(`let ${targetName} = new abap.types.Table(abap.DDIC["${from}"].type);\n`);
80343
80571
  ret.appendChunk(new select_1.SelectTranspiler().transpile(selectStatement, traversal, targetName));
80572
+ // todo: optimize, it should do real streaming?
80344
80573
  const packageSize = (_b = node.findFirstExpression(abaplint.Expressions.SelectLoop)) === null || _b === void 0 ? void 0 : _b.findExpressionAfterToken("SIZE");
80345
80574
  if (packageSize) {
80346
80575
  const getSize = new expressions_1.SQLSourceTranspiler().transpile(packageSize, traversal).getCode() + ".get()";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.7.95",
3
+ "version": "2.7.96",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -26,12 +26,12 @@
26
26
  "author": "abaplint",
27
27
  "license": "MIT",
28
28
  "devDependencies": {
29
- "@abaplint/transpiler": "^2.7.95",
29
+ "@abaplint/transpiler": "^2.7.96",
30
30
  "@types/glob": "^7.2.0",
31
31
  "glob": "=7.2.0",
32
32
  "@types/progress": "^2.0.5",
33
33
  "@types/node": "^20.6.0",
34
- "@abaplint/core": "^2.102.37",
34
+ "@abaplint/core": "^2.102.40",
35
35
  "progress": "^2.0.3",
36
36
  "webpack": "^5.88.2",
37
37
  "webpack-cli": "^5.1.4",