@abaplint/transpiler
Version:
25 lines • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SQLSourceTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class SQLSourceTranspiler {
transpile(node, traversal) {
let s = node.findDirectExpression(abaplint.Expressions.Source);
if (s?.getChildren().length === 1 && s.getChildren()[0].get() instanceof abaplint.Expressions.SQLAliasField) {
const chunk = new chunk_1.Chunk();
let concat = s.concatTokens();
if (concat.includes("~") && concat.split("~")[0].includes("/")) {
concat = "'" + concat.replace("~", "'~");
}
chunk.appendString(concat);
return chunk;
}
if (s === undefined) {
s = node.findDirectExpression(abaplint.Expressions.SimpleSource3);
}
return traversal.traverse(s);
}
}
exports.SQLSourceTranspiler = SQLSourceTranspiler;
//# sourceMappingURL=sql_source.js.map