Documentation
¶
Overview ¶
Package helpers provides some utility functions for asyncmachine, which are out of scope of the main package.
Index ¶
- func ErrFromCtxs(ctxs ...context.Context) error
- func IndexesToStates(mach *am.Machine, indexes []int) am.S
- func NestedState(e *am.Event, strIDField string, machGetter func(id string) *am.Machine) (am.Result, <-chan struct{}, error)
- func RaceCtx[T *any](ctx context.Context, ch chan T) (T, error)
- func StatesToIndexes(mach *am.Machine, states am.S) []int
- func TimeMatrix(machines []*am.Machine) ([]am.T, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ErrFromCtxs ¶
ErrFromCtxs returns the first non-nil error from a list of contexts.
func IndexesToStates ¶
IndexesToStates converts a list of state indexes to a list of state names, for a given machine.
func NestedState ¶
func NestedState( e *am.Event, strIDField string, machGetter func(id string) *am.Machine, ) (am.Result, <-chan struct{}, error)
NestedState forwards the mutation to one of the composed submachines. Parent state should be a Multi state and only called directly (not from a relation). TODO test case, solve locking by passing the event to the submachine
func StatesToIndexes ¶
StatesToIndexes converts a list of state names to a list of state indexes, for a given machine.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.