UNPKG

@abaplint/transpiler

Version:
41 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComponentChainTranspiler = void 0; const core_1 = require("@abaplint/core"); const chunk_1 = require("../chunk"); const traversal_1 = require("../traversal"); class ComponentChainTranspiler { transpile(node, traversal) { const ret = new chunk_1.Chunk(); for (const n of node.getChildren()) { if (n.get() instanceof core_1.Expressions.ComponentName) { ret.append(n.concatTokens().toLowerCase(), n, traversal); } else if (n.concatTokens() === "-") { ret.append(".get().", n, traversal); } } return ret; } static concat(node, traversal) { let ret = ""; for (const n of node.getChildren()) { if (n.get() instanceof core_1.Expressions.ComponentName) { let prefix = traversal.isInterfaceAttribute(n.getFirstToken()); if (prefix === undefined) { prefix = ""; } else { prefix = traversal_1.Traversal.escapeNamespace(prefix) + "$"; } ret += prefix + n.concatTokens().toLowerCase(); } else { ret += n.concatTokens(); } } return ret; } } exports.ComponentChainTranspiler = ComponentChainTranspiler; //# sourceMappingURL=component_chain.js.map