@abaplint/transpiler
Version:
41 lines • 1.48 kB
JavaScript
;
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