UNPKG

@abaplint/transpiler

Version:
37 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComponentCondSubTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); class ComponentCondSubTranspiler { transpile(node, traversal) { let ret = ""; for (const c of node.getChildren()) { if (c instanceof abaplint.Nodes.ExpressionNode) { let cond = traversal.traverse(c).getCode(); cond = cond.replace(/^\(I\) => \{return /, ""); cond = cond.replace(/;\}$/, ""); ret += cond; } else if (c instanceof abaplint.Nodes.TokenNode) { switch (c.get().getStr().toUpperCase()) { case "(": ret += "("; break; case ")": ret += ")"; break; case "NOT": ret += "!"; break; default: throw new Error("ComponentCondSubTranspiler, unexpected: " + node.concatTokens()); } } } ret = `(I) => {return ${ret};}`; return new chunk_1.Chunk(ret); } } exports.ComponentCondSubTranspiler = ComponentCondSubTranspiler; //# sourceMappingURL=component_cond_sub.js.map