UNPKG

@abaplint/transpiler

Version:
29 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModifyDatabaseTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); const expressions_1 = require("../expressions"); class ModifyDatabaseTranspiler { transpile(node, traversal) { const dbtab = node.findFirstExpression(abaplint.Expressions.DatabaseTable); if (dbtab === undefined) { throw new Error("internal error, ModifyDatabaseTranspiler"); } const table = new expressions_1.DatabaseTableTranspiler(false).transpile(dbtab, traversal); const options = []; const tab = node.findExpressionAfterToken("TABLE"); if (tab) { const ttab = traversal.traverse(tab); options.push(`"table": ` + ttab.getCode()); } const from = node.findExpressionAfterToken("FROM"); if (from && from.get() instanceof abaplint.Expressions.SQLSource) { const tvalues = traversal.traverseWithTableContext(dbtab.concatTokens(), from); options.push(`"values": ` + tvalues.getCode()); } return new chunk_1.Chunk(`await abap.statements.modifyDatabase(${table.getCode()}, {${options.join(", ")}});`); } } exports.ModifyDatabaseTranspiler = ModifyDatabaseTranspiler; //# sourceMappingURL=modify_database.js.map