Documentation
¶
Index ¶
- type Applicative
- type Builder
- func (m *Builder) ID() string
- func (m *Builder) Inject(ctx context.Context, events map[string][]*Packet)
- func (m *Builder) Run(ctx context.Context, recorders ...recorder) error
- func (m *Builder) Split(r *Splitter) *Builder
- func (m *Builder) Then(v *Vertex) *Builder
- func (m *Builder) Transmit(t *Transmission) *Builder
- type Data
- type Option
- type Packet
- type Retriever
- type Sender
- type SplitHandler
- type SplitRule
- type Splitter
- func (m *Splitter) SplitLeft(left *Splitter) *Splitter
- func (m *Splitter) SplitRight(right *Splitter) *Splitter
- func (m *Splitter) ThenLeft(left *Vertex) *Splitter
- func (m *Splitter) ThenRight(right *Vertex) *Splitter
- func (m *Splitter) TransmitLeft(t *Transmission) *Splitter
- func (m *Splitter) TransmitRight(t *Transmission) *Splitter
- type Transmission
- type Vertex
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Applicative ¶ added in v0.3.0
Applicative type for applying a change to a typed.Typed
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder type for creating and running a system of operations
func (*Builder) Transmit ¶ added in v0.3.1
func (m *Builder) Transmit(t *Transmission) *Builder
Transmit the data outside the system
type SplitHandler ¶ added in v0.3.0
SplitHandler func for splitting a payload into 2
var ( // SplitDuplicate is a SplitHandler that sends data to both outputs SplitDuplicate SplitHandler = func(payload []*Packet) (a, b []*Packet) { a = []*Packet{} b = []*Packet{} for _, packet := range payload { a = append(a, packet) b = append(b, packet) } return a, b } // SplitError is a SplitHandler for splitting errors from successes SplitError SplitHandler = func(payload []*Packet) (s, f []*Packet) { s = []*Packet{} f = []*Packet{} for _, packet := range payload { if packet.Error != nil { f = append(f, packet) } else { s = append(s, packet) } } return s, f } )
type SplitRule ¶ added in v0.3.0
SplitRule provides a SplitHandler for splitting based on the return bool
type Splitter ¶ added in v0.3.0
type Splitter struct {
// contains filtered or unexported fields
}
Splitter type for controlling the flow of data through the system
func NewSplitter ¶ added in v0.3.0
func NewSplitter(id string, s SplitHandler) *Splitter
NewSplitter func for providing an instance of Splitter
func (*Splitter) SplitRight ¶ added in v0.3.1
SplitRight split the data on the right
func (*Splitter) TransmitLeft ¶ added in v0.3.1
func (m *Splitter) TransmitLeft(t *Transmission) *Splitter
TransmitLeft the left side outside the system
func (*Splitter) TransmitRight ¶ added in v0.3.1
func (m *Splitter) TransmitRight(t *Transmission) *Splitter
TransmitRight the right side outside the system
type Transmission ¶ added in v0.3.0
type Transmission struct {
// contains filtered or unexported fields
}
Transmission type for sending data out of the system
func NewTransmission ¶ added in v0.3.0
func NewTransmission(id string, s Sender) *Transmission
NewTransmission func for providing an instance of Transmission
type Vertex ¶ added in v0.3.0
type Vertex struct {
// contains filtered or unexported fields
}
Vertex type for applying a mutation to the data
func NewVertex ¶
func NewVertex(id string, a Applicative) *Vertex
NewVertex func for providing an instance of Vertex
func (*Vertex) Transmit ¶ added in v0.3.1
func (m *Vertex) Transmit(t *Transmission) *Vertex
Transmit the data outside the system
