UNPKG

@abaplint/core

Version:
31 lines 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Describe = void 0; const combi_1 = require("../combi"); const expressions_1 = require("../expressions"); const version_1 = require("../../../version"); class Describe { getMatcher() { const tlines = (0, combi_1.seq)("LINES", expressions_1.Target); const kind = (0, combi_1.seq)("KIND", expressions_1.Target); const occurs = (0, combi_1.seq)("OCCURS", expressions_1.Target); const table = (0, combi_1.seq)("TABLE", expressions_1.FieldChain, (0, combi_1.opt)((0, combi_1.per)(tlines, kind, occurs))); const mode = (0, combi_1.seq)("IN", (0, combi_1.alt)("BYTE", "CHARACTER"), "MODE"); const field = (0, combi_1.seq)("FIELD", expressions_1.Source, (0, combi_1.per)((0, combi_1.seq)("TYPE", expressions_1.Target), (0, combi_1.seq)("COMPONENTS", expressions_1.Target), (0, combi_1.seq)("LENGTH", expressions_1.Target, (0, combi_1.opt)(mode)), (0, combi_1.seq)("DECIMALS", expressions_1.Target), (0, combi_1.seq)("HELP-ID", expressions_1.Target), (0, combi_1.seq)("OUTPUT-LENGTH", expressions_1.Target), (0, combi_1.seq)("EDIT MASK", expressions_1.Target), (0, combi_1.seq)("INTO", expressions_1.Target))); const distance = (0, combi_1.seq)("DISTANCE BETWEEN", expressions_1.Source, "AND", expressions_1.Source, "INTO", expressions_1.Target, (0, combi_1.opt)(mode)); const lines = (0, combi_1.seq)("NUMBER OF LINES", expressions_1.Target); const pages = (0, combi_1.seq)("NUMBER OF PAGES", expressions_1.Target); const line = (0, combi_1.seq)("LINE", expressions_1.Source); const page = (0, combi_1.seq)("PAGE", expressions_1.Source); const index = (0, combi_1.seq)("INDEX", expressions_1.Source); const top = (0, combi_1.seq)("TOP-LINES", expressions_1.Target); const lineSize = (0, combi_1.seq)("LINE-SIZE", expressions_1.Target); const lineCount = (0, combi_1.seq)("LINE-COUNT", expressions_1.Target); const first = (0, combi_1.seq)("FIRST-LINE", expressions_1.Target); const list = (0, combi_1.seq)("LIST", (0, combi_1.per)(lines, pages, index, line, page, top, first, tlines, lineSize, lineCount)); const ret = (0, combi_1.seq)("DESCRIBE", (0, combi_1.altPrio)(table, field, distance, list)); return (0, combi_1.verNot)(version_1.Version.Cloud, ret); } } exports.Describe = Describe; //# sourceMappingURL=describe.js.map