@abaplint/transpiler-cli 2.11.75 → 2.11.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bundle.js +132 -7
- package/package.json +3 -3
package/build/bundle.js
CHANGED
|
@@ -6846,7 +6846,7 @@ class Source extends combi_1.Expression {
|
|
|
6846
6846
|
const reff = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("REF", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, (0, combi_1.optPrio)("OPTIONAL"), rparen), version_1.Version.OpenABAP);
|
|
6847
6847
|
const exact = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)));
|
|
6848
6848
|
const filter = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("FILTER", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.FilterBody, rparen), version_1.Version.OpenABAP);
|
|
6849
|
-
const reduce = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("REDUCE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)));
|
|
6849
|
+
const reduce = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("REDUCE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
|
|
6850
6850
|
const prefix1 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WDashW), (0, combi_1.tok)(tokens_1.WPlusW));
|
|
6851
6851
|
const ret = (0, combi_1.seq)((0, combi_1.starPrio)(prefix1), (0, combi_1.altPrio)(filter, reff, corr, conv, value, cond, exact, swit, reduce, old));
|
|
6852
6852
|
return ret;
|
|
@@ -53886,7 +53886,7 @@ class Registry {
|
|
|
53886
53886
|
}
|
|
53887
53887
|
static abaplintVersion() {
|
|
53888
53888
|
// magic, see build script "version.sh"
|
|
53889
|
-
return "2.113.
|
|
53889
|
+
return "2.113.198";
|
|
53890
53890
|
}
|
|
53891
53891
|
getDDICReferences() {
|
|
53892
53892
|
return this.ddicReferences;
|
|
@@ -79908,6 +79908,7 @@ __exportStar(__webpack_require__(/*! ./string_template_source */ "./node_modules
|
|
|
79908
79908
|
__exportStar(__webpack_require__(/*! ./string_template */ "./node_modules/@abaplint/transpiler/build/src/expressions/string_template.js"), exports);
|
|
79909
79909
|
__exportStar(__webpack_require__(/*! ./switch_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/switch_body.js"), exports);
|
|
79910
79910
|
__exportStar(__webpack_require__(/*! ./table_expression */ "./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js"), exports);
|
|
79911
|
+
__exportStar(__webpack_require__(/*! ./target_field_symbol */ "./node_modules/@abaplint/transpiler/build/src/expressions/target_field_symbol.js"), exports);
|
|
79911
79912
|
__exportStar(__webpack_require__(/*! ./target_field */ "./node_modules/@abaplint/transpiler/build/src/expressions/target_field.js"), exports);
|
|
79912
79913
|
__exportStar(__webpack_require__(/*! ./target */ "./node_modules/@abaplint/transpiler/build/src/expressions/target.js"), exports);
|
|
79913
79914
|
__exportStar(__webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js"), exports);
|
|
@@ -80642,6 +80643,88 @@ exports.ReceiveParametersTranspiler = ReceiveParametersTranspiler;
|
|
|
80642
80643
|
|
|
80643
80644
|
/***/ }),
|
|
80644
80645
|
|
|
80646
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/reduce_body.js":
|
|
80647
|
+
/*!********************************************************************************!*\
|
|
80648
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/reduce_body.js ***!
|
|
80649
|
+
\********************************************************************************/
|
|
80650
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
80651
|
+
|
|
80652
|
+
"use strict";
|
|
80653
|
+
|
|
80654
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
80655
|
+
exports.ReduceBodyTranspiler = void 0;
|
|
80656
|
+
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
80657
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
80658
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
80659
|
+
const target_1 = __webpack_require__(/*! ./target */ "./node_modules/@abaplint/transpiler/build/src/expressions/target.js");
|
|
80660
|
+
class ReduceBodyTranspiler {
|
|
80661
|
+
transpile(typ, body, traversal) {
|
|
80662
|
+
if (!(typ.get() instanceof core_1.Expressions.TypeNameOrInfer)) {
|
|
80663
|
+
throw new Error("ReduceBodyTranspiler, Expected TypeNameOrInfer");
|
|
80664
|
+
}
|
|
80665
|
+
else if (body.findDirectExpression(core_1.Expressions.Let) !== undefined) {
|
|
80666
|
+
return new chunk_1.Chunk(`(() => { throw new Error("ReduceBodyTranspiler LET, not supported, transpiler"); })()`);
|
|
80667
|
+
}
|
|
80668
|
+
const forExpressions = body.findDirectExpressions(core_1.Expressions.For);
|
|
80669
|
+
const forExpression = forExpressions[0];
|
|
80670
|
+
if (forExpressions.length === 0) {
|
|
80671
|
+
throw new Error("ReduceBodyTranspiler, expected FOR");
|
|
80672
|
+
}
|
|
80673
|
+
else if (forExpressions.length > 1) {
|
|
80674
|
+
throw new Error("ReduceBodyTranspiler, multiple FOR not supported, " + body.concatTokens());
|
|
80675
|
+
}
|
|
80676
|
+
else if (["THEN", "UNTIL", "WHILE", "FROM", "TO", "GROUPS"].some(token => forExpressions[0].findDirectTokenByText(token))) {
|
|
80677
|
+
throw new Error("ValueBody FOR todo, " + body.concatTokens());
|
|
80678
|
+
}
|
|
80679
|
+
const loopExpression = forExpression.findDirectExpression(core_1.Expressions.InlineLoopDefinition);
|
|
80680
|
+
const loopSource = traversal.traverse(loopExpression?.findDirectExpression(core_1.Expressions.Source)).getCode();
|
|
80681
|
+
const loopVariable = traversal.traverse(loopExpression?.findDirectExpression(core_1.Expressions.TargetField)
|
|
80682
|
+
|| loopExpression?.findDirectExpression(core_1.Expressions.TargetFieldSymbol)).getCode();
|
|
80683
|
+
// const type = new TypeNameOrInfer().findType(typ, traversal);
|
|
80684
|
+
// const target = TranspileTypes.toType(type);
|
|
80685
|
+
const ret = new chunk_1.Chunk();
|
|
80686
|
+
ret.appendString("(await (async () => {\n");
|
|
80687
|
+
let loopWhere = "";
|
|
80688
|
+
const whereNode = forExpression?.findDirectExpression(core_1.Expressions.ComponentCond);
|
|
80689
|
+
if (whereNode) {
|
|
80690
|
+
const where = traversal.traverse(whereNode).getCode();
|
|
80691
|
+
loopWhere = `, {"where": async ` + where + `}`;
|
|
80692
|
+
}
|
|
80693
|
+
/*
|
|
80694
|
+
const returnId = UniqueIdentifier.get();
|
|
80695
|
+
ret.appendString(`const ${returnId} = ${target};\n`);
|
|
80696
|
+
*/
|
|
80697
|
+
let returnField = "";
|
|
80698
|
+
for (const init of body.findDirectExpressions(core_1.Expressions.InlineFieldDefinition)) {
|
|
80699
|
+
const fieldName = init.findDirectExpression(core_1.Expressions.Field).concatTokens().toLowerCase();
|
|
80700
|
+
returnField = fieldName;
|
|
80701
|
+
const scope = traversal.findCurrentScopeByToken(init.getFirstToken());
|
|
80702
|
+
const variable = scope?.findVariable(fieldName);
|
|
80703
|
+
if (variable === undefined) {
|
|
80704
|
+
throw new Error(`ReduceBodyTranspiler: variable ${fieldName} not found`);
|
|
80705
|
+
}
|
|
80706
|
+
ret.appendString(transpile_types_1.TranspileTypes.declare(variable) + `\n`);
|
|
80707
|
+
}
|
|
80708
|
+
ret.appendString(`for await (const ${loopVariable} of abap.statements.loop(${loopSource}${loopWhere})) {\n`);
|
|
80709
|
+
for (const nextChild of body.findDirectExpression(core_1.Expressions.ReduceNext)?.getChildren() || []) {
|
|
80710
|
+
if (nextChild.get() instanceof core_1.Expressions.SimpleTarget && nextChild instanceof core_1.Nodes.ExpressionNode) {
|
|
80711
|
+
ret.appendString(new target_1.TargetTranspiler().transpile(nextChild, traversal).getCode() + ".set(");
|
|
80712
|
+
}
|
|
80713
|
+
else if (nextChild.get() instanceof core_1.Expressions.Source && nextChild instanceof core_1.Nodes.ExpressionNode) {
|
|
80714
|
+
ret.appendString(traversal.traverse(nextChild).getCode() + ");\n");
|
|
80715
|
+
}
|
|
80716
|
+
}
|
|
80717
|
+
ret.appendString(`}\n`);
|
|
80718
|
+
ret.appendString(`return ${returnField};\n`);
|
|
80719
|
+
ret.appendString("})())");
|
|
80720
|
+
return ret;
|
|
80721
|
+
}
|
|
80722
|
+
}
|
|
80723
|
+
exports.ReduceBodyTranspiler = ReduceBodyTranspiler;
|
|
80724
|
+
//# sourceMappingURL=reduce_body.js.map
|
|
80725
|
+
|
|
80726
|
+
/***/ }),
|
|
80727
|
+
|
|
80645
80728
|
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/simple_source1.js":
|
|
80646
80729
|
/*!***********************************************************************************!*\
|
|
80647
80730
|
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/simple_source1.js ***!
|
|
@@ -80742,12 +80825,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
80742
80825
|
exports.SourceTranspiler = void 0;
|
|
80743
80826
|
const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
80744
80827
|
const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/transpiler/build/src/expressions/index.js");
|
|
80745
|
-
const constant_1 = __webpack_require__(/*! ./constant */ "./node_modules/@abaplint/transpiler/build/src/expressions/constant.js");
|
|
80746
80828
|
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
80747
|
-
const
|
|
80748
|
-
const value_body_1 = __webpack_require__(/*! ./value_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body.js");
|
|
80829
|
+
const constant_1 = __webpack_require__(/*! ./constant */ "./node_modules/@abaplint/transpiler/build/src/expressions/constant.js");
|
|
80749
80830
|
const corresponding_body_1 = __webpack_require__(/*! ./corresponding_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/corresponding_body.js");
|
|
80750
80831
|
const filter_body_1 = __webpack_require__(/*! ./filter_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/filter_body.js");
|
|
80832
|
+
const reduce_body_1 = __webpack_require__(/*! ./reduce_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/reduce_body.js");
|
|
80833
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
80834
|
+
const value_body_1 = __webpack_require__(/*! ./value_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/value_body.js");
|
|
80751
80835
|
class SourceTranspiler {
|
|
80752
80836
|
addGet;
|
|
80753
80837
|
constructor(addGet = false) {
|
|
@@ -80836,6 +80920,9 @@ class SourceTranspiler {
|
|
|
80836
80920
|
else if (c.get() instanceof core_1.Expressions.CondBody) {
|
|
80837
80921
|
continue;
|
|
80838
80922
|
}
|
|
80923
|
+
else if (c.get() instanceof core_1.Expressions.ReduceBody) {
|
|
80924
|
+
continue;
|
|
80925
|
+
}
|
|
80839
80926
|
else if (c.get() instanceof core_1.Expressions.SwitchBody) {
|
|
80840
80927
|
continue;
|
|
80841
80928
|
}
|
|
@@ -80919,6 +81006,17 @@ class SourceTranspiler {
|
|
|
80919
81006
|
}
|
|
80920
81007
|
ret.appendChunk(new filter_body_1.FilterBodyTranspiler().transpile(typ, filterBody, traversal));
|
|
80921
81008
|
}
|
|
81009
|
+
else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "REDUCE") {
|
|
81010
|
+
const typ = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
81011
|
+
if (typ === undefined) {
|
|
81012
|
+
throw new Error("TypeNameOrInfer not found in ReduceBody");
|
|
81013
|
+
}
|
|
81014
|
+
const reduceBody = node.findDirectExpression(core_1.Expressions.ReduceBody);
|
|
81015
|
+
if (reduceBody === undefined) {
|
|
81016
|
+
throw new Error("ReduceBody not found");
|
|
81017
|
+
}
|
|
81018
|
+
ret.appendChunk(new reduce_body_1.ReduceBodyTranspiler().transpile(typ, reduceBody, traversal));
|
|
81019
|
+
}
|
|
80922
81020
|
else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "REF") {
|
|
80923
81021
|
const infer = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
|
|
80924
81022
|
if (infer?.concatTokens() !== "#") {
|
|
@@ -82145,6 +82243,27 @@ exports.TargetFieldTranspiler = TargetFieldTranspiler;
|
|
|
82145
82243
|
|
|
82146
82244
|
/***/ }),
|
|
82147
82245
|
|
|
82246
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/target_field_symbol.js":
|
|
82247
|
+
/*!****************************************************************************************!*\
|
|
82248
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/target_field_symbol.js ***!
|
|
82249
|
+
\****************************************************************************************/
|
|
82250
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
82251
|
+
|
|
82252
|
+
"use strict";
|
|
82253
|
+
|
|
82254
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
82255
|
+
exports.TargetFieldSymbolTranspiler = void 0;
|
|
82256
|
+
const field_symbol_1 = __webpack_require__(/*! ./field_symbol */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_symbol.js");
|
|
82257
|
+
class TargetFieldSymbolTranspiler {
|
|
82258
|
+
transpile(node, traversal) {
|
|
82259
|
+
return new field_symbol_1.FieldSymbolTranspiler().transpile(node, traversal);
|
|
82260
|
+
}
|
|
82261
|
+
}
|
|
82262
|
+
exports.TargetFieldSymbolTranspiler = TargetFieldSymbolTranspiler;
|
|
82263
|
+
//# sourceMappingURL=target_field_symbol.js.map
|
|
82264
|
+
|
|
82265
|
+
/***/ }),
|
|
82266
|
+
|
|
82148
82267
|
/***/ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js":
|
|
82149
82268
|
/*!***************************************************************************************!*\
|
|
82150
82269
|
!*** ./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js ***!
|
|
@@ -82237,13 +82356,19 @@ class ValueBodyTranspiler {
|
|
|
82237
82356
|
ret.appendString(".set(" + source.getCode() + ".clone())");
|
|
82238
82357
|
}
|
|
82239
82358
|
else if (child.get() instanceof core_1.Expressions.For && child instanceof core_1.Nodes.ExpressionNode) {
|
|
82240
|
-
if (["THEN", "UNTIL", "WHILE", "FROM", "TO", "
|
|
82359
|
+
if (["THEN", "UNTIL", "WHILE", "FROM", "TO", "GROUPS"].some(token => child.findDirectTokenByText(token))) {
|
|
82241
82360
|
throw new Error("ValueBody FOR todo, " + body.concatTokens());
|
|
82242
82361
|
}
|
|
82243
82362
|
const loop = child.findDirectExpression(core_1.Expressions.InlineLoopDefinition);
|
|
82244
82363
|
if (loop === undefined) {
|
|
82245
82364
|
throw new Error("ValueBody FOR todo, " + body.concatTokens());
|
|
82246
82365
|
}
|
|
82366
|
+
let loopWhere = "";
|
|
82367
|
+
const whereNode = child?.findDirectExpression(core_1.Expressions.ComponentCond);
|
|
82368
|
+
if (whereNode) {
|
|
82369
|
+
const where = traversal.traverse(whereNode).getCode();
|
|
82370
|
+
loopWhere = `, {"where": async ` + where + `}`;
|
|
82371
|
+
}
|
|
82247
82372
|
const base = loop.findDirectExpression(core_1.Expressions.ValueBase);
|
|
82248
82373
|
if (base) {
|
|
82249
82374
|
throw new Error("ValueBody FOR todo, base, " + body.concatTokens());
|
|
@@ -82272,7 +82397,7 @@ class ValueBodyTranspiler {
|
|
|
82272
82397
|
ret = new chunk_1.Chunk().appendString(`await (async () => {
|
|
82273
82398
|
${targetDeclare}
|
|
82274
82399
|
const VAL = ${val};
|
|
82275
|
-
for await (const unique1 of abap.statements.loop(${source})) {
|
|
82400
|
+
for await (const unique1 of abap.statements.loop(${source}${loopWhere})) {
|
|
82276
82401
|
${targetAction}
|
|
82277
82402
|
VAL`);
|
|
82278
82403
|
post = ";\n}\nreturn VAL;\n})()";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.77",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"author": "abaplint",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@abaplint/core": "^2.113.
|
|
31
|
-
"@abaplint/transpiler": "^2.11.
|
|
30
|
+
"@abaplint/core": "^2.113.198",
|
|
31
|
+
"@abaplint/transpiler": "^2.11.77",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
33
|
"@types/node": "^24.3.1",
|
|
34
34
|
"@types/progress": "^2.0.7",
|