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