UNPKG

@abaplint/transpiler

Version:
34 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComponentCondTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); class ComponentCondTranspiler { 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 "AND": ret += " && "; break; case "OR": ret += " || "; break; default: throw new Error("ComponentCondTranspiler, unexpected"); } } } ret = `(I) => {return ${ret};}`; return new chunk_1.Chunk(ret); } } exports.ComponentCondTranspiler = ComponentCondTranspiler; //# sourceMappingURL=component_cond.js.map