fsm

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseData

type BaseData struct {
	Err     error
	RawData string
}

func (*BaseData) Error

func (d *BaseData) Error() error

func (*BaseData) Raw

func (d *BaseData) Raw() any

type Data

type Data interface {
	Error() error
	Raw() any
}

type Event

type Event interface {
	Type() TypeEvent
	Message() any
	Data() Data
}

type FSM

type FSM interface {
	Add(state State, handler StateHandler)
	Process(message any) error
	State() State
}

func New

func New(initState State, initData Data) FSM

type State

type State string

type StateHandler

type StateHandler func(event Event) (State, Data)

type TypeEvent

type TypeEvent int
const (
	Notification TypeEvent = iota
	Action
)

Jump to

Keyboard shortcuts

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