Skip to content

Instantly share code, notes, and snippets.

@knownasilya
Last active June 30, 2021 15:53
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 knownasilya/cc02442d264a3adfb661e04d8238d758 to your computer and use it in GitHub Desktop.
Save knownasilya/cc02442d264a3adfb661e04d8238d758 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({
// Machine identifier
id: 'auth',
context: {
config: undefined,
host: undefined,
login: undefined,
},
// Initial state
initial: 'unauthenticated',
states: {
unauthenticated: {
initial: 'idle',
entry: 'sendIsUnauthenticated',
states: {
idle: {
always: [
{ target: 'withConfig', cond: 'hasCommunityConfig' },
{ target: 'withoutConfig' },
],
},
withConfig: {
initial: 'idle',
entry: 'initMapgeoService',
states: {
idle: {
on: {
LOGIN: {
target: 'login',
},
},
},
login: {
invoke: {
id: 'loginMapgeo',
src: 'loginMapgeo',
onDone: '#auth.authenticated',
onError: {
target: '#auth.unauthenticated.idle',
actions: 'authenticationFailed',
},
},
},
},
},
withoutConfig: {
initial: 'idle',
states: {
idle: {
on: {
SETUP: {
target: '..withConfig',
},
},
},
}
},
},
},
authenticated: {
entry: 'authenticated',
on: {
LOGOUT: {
target: 'unauthenticated',
actions: 'logout',
},
},
},
},
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment