Skip to content

Instantly share code, notes, and snippets.

@jayasimhan
Last active May 31, 2020 04:17
Show Gist options
  • Save jayasimhan/00b4992e35f2480ee4b5d4054ce88568 to your computer and use it in GitHub Desktop.
Save jayasimhan/00b4992e35f2480ee4b5d4054ce88568 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: 'fetch',
initial: 'idle',
context: {
retries: 0,
nextQuestionId: 1,
intakeQuestions: [1,2,3,4],
leadQuestions: [5, 6, 7, 8],
intakeIndex: 0,
leadIndex: 0
},
states: {
idle: {
on: {
START: 'intake'
}
},
intake: {
on: {
"INTAKE-ANSWER": {
target: 'intake',
actions: assign({
nextQuestionId: (context, event) => {
console.log("HERE")
context.intakeQuestions.pop();
}
})
},
"LEAD-ANSWER": {
target: 'lead',
actions: assign({
})
}
}}
,
lead: {
on: {
DQAnswer: {
target: 'disqualify'
},
"LEAD-ANSWER": {
target: 'lead',
actions: assign({
retries: (context, event) => context.retries + 1
})
}
}
},
disqualify: {
type: 'final'
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment