Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1x 1x 1x 1x 1x 1x 1x 1x 15x 15x 15x 15x 15x 15x 15x 1x | import {CDSAnnotation, CDSAssociation, CDSComposition, CDSWithParameters} from ".";
import {Expression, seq, star, opt, str, plus, alt} from "../../abap/2_statements/combi";
import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
import {CDSName} from "./cds_name";
import {CDSType} from "./cds_type";
export class CDSDefineCustom extends Expression {
public getRunnable(): IStatementRunnable {
const field = seq(opt(str("KEY")), CDSName, ":", CDSType, ";");
const compsiOrAssoci = seq(CDSName, ":", alt(CDSComposition, CDSAssociation), ";");
return seq(star(CDSAnnotation), str("DEFINE"), opt(str("ROOT")), str("CUSTOM ENTITY"), CDSName, opt(CDSWithParameters), str("{"),
plus(seq(star(CDSAnnotation), alt(field, compsiOrAssoci))),
str("}"), opt(";"));
}
} |