UNPKG

@abaplint/transpiler

Version:
35 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SQLFieldListTranspiler = void 0; const abaplint = require("@abaplint/core"); const chunk_1 = require("../chunk"); const sql_field_1 = require("./sql_field"); const sql_field_name_1 = require("./sql_field_name"); class SQLFieldListTranspiler { transpile(node, traversal) { const fields = []; for (const f of node.getChildren() || []) { if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLField) { const code = new sql_field_1.SQLFieldTranspiler().transpile(f, traversal).getCode(); fields.push(code); } else if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLFieldName) { const code = new sql_field_name_1.SQLFieldNameTranspiler().transpile(f, traversal).getCode(); fields.push(code); } else if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLFieldList) { // todo, I have no idea why its nested like this when there is just one field return new SQLFieldListTranspiler().transpile(f, traversal); } else { const concat = f.concatTokens(); if (concat !== ",") { fields.push(concat); } } } return new chunk_1.Chunk().append(fields.join(", "), node, traversal); } } exports.SQLFieldListTranspiler = SQLFieldListTranspiler; //# sourceMappingURL=sql_field_list.js.map