@abaplint/transpiler-cli 2.10.47 → 2.10.49
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 +33 -36
- package/package.json +3 -3
package/build/bundle.js
CHANGED
|
@@ -77776,30 +77776,33 @@ class ConstantTranspiler {
|
|
|
77776
77776
|
constructor(addGet = false) {
|
|
77777
77777
|
this.addGet = addGet;
|
|
77778
77778
|
}
|
|
77779
|
+
handleInteger(int, traversal) {
|
|
77780
|
+
const concat = int.concatTokens().trim();
|
|
77781
|
+
const parsed = Number.parseInt(concat, 10);
|
|
77782
|
+
let code = "";
|
|
77783
|
+
if (concat.length > 18) {
|
|
77784
|
+
// its potentially larger than Number.MAX_SAFE_INTEGER
|
|
77785
|
+
// https://stackoverflow.com/questions/1379934/large-numbers-erroneously-rounded-in-javascript
|
|
77786
|
+
code = `new abap.types.Integer8().set("${concat}")`;
|
|
77787
|
+
}
|
|
77788
|
+
else if (parsed > 2147483647 || parsed < -2147483648) {
|
|
77789
|
+
code = `new abap.types.Integer8().set("${concat}")`;
|
|
77790
|
+
}
|
|
77791
|
+
else if (parsed >= -10 && parsed <= 200) {
|
|
77792
|
+
code = `abap.IntegerFactory.get(${concat})`;
|
|
77793
|
+
}
|
|
77794
|
+
else {
|
|
77795
|
+
code = `new abap.types.Integer().set(${concat})`;
|
|
77796
|
+
}
|
|
77797
|
+
if (this.addGet === true) {
|
|
77798
|
+
code += ".get()";
|
|
77799
|
+
}
|
|
77800
|
+
return new chunk_1.Chunk().append(code, int, traversal);
|
|
77801
|
+
}
|
|
77779
77802
|
transpile(node, traversal) {
|
|
77780
77803
|
const int = node.findFirstExpression(core_1.Expressions.Integer);
|
|
77781
77804
|
if (int) {
|
|
77782
|
-
|
|
77783
|
-
const parsed = Number.parseInt(concat, 10);
|
|
77784
|
-
let code = "";
|
|
77785
|
-
if (concat.length > 18) {
|
|
77786
|
-
// its potentially larger than Number.MAX_SAFE_INTEGER
|
|
77787
|
-
// https://stackoverflow.com/questions/1379934/large-numbers-erroneously-rounded-in-javascript
|
|
77788
|
-
code = `new abap.types.Integer8().set("${concat}")`;
|
|
77789
|
-
}
|
|
77790
|
-
else if (parsed > 2147483647 || parsed < -2147483648) {
|
|
77791
|
-
code = `new abap.types.Integer8().set("${concat}")`;
|
|
77792
|
-
}
|
|
77793
|
-
else if (parsed >= -10 && parsed <= 200) {
|
|
77794
|
-
code = `abap.IntegerFactory.get(${concat})`;
|
|
77795
|
-
}
|
|
77796
|
-
else {
|
|
77797
|
-
code = `new abap.types.Integer().set(${concat})`;
|
|
77798
|
-
}
|
|
77799
|
-
if (this.addGet === true) {
|
|
77800
|
-
code += ".get()";
|
|
77801
|
-
}
|
|
77802
|
-
return new chunk_1.Chunk().append(code, node, traversal);
|
|
77805
|
+
return this.handleInteger(int, traversal);
|
|
77803
77806
|
}
|
|
77804
77807
|
let str = node.findDirectExpression(core_1.Expressions.ConstantString);
|
|
77805
77808
|
if (str === undefined) {
|
|
@@ -77808,7 +77811,7 @@ class ConstantTranspiler {
|
|
|
77808
77811
|
if (str) {
|
|
77809
77812
|
let res = str.getFirstToken().getStr();
|
|
77810
77813
|
if (res.startsWith("'") && this.addGet === false) {
|
|
77811
|
-
const code = this.
|
|
77814
|
+
const code = this.handleCharacter(res);
|
|
77812
77815
|
return new chunk_1.Chunk().append(code, node, traversal);
|
|
77813
77816
|
}
|
|
77814
77817
|
else if (res.startsWith("`") && this.addGet === false) {
|
|
@@ -77836,7 +77839,7 @@ class ConstantTranspiler {
|
|
|
77836
77839
|
chunk.appendString(",");
|
|
77837
77840
|
}
|
|
77838
77841
|
if (res.startsWith("'") && this.addGet === false) {
|
|
77839
|
-
const code = this.
|
|
77842
|
+
const code = this.handleCharacter(res);
|
|
77840
77843
|
chunk.append(code, node, traversal);
|
|
77841
77844
|
}
|
|
77842
77845
|
else if (res.startsWith("`") && this.addGet === false) {
|
|
@@ -77849,14 +77852,15 @@ class ConstantTranspiler {
|
|
|
77849
77852
|
}
|
|
77850
77853
|
return new chunk_1.Chunk(`todo, Constant`);
|
|
77851
77854
|
}
|
|
77852
|
-
|
|
77855
|
+
handleCharacter(res) {
|
|
77853
77856
|
const foo = res.replace(/''/g, "'");
|
|
77854
77857
|
let length = foo.length - 2;
|
|
77855
77858
|
if (length <= 0) {
|
|
77856
77859
|
// note: Characters cannot have length = zero, 1 is minimum
|
|
77857
77860
|
length = 1;
|
|
77858
77861
|
}
|
|
77859
|
-
const code = "
|
|
77862
|
+
const code = "abap.CharacterFactory.get(" + length + ", " + ConstantTranspiler.escape(res) + ")";
|
|
77863
|
+
// const code = "new abap.types.Character(" + length + ").set(" + ConstantTranspiler.escape(res) + ")";
|
|
77860
77864
|
return code;
|
|
77861
77865
|
}
|
|
77862
77866
|
static escape(str) {
|
|
@@ -82098,9 +82102,8 @@ class ClearTranspiler {
|
|
|
82098
82102
|
transpile(node, traversal) {
|
|
82099
82103
|
const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));
|
|
82100
82104
|
const ret = new chunk_1.Chunk();
|
|
82101
|
-
ret.append("abap.statements.clear(", node, traversal);
|
|
82102
82105
|
ret.appendChunk(target);
|
|
82103
|
-
ret.append(");", node.getLastToken(), traversal);
|
|
82106
|
+
ret.append(".clear();", node.getLastToken(), traversal);
|
|
82104
82107
|
return ret;
|
|
82105
82108
|
}
|
|
82106
82109
|
}
|
|
@@ -85563,16 +85566,10 @@ exports.ReceiveTranspiler = ReceiveTranspiler;
|
|
|
85563
85566
|
|
|
85564
85567
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
85565
85568
|
exports.RefreshTranspiler = void 0;
|
|
85566
|
-
const
|
|
85567
|
-
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
85569
|
+
const clear_1 = __webpack_require__(/*! ./clear */ "./node_modules/@abaplint/transpiler/build/src/statements/clear.js");
|
|
85568
85570
|
class RefreshTranspiler {
|
|
85569
85571
|
transpile(node, traversal) {
|
|
85570
|
-
|
|
85571
|
-
const ret = new chunk_1.Chunk();
|
|
85572
|
-
ret.append("abap.statements.clear(", node, traversal);
|
|
85573
|
-
ret.appendChunk(target);
|
|
85574
|
-
ret.append(");", node.getLastToken(), traversal);
|
|
85575
|
-
return ret;
|
|
85572
|
+
return new clear_1.ClearTranspiler().transpile(node, traversal);
|
|
85576
85573
|
}
|
|
85577
85574
|
}
|
|
85578
85575
|
exports.RefreshTranspiler = RefreshTranspiler;
|
|
@@ -85926,7 +85923,7 @@ class SelectTranspiler {
|
|
|
85926
85923
|
throw new Error("FAE, todo, empty table");
|
|
85927
85924
|
} else {
|
|
85928
85925
|
const ${unique2} = ${faeTranspiled}.array();
|
|
85929
|
-
|
|
85926
|
+
${target}.clear();
|
|
85930
85927
|
for await (const ${unique} of ${unique2}) {
|
|
85931
85928
|
await abap.statements.select(${target}, {select: "${select.trim()}"${extra}}, {appending: true});
|
|
85932
85929
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.49",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@abaplint/core": "^2.113.110",
|
|
31
|
-
"@abaplint/transpiler": "^2.10.
|
|
31
|
+
"@abaplint/transpiler": "^2.10.49",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
|
-
"@types/node": "^22.15.
|
|
33
|
+
"@types/node": "^22.15.3",
|
|
34
34
|
"@types/progress": "^2.0.7",
|
|
35
35
|
"glob": "=7.2.0",
|
|
36
36
|
"progress": "^2.0.3",
|