Skip to content

Toggle State Machine

Article →
stateOff
import { createMachine, defineStates, addEventApi } from "matchina";
export const createToggleMachine = () => {
const states = defineStates({
On: undefined,
Off: undefined,
});
// Create a machine with proper transitions
const machine = addEventApi(
createMachine(
states,
{
On: {
toggle: "Off",
turnOff: "Off",
},
Off: {
toggle: "On",
turnOn: "On",
},
},
"Off" // Start in the Off state
)
);
return machine;
};
export type ToggleMachine = ReturnType<typeof createToggleMachine>;