effx
API reference@effx/compilerlift

group

API reference for @effx/compiler/lift/group

group.ts overview


Exports Grouped by Category


utils

GroupFacts (interface)

Signature

export interface GroupFacts {
  readonly group: GroupRecord
  readonly root: RootRecord
  readonly groupId: string
  readonly rootId: string
  readonly info: GroupInfo
  /** Endpoint declarations in `.add` order. */
  readonly endpoints: ReadonlyArray<EndpointRecord>
  readonly missing: ReadonlyArray<MissingMember>
}

GroupInfo (interface)

What the group declaration records of itself (Http.Group title, description and display name).

Signature

export interface GroupInfo {
  readonly title: string | undefined
  readonly description: string | undefined
  readonly displayName: string | undefined
}

GroupSelection (type alias)

Signature

type GroupSelection =
  | { readonly _tag: "Missing"; readonly diagnostic: Diagnostic }
  /** The group exists but its own declaration cannot be represented. */
  | {
      readonly _tag: "Blocked"
      readonly group: GroupRecord
      readonly causes: ReadonlyArray<Cause>
    }
  | { readonly _tag: "Ready"; readonly facts: GroupFacts }

MissingMember (interface)

A member of .add(...) the model has no endpoint declaration for.

Signature

export interface MissingMember {
  readonly subject: string
  readonly cause: Cause
}

idOf

Signature

declare const idOf: (slot: TermSlot) => Option.Option<string>

membersOf

Signature

declare const membersOf: (steps: ReadonlyArray<StepRecord>) => ReadonlyArray<Term>

selectGroup

Finds the group, its unique root and every declaration-level cause.

Signature

declare const selectGroup: (ctx: Context) => GroupSelection

On this page