flow

package
v0.0.0-...-dc6f9f8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2018 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PlayParFlow

func PlayParFlow(span *model.Span, f *model.Func, env Envelope) (Flow, []Flow, error)

func PlaySeqFlow

func PlaySeqFlow(span *model.Span, f *model.Func, env Envelope) (Flow, []Flow, error)

Types

type Edge

type Edge interface{}

Edge stands for data sent between the output of one step and the input of another during playing.

type Envelope

type Envelope interface {
	Enter(*model.Span) (Flow, error)                       // Enter returns the output of the Enter step of the enclosing function.
	Make(*model.Span, interface{}) (Flow, error)           // Make ...
	MakePkgFunc(*model.Span, string, string) (Flow, error) // MakePkgFunc ...
	MakeOp(*model.Span, []string) (Flow, error)            // MakeOp ...
}

type Flow

type Flow interface {
	Link(*model.Span, string, bool) (Flow, error)    // Link ...
	Select(*model.Span, []string) (Flow, error)      // Select ...
	Augment(*model.Span, []GatherFlow) (Flow, error) // Augment ...
	Invoke(*model.Span) (Flow, error)                // Invoke ...
	Leave(*model.Span) (Flow, error)                 // Leave ...
}

type GatherEdge

type GatherEdge struct {
	Field string
	Edge  Edge
}

type GatherFlow

type GatherFlow struct {
	Field string
	Flow  Flow
}

type StepPlayer

type StepPlayer interface {
	PlayStep(step *model.Step, gather []GatherEdge) (returns Edge, err error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL