Skip to content

Instantly share code, notes, and snippets.

@jiayihu
Created November 15, 2020 16:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jiayihu/a3c169f247a4a0d10d5d2d450ce45652 to your computer and use it in GitHub Desktop.
Save jiayihu/a3c169f247a4a0d10d5d2d450ce45652 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
// - XState (all XState exports)
const fetchMachine = Machine(
{
id: "lock",
initial: "locked",
context: {
code: '000',
digits: ""
},
states: {
locked: {
on: {
ENTER_DIGITS: {
target: "locked",
actions: assign({
digits: (_context, event) => {
return event.payload;
}
})
},
PRESS_BUTTON: [
{
target: "open",
cond: "isCodeCorrect"
}
]
}
},
open: {
on: {
LOCK: "locked"
}
}
}
},
{
guards: {
isCodeCorrect: (context) => {
return context.code === context.digits;
}
}
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment