@abaplint/transpiler-cli 2.10.48 → 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.
Files changed (2) hide show
  1. package/build/bundle.js +33 -36
  2. package/package.json +2 -2
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
- const concat = int.concatTokens().trim();
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.character(res);
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.character(res);
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
- character(res) {
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 = "new abap.types.Character(" + length + ").set(" + ConstantTranspiler.escape(res) + ")";
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 abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
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
- const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));
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
- abap.statements.clear(${target});
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.48",
3
+ "version": "2.10.49",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -28,7 +28,7 @@
28
28
  "license": "MIT",
29
29
  "devDependencies": {
30
30
  "@abaplint/core": "^2.113.110",
31
- "@abaplint/transpiler": "^2.10.48",
31
+ "@abaplint/transpiler": "^2.10.49",
32
32
  "@types/glob": "^8.1.0",
33
33
  "@types/node": "^22.15.3",
34
34
  "@types/progress": "^2.0.7",