// Available variables: // - Machine // - interpret // - assign // - send // - sendParent // - spawn // - raise // - actions // - XState (all XState exports) const fetchMachine = Machine({ id: 'commeted', initial: 'draft', context: { retries: 0 }, states: { draft: { on: { COMMIT: 'commited' } }, commited: { on: { toReviewEDC: 'reviewEDC', toReview: 'review' } }, reviewEDC: { on: { declideEDC: 'declineEDC', approveEDC: 'approvedEDC' } }, declineEDC:{ on:{ edit: 'draft' } }, approvedEDC:{ on:{ edit: 'draft', toReview: 'review' } }, review: { on:{ decline: 'declined', approve: 'approved' } }, approved:{ on:{ tag: 'tagged' } }, declined:{ on:{ edit: 'draft' } }, tagged:{ on: { publish: 'published', } }, published:{ on:{ publish: 'wasPublished' } }, wasPublished:{ on:{ publish: 'published' } } } });