Skip to content

Instantly share code, notes, and snippets.

@basanth-ivoyant
Last active October 11, 2020 15:24
Show Gist options
  • Save basanth-ivoyant/413b147a81e80451c263e501c436fa68 to your computer and use it in GitHub Desktop.
Save basanth-ivoyant/413b147a81e80451c263e501c436fa68 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": "PAYMENT",
"initial": "start",
"context": {
"adjustmentAmount": 0,
"applyCredit": false,
"creditAmount":10.05
},
"states": {
"start": {
"entry":[{ "type": "helpers-init", "data": { "additional": true } }],
"on": {
"":"paymentOptions"
}
},
"paymentOptions": {
"on": {
"SELECT.CREDITCARD": "credit",
"SELECT.SERVICECARD": "serviceCard",
"SELECT.REFILLCARD":"refillCard",
"SELECT.CARDLESS":"cardless"
}
},
"credit": {
"on":{
"SUBMIT.PAYMENT":"processPayment",
"SELECT.SERVICECARD": "serviceCard",
"SELECT.REFILLCARD":"refillCard",
"SELECT.CARDLESS":"cardless"
}
},
"serviceCard": {
"on":{
"SUBMIT.SERVICECARD":"processPayment",
"SELECT.CREDITCARD": "credit",
"SELECT.REFILLCARD":"refillCard",
"SELECT.CARDLESS":"cardless"
}
},
"refillCard": {
"on":{
"SUBMIT.REFILLCARD":"processPayment",
"SELECT.CREDITCARD": "credit",
"SELECT.SERVICECARD": "serviceCard",
"SELECT.CARDLESS":"cardless"
}
},
"cardless": {
"on":{
"SUBMIT.TOUCHLESS":"processPayment",
"SELECT.CREDITCARD": "credit",
"SELECT.SERVICECARD": "serviceCard",
"SELECT.REFILLCARD":"refillCard",
}
},
"processPayment": {
"type":"final"
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment