Skip to content

Instantly share code, notes, and snippets.

@Ethan-Arrowood
Last active July 2, 2021 17:41
Show Gist options
  • Save Ethan-Arrowood/f2dc9e5617eb9761b26afe0616efaab1 to your computer and use it in GitHub Desktop.
Save Ethan-Arrowood/f2dc9e5617eb9761b26afe0616efaab1 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 pingStates = {
id: 'ping',
initial: 'idle',
states: {
idle: {
on: {
START: 'pinging'
}
},
pinging: {
on: {
STOP: 'idle'
}
}
}
}
const connectionMachine = Machine({
id: 'connection',
initial: 'disconnected',
context: {},
states: {
disconnected: {
on: {
CONNECT: { target: 'connected' }
},
...pingStates
},
connected: {
on: {
AUTHENTICATE: 'authenticated',
DISCONNECT: 'disconnected'
},
...pingStates
},
authenticated: {
on: {
DISCONNECT: 'disconnected',
UNAUTHENTICATE: 'connected'
},
...pingStates
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment