@abaplint/transpiler
Version:
30 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SQLJoinTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
const sql_cond_1 = require("./sql_cond");
const sql_from_source_1 = require("./sql_from_source");
class SQLJoinTranspiler {
transpile(node, traversal) {
const chunk = new chunk_1.Chunk();
for (const c of node.getChildren()) {
if (c instanceof abaplint.Nodes.TokenNode) {
// keywords
chunk.appendString(c.concatTokens() + " ");
}
else if (c.get() instanceof abaplint.Expressions.SQLCond) {
chunk.appendChunk(new sql_cond_1.SQLCondTranspiler().transpile(c, traversal));
}
else if (c.get() instanceof abaplint.Expressions.SQLFromSource) {
chunk.appendChunk(new sql_from_source_1.SQLFromSourceTranspiler().transpile(c, traversal));
}
else {
chunk.appendString(c.concatTokens() + " ");
}
}
return chunk;
}
}
exports.SQLJoinTranspiler = SQLJoinTranspiler;
//# sourceMappingURL=sql_join.js.map