Skip to content

Instantly share code, notes, and snippets.

@dorelljames
Created October 30, 2020 17:46
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 dorelljames/b6fd8a8f4ef29f301cc18ef6fe4f83b9 to your computer and use it in GitHub Desktop.
Save dorelljames/b6fd8a8f4ef29f301cc18ef6fe4f83b9 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
Machine({
id: "electricFan",
type: "parallel",
states: {
power: {
id: "power",
initial: "turnedOff",
states: {
turnedOff: {
on: {
PLUG: "turnedOn",
},
},
turnedOn: {
on: {
UNPLUG: "turnedOff",
BUTTON_0_PRESSED: "#speed.low",
BUTTON_1_PRESSED: "#speed.low",
BUTTON_2_PRESSED: "#speed.moderate",
BUTTON_3_PRESSED: "#speed.high",
},
},
},
},
speed: {
initial: "zero",
id: "speed",
states: {
zero: {},
low: {
on: {
UNPLUG: "#power.turnedOff",
BUTTON_2_PRESSED: "moderate",
BUTTON_3_PRESSED: "high",
},
},
moderate: {
on: {
UNPLUG: "#power.turnedOff",
BUTTON_1_PRESSED: "low",
BUTTON_3_PRESSED: "high",
},
},
high: {
on: {
UNPLUG: "#power.turnedOff",
BUTTON_1_PRESSED: "low",
BUTTON_2_PRESSED: "moderate",
},
},
},
},
},
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment