UNPKG

@abaplint/core

Version:
48 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Convert = void 0; const Expressions = require("../../2_statements/expressions"); const inline_data_1 = require("../expressions/inline_data"); const basic_1 = require("../../types/basic"); const source_1 = require("../expressions/source"); const target_1 = require("../expressions/target"); class Convert { runSyntax(node, input) { // todo, the source must be of a specific type for (const s of node.findDirectExpressions(Expressions.Source)) { source_1.Source.runSyntax(s, input); } const timeTarget = node.findExpressionAfterToken("TIME"); if ((timeTarget === null || timeTarget === void 0 ? void 0 : timeTarget.get()) instanceof Expressions.Target) { const inline = timeTarget === null || timeTarget === void 0 ? void 0 : timeTarget.findDirectExpression(Expressions.InlineData); if (inline) { inline_data_1.InlineData.runSyntax(inline, input, new basic_1.TimeType()); } else { target_1.Target.runSyntax(timeTarget, input); } } const dateTarget = node.findExpressionAfterToken("DATE"); if ((dateTarget === null || dateTarget === void 0 ? void 0 : dateTarget.get()) instanceof Expressions.Target) { const inline = dateTarget === null || dateTarget === void 0 ? void 0 : dateTarget.findDirectExpression(Expressions.InlineData); if (inline) { inline_data_1.InlineData.runSyntax(inline, input, new basic_1.DateType()); } else { target_1.Target.runSyntax(dateTarget, input); } } const stampTarget = node.findExpressionAfterToken("STAMP"); if ((stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.get()) instanceof Expressions.Target) { const inline = stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.findDirectExpression(Expressions.InlineData); if (inline) { inline_data_1.InlineData.runSyntax(inline, input, new basic_1.PackedType(8, 4)); } else { target_1.Target.runSyntax(stampTarget, input); } } } } exports.Convert = Convert; //# sourceMappingURL=convert.js.map