Package-level declarations
Functions
Link copied to clipboard
fun <T> eventDrivenStateContainer(initialState: T, validator: StateValidator<T> = NoOpValidator(), builder: EventDrivenStateContainer.Builder<T>.() -> Unit): EventDrivenStateContainer<T>
Creates an event-driven state container with a builder pattern.
Link copied to clipboard
fun <T> observableStateContainer(initialState: T, validator: StateValidator<T> = NoOpValidator()): ObservableStateContainer<T>
Creates an observable state container that supports state change notifications.
Link copied to clipboard
fun <T> stateContainer(initialState: T, validator: StateValidator<T> = NoOpValidator()): StateContainer<T>
Creates a simple immutable state container.
Link copied to clipboard
fun <S, E : StateEvent> stateMachine(builder: StateMachineBuilder<S, E>.() -> Unit): StateMachine<S, E>
Creates a new state machine with the given configuration.
Link copied to clipboard
Wraps any StateContainer with additional thread safety guarantees.