Skip to content

Instantly share code, notes, and snippets.

@JacobBennett
Last active December 10, 2019 18:47
Show Gist options
  • Save JacobBennett/d08d924b24fd6f3b64d2882252685aeb to your computer and use it in GitHub Desktop.
Save JacobBennett/d08d924b24fd6f3b64d2882252685aeb 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: 'wizard',
initial: 'involvement',
states: {
involvement: {
on: {
I_AM_AWARE: 'were_you_the_owner',
I_AM_NOT_AWARE: 'dispute',
},
},
were_you_the_owner: {
on: {
WAS_OWNER: 'were_you_the_driver',
WAS_NOT_OWNER: 'do_you_have_owner_contact'
}
},
do_you_have_owner_contact: {
on: {
KNOW_OWNER: 'owner_contact',
DONT_KNOW_OWNER: 'were_you_the_driver'
}
},
owner_contact: {
on: {
SAVE_OWNER_CONTACT: 'were_you_the_driver',
SKIP_OWNER_CONTACT: 'were_you_the_driver',
}
},
were_you_the_driver: {
on: {
WAS_DRIVER: 'did_you_have_insurance',
WAS_NOT_DRIVER: 'do_you_have_driver_contact'
}
},
do_you_have_driver_contact: {
on: {
KNOW_DRIVER: 'driver_contact',
DONT_KNOW_DRIVER: 'did_you_have_insurance'
}
},
driver_contact: {
on: {
SAVE_DRIVER_CONTACT: 'did_you_have_insurance',
SKIP_DRIVER_CONTACT: 'did_you_have_insurance',
}
},
did_you_have_insurance: {
on: {
HAD_INSURANCE: 'insurance_form',
NO_INSURANCE: 'during_employment',
},
},
insurance_form: {
on: {
INSURANCE_FORM_SUBMIT: 'best_contact',
},
},
during_employment: {
on: {
IT_WAS_WORK_RELATED: 'employer_info_form',
NOT_WORK_RELATED: 'is_license_certified',
},
},
employer_info_form: {
on: {
EMPLOYER_INFO_SUBMIT: 'best_contact',
EMPLOYER_INFO_SKIP: 'is_license_certified'
},
},
is_license_certified: {
on: {
YES: 'call_us',
NO: 'pay_your_claim'
},
},
dispute: {
on: {
I_WANT_TO_DISPUTE_THIS: 'dispute_claim_form',
DO_NOT_DISPUTE: 'pay_your_claim',
},
},
dispute_claim_form: {
on: {
SUBMIT_DISPUTE: 'best_contact',
},
},
best_contact: {
on: {
SUBMIT_BEST_CONTACT: 'thank_you',
SKIP_BEST_CONTACT: 'thank_you'
},
},
call_us: {
type: 'final',
},
pay_your_claim: {
type: 'final',
},
thank_you: {
type: 'final',
},
},
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment