@abaplint/transpiler
Version:
30 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SQLFieldAndValueTranspiler = void 0;
const abaplint = require("@abaplint/core");
const chunk_1 = require("../chunk");
class SQLFieldAndValueTranspiler {
transpile(node, traversal) {
const chunk = new chunk_1.Chunk();
chunk.appendString("\"");
for (const n of node.getChildren()) {
const concat = n.concatTokens();
if (concat === "=") {
chunk.appendString(" = ");
}
else if (n.get() instanceof abaplint.Expressions.SQLSource) {
const source = traversal.traverse(n);
// todo: value conversion? abap vs db, traversal.isSQLConversion
// todo: integers?
chunk.appendString("'\" + " + source.getCode() + ".get() + \"'");
}
else {
chunk.appendString(traversal.traverse(n).getCode() + " ");
}
}
chunk.appendString("\"");
return chunk;
}
}
exports.SQLFieldAndValueTranspiler = SQLFieldAndValueTranspiler;
//# sourceMappingURL=sql_field_and_value.js.map