UNPKG

@abaplint/transpiler

Version:
29 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeleteDatabaseTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); const expressions_1 = require("../expressions"); class DeleteDatabaseTranspiler { transpile(node, traversal) { const dbtab = node.findFirstExpression(abaplint.Expressions.DatabaseTable); if (dbtab === undefined) { throw new Error("internal error, DeleteDatabaseTranspiler"); } 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 w = node.findExpressionAfterToken("WHERE"); if (w && w.get() instanceof abaplint.Expressions.SQLCond) { const ttab = traversal.traverse(w); options.push(`"where": "` + ttab.getCode() + `"`); } return new chunk_1.Chunk(`await abap.statements.deleteDatabase(${table.getCode()}, {${options.join(", ")}});`); } } exports.DeleteDatabaseTranspiler = DeleteDatabaseTranspiler; //# sourceMappingURL=delete_database.js.map