@abaplint/core
Version:
abaplint - Core API
16 lines • 786 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CDSCardinality = void 0;
const combi_1 = require("../../abap/2_statements/combi");
class CDSCardinality extends combi_1.Expression {
getRunnable() {
// Numeric cardinality: any non-negative integer or * (e.g. [0..1], [1..2], [0..*])
const num = (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), "*");
const numeric = (0, combi_1.seq)("[", num, (0, combi_1.optPrio)((0, combi_1.seq)(".", ".", num)), "]");
const textNum = (0, combi_1.altPrio)("ONE", "MANY");
const text = (0, combi_1.seq)(textNum, "TO", textNum);
return (0, combi_1.altPrio)(numeric, text);
}
}
exports.CDSCardinality = CDSCardinality;
//# sourceMappingURL=cds_cardinality.js.map