UNPKG

@abaplint/core

Version:
28 lines 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InsertInternal = void 0; const combi_1 = require("../combi"); const version_1 = require("../../../version"); const expressions_1 = require("../expressions"); class InsertInternal { getMatcher() { const target = (0, combi_1.altPrio)(expressions_1.Source, expressions_1.Dynamic); const assigning = (0, combi_1.seq)("ASSIGNING", expressions_1.FSTarget); const ref = (0, combi_1.seq)("REFERENCE INTO", expressions_1.Target); const index = (0, combi_1.seq)("INDEX", expressions_1.Source); const initial = (0, combi_1.str)("INITIAL LINE"); const into = (0, combi_1.seq)("INTO", expressions_1.Target); const intoTable = (0, combi_1.seq)("INTO TABLE", expressions_1.Target, (0, combi_1.opt)((0, combi_1.alt)(ref, assigning))); const to = (0, combi_1.seq)("TO", expressions_1.Source); const from = (0, combi_1.seq)("FROM", expressions_1.Source); const fromTo = (0, combi_1.opt)((0, combi_1.per)(from, to)); const foo = (0, combi_1.alt)(intoTable, (0, combi_1.seq)(into, (0, combi_1.opt)((0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)))), (0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning))); const lines = (0, combi_1.seq)("LINES OF", target, (0, combi_1.opt)(fromTo)); const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source, version_1.Version.OpenABAP)); const tab = (0, combi_1.seq)("TABLE", expressions_1.Source); const ret = (0, combi_1.seq)("INSERT", (0, combi_1.altPrio)(tab, (0, combi_1.seq)((0, combi_1.altPrio)(initial, lines, src), foo))); return ret; } } exports.InsertInternal = InsertInternal; //# sourceMappingURL=insert_internal.js.map