Logo Xantham

Pipeline Module

The pipeline: per tier, a plain fold over that tier's pass list; between tiers, total transition functions (decision O1 - accumulating records, so reading an artifact that does not exist yet is a compile error, not a runtime one). Passes run strictly sequentially (decision O3); concurrency lives inside passes, where the mailbox batches it.

Functions and values

Function or value Description

generate config packageDir

Full Usage: generate config packageDir

Parameters:
Returns: Async<RenderModel>

Runs the whole pipeline against a package directory and returns the rendered model without touching the output directory - what tests diff against goldens.

config : GeneratorConfig
packageDir : string
Returns: Async<RenderModel>

groupModules ctx shape

Full Usage: groupModules ctx shape

Parameters:
Returns: GroupModule list

The modules a run writes: the entry package's, plus one per shipped group a declaration reached.

ctx : Context
shape : ShapeModel
Returns: GroupModule list

moduleName ctx

Full Usage: moduleName ctx

Parameters:
Returns: string

The generated module's name: the config override, the configured namespace, or the entry package's name under the O7 naming contract (`@scope/pkg-name` -> `Scope.PkgName`).

ctx : Context
Returns: string

run config packageDir outDir

Full Usage: run config packageDir outDir

Parameters:
Returns: Async<RunReport>

Runs the pipeline and writes the rendered files into `outDir`, creating it and the `groups/` directory a shipped group is written under if needed.

config : GeneratorConfig
packageDir : string
outDir : string
Returns: Async<RunReport>

runTier ctx passes model

Full Usage: runTier ctx passes model

Parameters:
    ctx : Context
    passes : Pass<'Model> list
    model : 'Model

Returns: Async<'Model * Finding list>
Type parameters: 'Model

Folds a tier: each pass advances the model, findings are stamped with the pass that made them, and the tier hands back both.

ctx : Context
passes : Pass<'Model> list
model : 'Model
Returns: Async<'Model * Finding list>

toRender ctx shape findings

Full Usage: toRender ctx shape findings

Parameters:
Returns: RenderModel

Shape -> Render: declarations plus every finding of every earlier tier.

ctx : Context
shape : ShapeModel
findings : Finding list
Returns: RenderModel

toResolve harvest

Full Usage: toResolve harvest

Parameters:
Returns: ResolveModel

Harvest -> Resolve: the harvest is carried, the tables start empty.

harvest : HarvestModel
Returns: ResolveModel

toShape resolve

Full Usage: toShape resolve

Parameters:
Returns: ShapeModel

Resolve -> Shape: everything resolved is carried, the declarations start empty.

resolve : ResolveModel
Returns: ShapeModel

Type something to start searching.