Versions in this module Expand all Collapse all v0 v0.11.0 Apr 22, 2024 v0.10.0 Apr 15, 2024 Changes in this version + func AddFinalProvider[IMPL NodesMap, IN any](p *Builder[IMPL], field FinalPtr[IMPL, IN], provider FinalProvider[IN]) + func AddFinal[IMPL NodesMap, IN any](p *Builder[IMPL], field FinalPtr[IMPL, IN], fn FinalFunc[IN], opts ...Option) + func AddMiddleProvider[IMPL NodesMap, IN, OUT any](p *Builder[IMPL], field MiddlePtr[IMPL, IN, OUT], ...) + func AddMiddle[IMPL NodesMap, IN, OUT any](p *Builder[IMPL], field MiddlePtr[IMPL, IN, OUT], fn MiddleFunc[IN, OUT], ...) + func AddStartProvider[IMPL NodesMap, OUT any](p *Builder[IMPL], field StartPtr[IMPL, OUT], provider StartProvider[OUT]) + func AddStart[IMPL NodesMap, OUT any](p *Builder[IMPL], field StartPtr[IMPL, OUT], fn StartFunc[OUT]) + type Builder struct + func NewBuilder[IMPL NodesMap](nodesMap IMPL, defaultOpts ...Option) *Builder[IMPL] + func (b *Builder[IMPL]) Build() (*Runner, error) + type Final interface + type FinalFunc func(in <-chan IN) + func IgnoreFinal[IN any]() FinalFunc[IN] + type FinalProvider func() (FinalFunc[IN], error) + type FinalPtr func(IMPL) *Final[IN] + type Middle interface + type MiddleFunc func(in <-chan IN, out chan<- OUT) + func Bypass[INOUT any]() MiddleFunc[INOUT, INOUT] + type MiddleProvider func() (MiddleFunc[IN, OUT], error) + type MiddlePtr func(IMPL) *Middle[IN, OUT] + type NodesMap interface + Connect func() + type Option func(options *creationOptions) + func ChannelBufferLen(length int) Option + type Receiver interface + type Runner struct + func (b *Runner) Done() <-chan struct{} + func (b *Runner) Start() + type Sender interface + SendTo func(r ...Receiver[OUT]) + type Start interface + type StartFunc func(out chan<- OUT) + func IgnoreStart[OUT any]() StartFunc[OUT] + type StartProvider func() (StartFunc[OUT], error) + type StartPtr func(IMPL) *Start[OUT]