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