Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Enabler ¶ added in v0.6.0
type Enabler interface {
Enabled() bool
}
Enabler is an optional interface that tells whether a node is enabled. If the node config implements it and Enabled() is false, the node won't be added to the graph. This is useful for non-nillable configurations that need to be disabled if e.g. a property is missing. IMPORTANT: The method needs to be implemented by using a value as receiver.
type Instance ¶
type Instance string
Instance can be embedded into any stage configuration to be instantiable (convenience implementation for the required Instancer interface)
type Instancer ¶
type Instancer interface {
ID() string
}
Instancer is the interface required by any stage configuration type that is instantiated from the builder.ApplyConfig method.
type MiddleProvider ¶
type MiddleProvider[CFG, I, O any] func(CFG) (node.MiddleFunc[I, O], error)
MiddleProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.MiddleFunc type signature. Returned functions will run inside a Graph Middle Node. If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.
type StartMultiProvider ¶ added in v0.6.0
StartMultiProvider is similar to StarProvider, but it is able to associate a variadic number of functions that will behave as a single node.
type StartProvider ¶
StartProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.StartFunc type signature. Returned function will run inside a Graph Start Node If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.
type TerminalProvider ¶
type TerminalProvider[CFG, I any] func(CFG) (node.TerminalFunc[I], error)
TerminalProvider is a function that, given a configuration argument of a unique type, returns a function fulfilling the node.TerminalFunc type signature. Returned functions will run inside a Graph Terminal Node. If it returns an error, the graph building process will be interrupted. The configuration type must either implement the stage.Instancer interface or the configuration struct containing it must define a `nodeId` tag with an identifier for that stage.