Skip to content

whenFromState

whenFromState<E, K>(stateKey: K, fn: EntryListener<E & { from: FactoryKeyedState<E["machine"]["states"], K>; }>): (ev: E) => void

Defined in: factory-machine-hooks.ts:139

Creates an entry listener that triggers when the event’s from.key matches the given state key.

Type ParameterDescription
E extends FactoryMachineEvent<any>FactoryMachineEvent type
K extends anyState key type
ParameterTypeDescription
stateKeyKThe state key to match against from.key
fnEntryListener<E & { from: FactoryKeyedState<E["machine"]["states"], K>; }>EntryListener to invoke when matched

An entry listener for the specified state key

(ev: E): void

ParameterType
evE

void

setup(machine)(
effect(whenFromState("Idle", handleLeaveIdle)),
);

Useful for running logic when leaving a specific state in a state machine.

export const whenFromState = <
E extends FactoryMachineEvent<any>,
K extends E["from"]["key"],
>(
stateKey: K,
fn: EntryListener<E & { from: FactoryKeyedState<E["machine"]["states"], K> }>
) => when<E>((ev) => ev.from.key === stateKey, fn);