UNPKG

@abaplint/transpiler

Version:
37 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatabaseTableTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); class DatabaseTableTranspiler { constructor(prefix = true) { this.prefix = prefix; } transpile(node, traversal) { const chunk = new chunk_1.Chunk(); const concat = node.concatTokens(); let val = ""; if (this.prefix === true) { val = `abap.buildDbTableName(`; } const dyn = node.findDirectExpression(abaplint.Expressions.Dynamic); if (dyn) { if (concat.startsWith("('")) { val += `"` + concat.substring(2, concat.length - 2).toLowerCase() + `"`; } else { const foo = traversal.traverse(dyn.findDirectExpression(abaplint.Expressions.FieldChain)); val += foo.getCode() + ".get().trimEnd().toLowerCase()"; } } else { val += `"` + concat.toLowerCase() + `"`; } if (this.prefix === true) { val += `)`; } return chunk.appendString(val); } } exports.DatabaseTableTranspiler = DatabaseTableTranspiler; //# sourceMappingURL=database_table.js.map