Renders prompt-runner canonical event streams through a pluggable renderer and sink pipeline.
Summary
Types
What a boundary hook may ask the pipeline to do after an event.
Types
@type command() :: {:set_view, map()} | {:renderer, renderer_spec()}
What a boundary hook may ask the pipeline to do after an event.
{:set_view, view} reaches the live renderer through
PromptRunner.Rendering.Renderer.set_view/2; {:renderer, spec} replaces
the renderer outright, which is what a log_mode change means.
@type opts() :: [ renderer: renderer_spec(), sinks: [sink_spec()], boundary: (map() -> [command()]) ]
@type renderer_spec() :: {module(), PromptRunner.Rendering.Renderer.opts()}
@type sink_spec() :: {module(), PromptRunner.Rendering.Sink.opts()}
Functions
@spec stream(Enumerable.t(), opts()) :: :ok | {:error, term()}