@abaplint/transpiler-cli 2.0.61 → 2.0.64

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 +3 -3
  2. package/package.json +2 -2
package/build/bundle.js CHANGED
@@ -13073,7 +13073,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
13073
13073
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13074
13074
 
13075
13075
  "use strict";
13076
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.CompareTranspiler = void 0;\r\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nclass CompareTranspiler {\r\n transpile(node, traversal) {\r\n // todo, this is not correct\r\n const concat = node.concatTokens().toUpperCase();\r\n let pre = concat.startsWith(\"NOT \") ? \"!\" : \"\";\r\n const sources = node.findDirectExpressions(core_1.Expressions.Source).concat(node.findDirectExpressions(core_1.Expressions.SourceFieldSymbol));\r\n if (sources.length === 1) {\r\n const s0 = traversal.traverse(sources[0]);\r\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS INITIAL\"))\r\n || concat.endsWith(\"IS NOT INITIAL\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === false\");\r\n }\r\n else if (concat.endsWith(\"IS INITIAL\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\")\");\r\n }\r\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS BOUND\"))\r\n || concat.endsWith(\"IS NOT BOUND\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\")\");\r\n }\r\n else if (concat.endsWith(\"IS BOUND\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === false\");\r\n }\r\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS ASSIGNED\"))\r\n || concat.endsWith(\"IS NOT ASSIGNED\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.assigned(\").appendChunk(s0).appendString(\") === false\");\r\n }\r\n else if (concat.endsWith(\"IS ASSIGNED\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.assigned(\").appendChunk(s0).appendString(\")\");\r\n }\r\n if (concat.endsWith(\" IS SUPPLIED\")) {\r\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS SUPPLIED\", \"\").toLowerCase());\r\n }\r\n }\r\n else if (sources.length === 2 && node.findDirectTokenByText(\"IN\")) {\r\n if (concat.search(\" NOT IN \") >= 0) {\r\n pre = pre === \"!\" ? \"\" : \"!\";\r\n }\r\n const s0 = traversal.traverse(sources[0]);\r\n const s1 = traversal.traverse(sources[1]);\r\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.in(\").join([s0, s1]).appendString(\")\");\r\n }\r\n else if (sources.length === 2) {\r\n const operator = traversal.traverse(node.findFirstExpression(core_1.Expressions.CompareOperator));\r\n const s0 = traversal.traverse(sources[0]);\r\n const s1 = traversal.traverse(sources[1]);\r\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.\").appendChunk(operator).appendString(\"(\").join([s0, s1]).appendString(\")\");\r\n }\r\n else if (sources.length === 3 && node.findDirectTokenByText(\"BETWEEN\")) {\r\n if (concat.search(\" NOT BETWEEN \") >= 0) {\r\n pre = pre === \"!\" ? \"\" : \"!\";\r\n }\r\n const s0 = traversal.traverse(sources[0]);\r\n const s1 = traversal.traverse(sources[1]);\r\n const s2 = traversal.traverse(sources[2]);\r\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.between(\").join([s0, s1, s2]).appendString(\")\");\r\n }\r\n return new chunk_1.Chunk(\"CompareTodo\");\r\n }\r\n}\r\nexports.CompareTranspiler = CompareTranspiler;\r\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/expressions/compare.js?");
13076
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.CompareTranspiler = void 0;\r\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nclass CompareTranspiler {\r\n transpile(node, traversal) {\r\n // todo, this is not correct\r\n const concat = node.concatTokens().toUpperCase();\r\n let pre = concat.startsWith(\"NOT \") ? \"!\" : \"\";\r\n const sources = node.findDirectExpressions(core_1.Expressions.Source).concat(node.findDirectExpressions(core_1.Expressions.SourceFieldSymbol));\r\n if (sources.length === 1) {\r\n const s0 = traversal.traverse(sources[0]);\r\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS INITIAL\"))\r\n || concat.endsWith(\"IS NOT INITIAL\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === false\");\r\n }\r\n else if (concat.endsWith(\"IS INITIAL\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\")\");\r\n }\r\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS BOUND\"))\r\n || concat.endsWith(\"IS NOT BOUND\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\")\");\r\n }\r\n else if (concat.endsWith(\"IS BOUND\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === false\");\r\n }\r\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS ASSIGNED\"))\r\n || concat.endsWith(\"IS NOT ASSIGNED\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.assigned(\").appendChunk(s0).appendString(\") === false\");\r\n }\r\n else if (concat.endsWith(\"IS ASSIGNED\")) {\r\n return new chunk_1.Chunk().appendString(\"abap.compare.assigned(\").appendChunk(s0).appendString(\")\");\r\n }\r\n if (concat.endsWith(\" IS SUPPLIED\")) {\r\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS SUPPLIED\", \"\").toLowerCase());\r\n }\r\n else if (concat.endsWith(\" IS NOT SUPPLIED\")) {\r\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS NOT SUPPLIED\", \"\").toLowerCase() + \" === undefined\");\r\n }\r\n }\r\n else if (sources.length === 2 && node.findDirectTokenByText(\"IN\")) {\r\n if (concat.search(\" NOT IN \") >= 0) {\r\n pre = pre === \"!\" ? \"\" : \"!\";\r\n }\r\n const s0 = traversal.traverse(sources[0]);\r\n const s1 = traversal.traverse(sources[1]);\r\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.in(\").join([s0, s1]).appendString(\")\");\r\n }\r\n else if (sources.length === 2) {\r\n const operator = traversal.traverse(node.findFirstExpression(core_1.Expressions.CompareOperator));\r\n const s0 = traversal.traverse(sources[0]);\r\n const s1 = traversal.traverse(sources[1]);\r\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.\").appendChunk(operator).appendString(\"(\").join([s0, s1]).appendString(\")\");\r\n }\r\n else if (sources.length === 3 && node.findDirectTokenByText(\"BETWEEN\")) {\r\n if (concat.search(\" NOT BETWEEN \") >= 0) {\r\n pre = pre === \"!\" ? \"\" : \"!\";\r\n }\r\n const s0 = traversal.traverse(sources[0]);\r\n const s1 = traversal.traverse(sources[1]);\r\n const s2 = traversal.traverse(sources[2]);\r\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.between(\").join([s0, s1, s2]).appendString(\")\");\r\n }\r\n return new chunk_1.Chunk(\"CompareTodo\");\r\n }\r\n}\r\nexports.CompareTranspiler = CompareTranspiler;\r\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/expressions/compare.js?");
13077
13077
 
13078
13078
  /***/ }),
13079
13079
 
@@ -13623,7 +13623,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
13623
13623
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13624
13624
 
13625
13625
  "use strict";
13626
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.AssignTranspiler = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/transpiler/build/src/expressions/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nclass AssignTranspiler {\r\n transpile(node, traversal) {\r\n const sources = node.findDirectExpressions(abaplint.Expressions.Source).map(e => new expressions_1.SourceTranspiler(false).transpile(e, traversal).getCode());\r\n const fs = new expressions_1.FieldSymbolTranspiler().transpile(node.findDirectExpression(abaplint.Expressions.FSTarget), traversal).getCode();\r\n const options = [];\r\n const concat = node.concatTokens().toUpperCase();\r\n if (concat.startsWith(\"ASSIGN COMPONENT \")) {\r\n options.push(\"component: \" + sources.shift());\r\n }\r\n options.push(\"target: \" + fs);\r\n options.push(\"source: \" + sources.pop());\r\n if (concat.endsWith(\" CASTING.\")) {\r\n options.push(\"casting: true\");\r\n }\r\n return new chunk_1.Chunk().append(\"abap.statements.assign({\", node, traversal)\r\n .appendString(options.join(\", \"))\r\n .append(\"});\", node.getLastToken(), traversal);\r\n }\r\n}\r\nexports.AssignTranspiler = AssignTranspiler;\r\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/statements/assign.js?");
13626
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.AssignTranspiler = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/transpiler/build/src/expressions/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nclass AssignTranspiler {\r\n transpile(node, traversal) {\r\n var _a, _b;\r\n const sources = node.findDirectExpressions(abaplint.Expressions.Source).map(e => new expressions_1.SourceTranspiler(false).transpile(e, traversal).getCode());\r\n const fs = new expressions_1.FieldSymbolTranspiler().transpile(node.findDirectExpression(abaplint.Expressions.FSTarget), traversal).getCode();\r\n const options = [];\r\n const concat = node.concatTokens().toUpperCase();\r\n if (concat.startsWith(\"ASSIGN COMPONENT \")) {\r\n options.push(\"component: \" + sources.shift());\r\n }\r\n options.push(\"target: \" + fs);\r\n if (sources.length !== 0) {\r\n options.push(\"source: \" + sources.pop());\r\n }\r\n else {\r\n let dynamic = (_a = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(abaplint.Expressions.ConstantString);\r\n if (dynamic) {\r\n options.push(`dynamicText: ` + dynamic.getFirstToken().getStr());\r\n const s = dynamic.getFirstToken().getStr().toLowerCase().match(/\\w+/);\r\n options.push(`dynamicSource: (() => {try { return ${s}; } catch {}})()`);\r\n }\r\n else {\r\n dynamic = (_b = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _b === void 0 ? void 0 : _b.findFirstExpression(abaplint.Expressions.FieldChain);\r\n if (dynamic) {\r\n const code = new expressions_1.FieldChainTranspiler(true).transpile(dynamic, traversal).getCode();\r\n options.push(`dynamicText: ` + code);\r\n options.push(`dynamicSource: (() => {try { return eval(${code}.toLowerCase().match(/\\\\w+/)[0]); } catch {}})()`);\r\n }\r\n }\r\n }\r\n if (concat.endsWith(\" CASTING.\")) {\r\n options.push(\"casting: true\");\r\n }\r\n return new chunk_1.Chunk().append(\"abap.statements.assign({\", node, traversal)\r\n .appendString(options.join(\", \"))\r\n .append(\"});\", node.getLastToken(), traversal);\r\n }\r\n}\r\nexports.AssignTranspiler = AssignTranspiler;\r\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/statements/assign.js?");
13627
13627
 
13628
13628
  /***/ }),
13629
13629
 
@@ -13843,7 +13843,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
13843
13843
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13844
13844
 
13845
13845
  "use strict";
13846
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.CreateDataTranspiler = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/transpiler/build/src/expressions/index.js\");\r\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"./node_modules/@abaplint/transpiler/build/src/transpile_types.js\");\r\nclass CreateDataTranspiler {\r\n transpile(node, traversal) {\r\n var _a, _b, _c;\r\n const targetNode = node.findDirectExpression(abaplint.Expressions.Target);\r\n const target = traversal.traverse(targetNode);\r\n const concat = node.concatTokens().toUpperCase();\r\n const options = [];\r\n let dynamic = (_a = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(abaplint.Expressions.ConstantString);\r\n if (dynamic) {\r\n options.push(`\"name\": ` + dynamic.getFirstToken().getStr());\r\n }\r\n else {\r\n dynamic = (_b = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _b === void 0 ? void 0 : _b.findFirstExpression(abaplint.Expressions.FieldChain);\r\n if (dynamic) {\r\n options.push(`\"name\": ` + new expressions_1.FieldChainTranspiler(true).transpile(dynamic, traversal).getCode());\r\n }\r\n }\r\n const typeNameNode = node.findDirectExpression(abaplint.Expressions.TypeName);\r\n if (typeNameNode) {\r\n const id = (_c = traversal.findCurrentScopeByToken(typeNameNode.getFirstToken())) === null || _c === void 0 ? void 0 : _c.findType(typeNameNode.concatTokens());\r\n if (id) {\r\n options.push(`\"type\": ` + new transpile_types_1.TranspileTypes().toType(id.getType()));\r\n }\r\n }\r\n if (node.findDirectTokenByText(\"TABLE\")) {\r\n options.push(`\"table\": true`);\r\n }\r\n if (concat.includes(\" LIKE LINE OF \")) {\r\n const so = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\r\n options.push(`\"likeLineOf\": ` + so.getCode());\r\n }\r\n let add = \"\";\r\n if (options.length > 0) {\r\n add = \",{\" + options.join(\",\") + \"}\";\r\n }\r\n return new chunk_1.Chunk(\"abap.statements.createData(\" + target.getCode() + add + \");\");\r\n }\r\n}\r\nexports.CreateDataTranspiler = CreateDataTranspiler;\r\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/statements/create_data.js?");
13846
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.CreateDataTranspiler = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/transpiler/build/src/expressions/index.js\");\r\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"./node_modules/@abaplint/transpiler/build/src/transpile_types.js\");\r\nclass CreateDataTranspiler {\r\n transpile(node, traversal) {\r\n var _a, _b, _c;\r\n const targetNode = node.findDirectExpression(abaplint.Expressions.Target);\r\n const target = traversal.traverse(targetNode);\r\n const concat = node.concatTokens().toUpperCase();\r\n const options = [];\r\n let dynamic = (_a = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(abaplint.Expressions.ConstantString);\r\n if (dynamic) {\r\n options.push(`\"name\": ` + dynamic.getFirstToken().getStr());\r\n }\r\n else {\r\n dynamic = (_b = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _b === void 0 ? void 0 : _b.findFirstExpression(abaplint.Expressions.FieldChain);\r\n if (dynamic) {\r\n options.push(`\"name\": ` + new expressions_1.FieldChainTranspiler(true).transpile(dynamic, traversal).getCode());\r\n }\r\n }\r\n const typeNameNode = node.findDirectExpression(abaplint.Expressions.TypeName);\r\n if (typeNameNode) {\r\n const id = (_c = traversal.findCurrentScopeByToken(typeNameNode.getFirstToken())) === null || _c === void 0 ? void 0 : _c.findType(typeNameNode.concatTokens());\r\n if (id) {\r\n options.push(`\"type\": ` + new transpile_types_1.TranspileTypes().toType(id.getType()));\r\n }\r\n }\r\n if (node.findDirectTokenByText(\"TABLE\")) {\r\n options.push(`\"table\": true`);\r\n }\r\n if (concat.includes(\" LIKE LINE OF \")) {\r\n const so = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\r\n options.push(`\"likeLineOf\": ` + so.getCode());\r\n }\r\n const handle = node.findExpressionAfterToken(\"HANDLE\");\r\n if (handle) {\r\n const so = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\r\n options.push(`\"typeHandle\": ` + so.getCode());\r\n }\r\n let add = \"\";\r\n if (options.length > 0) {\r\n add = \",{\" + options.join(\",\") + \"}\";\r\n }\r\n return new chunk_1.Chunk(\"abap.statements.createData(\" + target.getCode() + add + \");\");\r\n }\r\n}\r\nexports.CreateDataTranspiler = CreateDataTranspiler;\r\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/statements/create_data.js?");
13847
13847
 
13848
13848
  /***/ }),
13849
13849
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.0.61",
3
+ "version": "2.0.64",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "bin": {
6
6
  "abap_transpile": "./abap_transpile"
@@ -25,7 +25,7 @@
25
25
  "author": "abaplint",
26
26
  "license": "MIT",
27
27
  "devDependencies": {
28
- "@abaplint/transpiler": "^2.0.61",
28
+ "@abaplint/transpiler": "^2.0.64",
29
29
  "@types/glob": "^7.2.0",
30
30
  "glob": "=7.2.0",
31
31
  "@types/progress": "^2.0.5",