UNPKG

@abaplint/transpiler

Version:
50 lines 2.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConvertTranspiler = void 0; const abaplint = require("@abaplint/core"); const expressions_1 = require("../expressions"); const chunk_1 = require("../chunk"); class ConvertTranspiler { transpile(node, traversal) { const source = []; const target = []; const date = node.findExpressionAfterToken("DATE"); if (date?.get() instanceof abaplint.Expressions.Source) { source.push("date: " + new expressions_1.SourceTranspiler().transpile(date, traversal).getCode()); } else if (date?.get() instanceof abaplint.Expressions.Target) { target.push("date: " + new expressions_1.TargetTranspiler().transpile(date, traversal).getCode()); } const time = node.findExpressionAfterToken("TIME"); if (time?.get() instanceof abaplint.Expressions.Source) { source.push("time: " + new expressions_1.SourceTranspiler().transpile(time, traversal).getCode()); } else if (time?.get() instanceof abaplint.Expressions.Target) { target.push("time: " + new expressions_1.TargetTranspiler().transpile(time, traversal).getCode()); } const stamp = node.findExpressionAfterToken("STAMP"); if (stamp?.get() instanceof abaplint.Expressions.Source) { source.push("stamp: " + new expressions_1.SourceTranspiler().transpile(stamp, traversal).getCode()); } else if (stamp?.get() instanceof abaplint.Expressions.Target) { target.push("stamp: " + new expressions_1.TargetTranspiler().transpile(stamp, traversal).getCode()); } const utclong = node.findExpressionAfterToken("UTCLONG"); if (utclong?.get() instanceof abaplint.Expressions.Source) { source.push("utclong: " + new expressions_1.SourceTranspiler().transpile(utclong, traversal).getCode()); } else if (utclong?.get() instanceof abaplint.Expressions.Target) { target.push("utclong: " + new expressions_1.TargetTranspiler().transpile(utclong, traversal).getCode()); } const zone = node.findExpressionAfterToken("ZONE"); if (zone?.get() instanceof abaplint.Expressions.Source) { source.push("zone: " + new expressions_1.SourceTranspiler().transpile(zone, traversal).getCode()); } else if (zone?.get() instanceof abaplint.Expressions.Target) { target.push("zone: " + new expressions_1.TargetTranspiler().transpile(zone, traversal).getCode()); } return new chunk_1.Chunk(`abap.statements.convert({${source.join(",")}}, {${target.join(",")}});`); } } exports.ConvertTranspiler = ConvertTranspiler; //# sourceMappingURL=convert.js.map