xstate-python icon indicating copy to clipboard operation
xstate-python copied to clipboard

Implement Strict Mode

Open FraserTooth opened this issue 3 years ago • 0 comments

Implement "strict": True as an option in the machine configuration to allow a throw on a non-defined event for a given node. As it's a bit tricky to implement this external to the machine at present, e.g.:

# Doesn't throw
new_state = machine.transition(state=current_state, event="💩")

# Example of current check you'd have to do
if new_state.value == current_state.value:
    print("Didn't transition, maybe was an illegal state 🤷")

Similar to the implementation in the TS version of xstate https://github.com/statelyai/xstate/blob/8b7c3e2573341c5ed91057aab77e1977f8de8555/packages/core/src/StateNode.ts#L1095

Happy to take a crack at this if you think its worthwhile.

FraserTooth avatar Sep 06 '21 04:09 FraserTooth