All files / src/cds/expressions cds_extend_view.ts

100% Statements 15/15
100% Branches 1/1
100% Functions 1/1
100% Lines 15/15

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 151x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 5x 1x
import {CDSAnnotation, CDSAs} from ".";
import {Expression, seq, star, opt, str} from "../../abap/2_statements/combi";
import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
import {CDSName} from "./cds_name";
 
export class CDSExtendView extends Expression {
  public getRunnable(): IStatementRunnable {
 
    const namedot = seq(CDSName, opt(seq(".", CDSName)), opt(CDSAs));
    const valueNested = seq("{", namedot, star(seq(",", namedot)), "}");
 
    return seq(star(CDSAnnotation), str("EXTEND VIEW"), opt(str("ENTITY")), CDSName, str("WITH"), opt(CDSName),
               valueNested, opt(";"));
  }
}