@abaplint/core
Version:
abaplint - Core API
28 lines • 2.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Parameter = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
const version_1 = require("../../../version");
class Parameter {
getMatcher() {
const para = (0, combi_1.altPrio)("PARAMETER", "PARAMETERS");
const def = (0, combi_1.seq)("DEFAULT", (0, combi_1.altPrio)(expressions_1.Constant, expressions_1.FieldChain));
const radio = (0, combi_1.seq)("RADIOBUTTON GROUP", expressions_1.RadioGroupName);
const type = (0, combi_1.seq)((0, combi_1.altPrio)("TYPE", "LIKE"), (0, combi_1.altPrio)(expressions_1.TypeName, expressions_1.Dynamic), (0, combi_1.optPrio)(expressions_1.FieldOffset), (0, combi_1.optPrio)(expressions_1.FieldLength));
const memory = (0, combi_1.seq)("MEMORY ID", expressions_1.SimpleSource1);
const listbox = (0, combi_1.str)("AS LISTBOX");
const cmd = (0, combi_1.seq)("USER-COMMAND", (0, combi_1.regex)(/^[\w\?\/]+$/));
const modif = (0, combi_1.seq)("MODIF ID", expressions_1.Modif);
const visible = (0, combi_1.seq)("VISIBLE LENGTH", expressions_1.Constant);
const length = (0, combi_1.seq)("LENGTH", expressions_1.Constant);
const match = (0, combi_1.seq)("MATCHCODE OBJECT", expressions_1.Field);
const decimals = (0, combi_1.seq)("DECIMALS", expressions_1.Source);
const forTable = (0, combi_1.seq)("FOR TABLE", expressions_1.DatabaseTable, (0, combi_1.opt)("VALUE-REQUEST"));
const perm = (0, combi_1.per)(type, def, "OBLIGATORY", match, cmd, length, decimals, radio, memory, modif, listbox, visible, forTable, "VALUE CHECK", "NO-DISPLAY", "AS CHECKBOX", "LOWER CASE");
const ret = (0, combi_1.seq)(para, expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.ConstantFieldLength), (0, combi_1.opt)(perm));
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
}
}
exports.Parameter = Parameter;
//# sourceMappingURL=parameter.js.map