helpers

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2024 License: MIT Imports: 5 Imported by: 1

Documentation

Overview

Package helpers provides some utility functions for asyncmachine, which are out of scope of the main package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrFromCtxs

func ErrFromCtxs(ctxs ...context.Context) error

ErrFromCtxs returns the first non-nil error from a list of contexts.

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 RaceCtx

func RaceCtx[T *any](ctx context.Context, ch chan T) (T, error)

func RelationsMatrix added in v0.6.4

func RelationsMatrix(mach *am.Machine) ([][]int, error)

func TimeMatrix

func TimeMatrix(machines []*am.Machine) ([]am.Time, error)

TimeMatrix returns a matrix of state clocks for the given machines.

func TransitionMatrix added in v0.6.4

func TransitionMatrix(tx, prevTx *am.Transition, index am.S) ([][]int, error)

Types

This section is empty.

Jump to

Keyboard shortcuts

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