VDL Plugin SDK

PolicyExpr

Import from @varavel/vdl-plugin-sdk/utils/policy.

type PolicyExpr = 
  | {
  kind: "or";
  options: PolicyExpr[];
}
  | {
  clauses: PolicyExpr[];
  kind: "and";
}
  | {
  kind: "not";
  value: PolicyExpr;
}
  | {
  kind: "comparison";
  left: PolicyExpr;
  operator: "==" | "!=" | ">" | ">=" | "<" | "<=";
  right: PolicyExpr;
}
  | {
  candidates: PolicyExpr;
  kind: "in";
  value: PolicyExpr;
}
  | {
  kind: "has";
  ref: PolicyRef;
}
  | PolicyRef
  | PolicyLiteral
  | PolicyArray;

Policy expression with resolved types for code generation.