StoreMachine
Defined in: store-machine.ts:8
Lifecycle interface defines the methods for managing state transitions and effects. Implemented by StateMachine and StoreMachine to handle state changes. It provides a structured way to handle state changes, including guards, effects, and notifications.
Lifecycle steps:
transition(ev)- Triggers the transition lifecycle, handling all steps for processing a change event.guard(ev)- Checks if the transition is allowed.handle(ev)- Processes the event, may abort if returns undefined.before(ev)- Prepares for state change, may abort if returns undefined.update(ev)- Applies the state update.effect(ev)- Runs side effects, calls leave/enter hooks.leave(ev)- Called when leaving the previous state.enter(ev)- Called when entering the new state.notify(ev)- Notifies subscribers of the change.after(ev)- Final hook after transition completes.
Extends
Section titled “Extends”Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
T | - |
TR extends StoreTransitionRecord<T> | StoreTransitionRecord<T> |
Methods
Section titled “Methods”transition()
Section titled “transition()”transition(
change:StoreChange):void
Defined in: event-lifecycle.ts:28
Triggers the transition lifecycle, handling all steps for processing a change event.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
change | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”guard()
Section titled “guard()”guard(
ev:StoreChange):boolean
Defined in: event-lifecycle.ts:32
Checks if a transition event is allowed to proceed. Returns true to continue, false to abort.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”handle()
Section titled “handle()”handle(
ev:StoreChange):undefined|StoreChange<T>
Defined in: event-lifecycle.ts:36
Processes the event. May abort the transition if returns undefined.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”undefined | StoreChange<T>
Inherited from
Section titled “Inherited from”before()
Section titled “before()”before(
ev:StoreChange):undefined|StoreChange<T>
Defined in: event-lifecycle.ts:41
Called before the transition is applied. May abort if returns undefined. (Represents a beforeTransition hook, not state entry/exit.)
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”undefined | StoreChange<T>
Inherited from
Section titled “Inherited from”update()
Section titled “update()”update(
ev:StoreChange):void
Defined in: event-lifecycle.ts:45
Applies the state update.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”effect()
Section titled “effect()”effect(
ev:StoreChange):void
Defined in: event-lifecycle.ts:49
Runs side effects for the transition. By default, calls leave and enter hooks.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”leave()
Section titled “leave()”leave(
ev:StoreChange):void
Defined in: event-lifecycle.ts:53
Called when leaving the previous state.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”enter()
Section titled “enter()”enter(
ev:StoreChange):void
Defined in: event-lifecycle.ts:57
Called when entering the new state.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”notify()
Section titled “notify()”notify(
ev:StoreChange):void
Defined in: event-lifecycle.ts:61
Notifies subscribers of the change.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”after()
Section titled “after()”after(
ev:StoreChange):void
Defined in: event-lifecycle.ts:65
Final hook after transition completes. (Represents afterTransition, not state entry/exit.)
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”getState()
Section titled “getState()”getState():
T
Defined in: store-machine.ts:12
Returns
Section titled “Returns”T
getChange()
Section titled “getChange()”getChange():
StoreChange<T>
Defined in: store-machine.ts:13
Returns
Section titled “Returns”StoreChange<T>
dispatch()
Section titled “dispatch()”dispatch<
E>(type:E, …params:ExtractStoreParams<TR,E>):void
Defined in: store-machine.ts:14
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
E extends string |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | E |
…params | ExtractStoreParams<TR, E> |
Returns
Section titled “Returns”void
resolveExit()
Section titled “resolveExit()”resolveExit(
ev:StoreChange<T>):undefined|StoreChange<T>
Defined in: store-machine.ts:19
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ev | StoreChange<T> |
Returns
Section titled “Returns”undefined | StoreChange<T>
Properties
Section titled “Properties”| Property | Type |
|---|---|
actions | TR |