@abaplint/transpiler
Version:
26 lines • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReadReportTranspiler = void 0;
const chunk_1 = require("../chunk");
const expressions_1 = require("../expressions");
class ReadReportTranspiler {
transpile(node, traversal) {
const reportNode = node.findExpressionAfterToken("REPORT");
const reportChunk = new expressions_1.SourceTranspiler().transpile(reportNode, traversal);
const options = [];
const intoNode = node.findExpressionAfterToken("INTO");
if (intoNode) {
options.push("into: " + new expressions_1.TargetTranspiler().transpile(intoNode, traversal).getCode());
}
const stateNode = node.findExpressionAfterToken("STATE");
if (stateNode) {
options.push("state: " + new expressions_1.SourceTranspiler().transpile(stateNode, traversal).getCode());
}
return new chunk_1.Chunk().appendString(`await abap.statements.readReport(`)
.appendChunk(reportChunk)
.appendString(", {" + options.join(",") + "}")
.appendString(");");
}
}
exports.ReadReportTranspiler = ReadReportTranspiler;
//# sourceMappingURL=read_report.js.map