effx
API reference@effx/compiler

cedar

API reference for @effx/compiler/cedar

cedar.ts overview


Exports Grouped by Category


utils

AccessContractProjection

Signature

declare const AccessContractProjection: {
  readonly annotator: "omitted"
  readonly exposure: "annotated"
  readonly acceptedCredentials: "annotated"
  readonly principalKinds: "mapped"
  readonly capabilities: "mapped"
  readonly requirements: "mapped"
  readonly canonicalScopeResolver: "both"
  readonly concealment: "annotated"
  readonly decisionTime: "annotated"
  readonly snapshotDecisionForCommand: "annotated"
}

CedarFiles (interface)

Signature

export interface CedarFiles {
  readonly schema: string
  readonly policies: string
}

CedarOptions (interface)

Signature

export interface CedarOptions {
  readonly namespace?: string
}

CedarProjection (interface)

Signature

export interface CedarProjection {
  /** `None` when an error diagnostic or an empty projection means no file may be written. */
  readonly files: Option.Option<CedarFiles>
  readonly diagnostics: ReadonlyArray<Diagnostic>
}

DEFAULT_CEDAR_NAMESPACE

Signature

declare const DEFAULT_CEDAR_NAMESPACE: "Effx"

FieldDisposition (type alias)

What the projection does with each AccessContractData field. The satisfies clause makes a new contract field a typecheck error until it is classified, and annotators is typed from it, so an annotated field cannot lack an emitter.

Signature

type FieldDisposition = "mapped" | "annotated" | "both" | "omitted"

cedarOf

Signature

declare const cedarOf: (
  ir: ApplicationIR,
  index: GraphIndex,
  semanticHash: string,
  options?: CedarOptions
) => CedarProjection

On this page