UNPKG

@abaplint/core

Version:
19 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CDSAssociation = void 0; const _1 = require("."); const combi_1 = require("../../abap/2_statements/combi"); const cds_cardinality_1 = require("./cds_cardinality"); class CDSAssociation extends combi_1.Expression { getRunnable() { // Text cardinality: "to exact one", "to one", "to many" — no brackets const textCardinality = (0, combi_1.seq)((0, combi_1.opt)("EXACT"), (0, combi_1.altPrio)("ONE", "MANY")); // "association of one to many Target as _Alias on condition" — OF + cardinality form const ofForm = (0, combi_1.seq)("ASSOCIATION", "OF", cds_cardinality_1.CDSCardinality, "TO", _1.CDSRelation, "ON", _1.CDSCondition); // "association [0..1] to Target as _Alias on condition" — standard form const standardForm = (0, combi_1.seq)("ASSOCIATION", (0, combi_1.opt)(cds_cardinality_1.CDSCardinality), "TO", (0, combi_1.opt)((0, combi_1.altPrio)(textCardinality, "PARENT")), _1.CDSRelation, "ON", _1.CDSCondition, (0, combi_1.opt)((0, combi_1.seq)("WITH", "DEFAULT", "FILTER", _1.CDSCondition))); return (0, combi_1.altPrio)(ofForm, standardForm); } } exports.CDSAssociation = CDSAssociation; //# sourceMappingURL=cds_association.js.map