Skip to content

Instantly share code, notes, and snippets.

@NoMan2000
Created May 24, 2021 16:45
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 NoMan2000/b15d46425b9dba02884f1aa1443b2967 to your computer and use it in GitHub Desktop.
Save NoMan2000/b15d46425b9dba02884f1aa1443b2967 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
var AdCreationPages;
(function (AdCreationPages) {
AdCreationPages["CHOOSE_ORGANIC_OR_PAID"] = "organicOrPaid";
AdCreationPages["AD_CREATION_FORM"] = "adCreationForm";
AdCreationPages["ORGANIC_POSTS"] = "organicPosts";
AdCreationPages["PAID_POSTS"] = "paidPosts";
AdCreationPages["PAID_POSTS_CURATED"] = "paidPostsCuration";
AdCreationPages["PAID_POSTS_BESPOKE"] = "paidPostsBespoke";
AdCreationPages["POSTS_PUBLISHED"] = "postsPublished";
AdCreationPages["SAVE_DRAFT"] = "saveDraft";
})(AdCreationPages || (AdCreationPages = {}));
var PaidPostsCurationTypes;
(function (PaidPostsCurationTypes) {
PaidPostsCurationTypes["CREDITS"] = "credits";
PaidPostsCurationTypes["PRODUCTS"] = "products";
PaidPostsCurationTypes["COMPETITORS"] = "competitors";
PaidPostsCurationTypes["AUDIENCE"] = "audience";
})(PaidPostsCurationTypes || (PaidPostsCurationTypes = {}));
var PaidPostsBespokeTypes;
(function (PaidPostsBespokeTypes) {
PaidPostsBespokeTypes["OBJECTIVES"] = "objectives";
PaidPostsBespokeTypes["AUDIENCE"] = "audience";
PaidPostsBespokeTypes["CREATIVE"] = "creative";
PaidPostsBespokeTypes["PAYMENT"] = "payment";
PaidPostsBespokeTypes["OVERVIEW"] = "overview";
})(PaidPostsBespokeTypes || (PaidPostsBespokeTypes = {}));
// States specific to an action.
var AdCreationEventStates;
(function (AdCreationEventStates) {
AdCreationEventStates["CHOOSE_ORGANIC_OR_PAID"] = "chooseOrganicOrPaid";
// Can do one of the two below
AdCreationEventStates["CHOOSE_ORGANIC"] = "chooseOrganic";
AdCreationEventStates["CHOOSE_PAID"] = "choosePaid";
// If they choose paid, can do one of the two below.
AdCreationEventStates["CHOOSE_PAID_CURATED"] = "choosePaidCurated";
AdCreationEventStates["CHOOSE_PAID_BESPOKE"] = "choosePaidBespoke";
// If they choose curated, they can choose one of the four paths below
AdCreationEventStates["CHOOSE_PAID_CURATED_CREDITS"] = "choosePaidCuratedCredits";
AdCreationEventStates["CHOOSE_PAID_CURATED_PRODUCTS"] = "choosePaidCuratedProducts";
AdCreationEventStates["CHOOSE_PAID_CURATED_COMPETITORS"] = "choosePaidCuratedCompetitors";
AdCreationEventStates["CHOOSE_PAID_CURATED_AUDIENCE"] = "choosePaidCuratedAudience";
// Final curated states
AdCreationEventStates["CHOOSE_PAID_CURATED_POST_DETAILS"] = "choosePaidCuratedPostDetails";
AdCreationEventStates["SUBMIT_PAID_CURATED_POST_DETAILS"] = "submitPaidCuratedPostDetails";
// If they choose bespoke, they can choosen one of the five paths below.
AdCreationEventStates["CHOOSE_PAID_BESPOKE_OBJECTIVES"] = "choosePaidBespokeObjectives";
AdCreationEventStates["CHOOSE_PAID_BESPOKE_AUDIENCE"] = "choosePaidBespokeAudience";
AdCreationEventStates["CHOOSE_PAID_BESPOKE_CREATIVE"] = "choosePaidBespokeCreative";
AdCreationEventStates["CHOOSE_PAID_BESPOKE_PAYMENT"] = "choosePaidBespokePayment";
// Fetchers
AdCreationEventStates["FETCH_PAID"] = "fetchPaid";
AdCreationEventStates["FETCH_ORGANIC"] = "fetchOrganic";
// Curated fetchers
AdCreationEventStates["FETCH_PAID_CURATED"] = "fetchPaidCurated";
AdCreationEventStates["FETCH_PAID_CURATED_CREDITS"] = "fetchPaidCuratedCredits";
AdCreationEventStates["FETCH_PAID_CURATED_PRODUCTS"] = "fetchPaidCuratedProducts";
AdCreationEventStates["FETCH_PAID_CURATED_COMPETITORS"] = "fetchPaidCuratedCompetitors";
AdCreationEventStates["FETCH_PAID_CURATED_AUDIENCE"] = "fetchPaidCuratedAudience";
// Bespoke fetchers
AdCreationEventStates["FETCH_PAID_BESPOKE"] = "fetchPaidBespoke";
AdCreationEventStates["FETCH_PAID_BESPOKE_OBJECTIVES"] = "fetchPaidBespokeObjectives";
AdCreationEventStates["FETCH_PAID_BESPOKE_AUDIENCE"] = "fetchPaidBespokeAudience";
AdCreationEventStates["FETCH_PAID_BESPOKE_CREATIVE"] = "fetchPaidBespokeCreative";
AdCreationEventStates["FETCH_PAID_BESPOKE_PAYMENT"] = "fetchPaidBespokePayment";
// Bespoke final states
AdCreationEventStates["CHOOSE_PAID_BESPOKE_POST_DETAILS"] = "choosePaidBespokePostDetails";
AdCreationEventStates["SUBMIT_PAID_BESPOKE_POST_DETAILS"] = "submitPaidBespokePostDetails";
// GENERIC
AdCreationEventStates["POST_SUBMITTED"] = "postSubmitted";
AdCreationEventStates["RESOLVE"] = "resolve";
AdCreationEventStates["REJECT"] = "reject";
AdCreationEventStates["ERROR"] = "error";
// FINAL PAGE
AdCreationEventStates["SUBMITTED_PREVIEW"] = "submittedPreview";
AdCreationEventStates["CHOOSE_FINAL"] = "chooseFinal";
})(AdCreationEventStates || (AdCreationEventStates = {}));
var Invokables;
(function (Invokables) {
Invokables["checkValid"] = "CHECK_VALID";
})(Invokables || (Invokables = {}));
const AD_CREATION_MACHINE_ID = 'AdCreationMachine';
const fetchMachine = Machine({
id: AD_CREATION_MACHINE_ID,
initial: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
states: {
[AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID]: {
on: {
[AdCreationEventStates.FETCH_ORGANIC]: AdCreationEventStates.FETCH_ORGANIC,
[AdCreationEventStates.FETCH_PAID]: AdCreationEventStates.FETCH_PAID,
},
context: {
isLoading: false,
errorMessage: '',
next: [AdCreationEventStates.CHOOSE_ORGANIC, AdCreationEventStates.CHOOSE_PAID],
prev: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
current: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
},
},
[AdCreationEventStates.CHOOSE_ORGANIC]: {
onDone: {
target: AdCreationEventStates.CHOOSE_FINAL,
actions: assign((ctx, eventData) => {
return Object.assign(Object.assign({}, ctx), { isLoading: false, results: eventData.data });
}),
},
onError: {
target: AdCreationEventStates.ERROR,
src: AdCreationEventStates.ERROR,
actions: assign((ctx, eventData) => {
return Object.assign(Object.assign({}, ctx), { isLoading: false, errorMessage: eventData.data });
}),
},
context: {
isLoading: true,
next: [AdCreationEventStates.CHOOSE_FINAL],
prev: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
current: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
},
on: {
[AdCreationEventStates.CHOOSE_FINAL]: AdCreationEventStates.CHOOSE_FINAL,
},
},
[AdCreationEventStates.CHOOSE_PAID]: {
id: AdCreationEventStates.CHOOSE_PAID,
context: {
errorMessage: '',
isLoading: false,
next: [AdCreationEventStates.CHOOSE_PAID_CURATED, AdCreationEventStates.CHOOSE_PAID_BESPOKE],
prev: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
current: AdCreationEventStates.CHOOSE_PAID,
},
on: {
[AdCreationEventStates.FETCH_PAID_CURATED]: AdCreationEventStates.FETCH_PAID_CURATED,
[AdCreationEventStates.FETCH_PAID_BESPOKE]: AdCreationEventStates.FETCH_PAID_BESPOKE,
},
},
[AdCreationEventStates.CHOOSE_PAID_CURATED]: {
id: AdCreationEventStates.CHOOSE_PAID_CURATED,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS,
AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS,
AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS,
AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE,
],
current: AdCreationEventStates.CHOOSE_PAID_CURATED,
prev: AdCreationEventStates.CHOOSE_PAID,
},
on: {
[AdCreationEventStates.FETCH_PAID_CURATED_CREDITS]: AdCreationEventStates.FETCH_PAID_CURATED_CREDITS,
[AdCreationEventStates.FETCH_PAID_CURATED_PRODUCTS]: AdCreationEventStates.FETCH_PAID_CURATED_PRODUCTS,
[AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS]: AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS,
[AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE]: AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE,
},
},
[AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS]: {
id: AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
],
current: AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS,
prev: AdCreationEventStates.CHOOSE_PAID_CURATED,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS]: {
id: AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
],
current: AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS,
prev: AdCreationEventStates.CHOOSE_PAID_CURATED,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS]: {
id: AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
],
current: AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS,
prev: AdCreationEventStates.CHOOSE_PAID_CURATED,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE]: {
id: AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE,
context: {
isLoading: false,
next: [
AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
],
errorMessage: '',
current: AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE,
prev: AdCreationEventStates.CHOOSE_PAID_CURATED,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS]: {
id: AdCreationEventStates.CHOOSE_PAID_CURATED_POST_DETAILS,
on: {
[AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS]: AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS,
},
},
[AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS]: {
id: AdCreationEventStates.SUBMIT_PAID_CURATED_POST_DETAILS,
on: {
[AdCreationEventStates.POST_SUBMITTED]: AdCreationEventStates.POST_SUBMITTED,
},
},
[AdCreationEventStates.CHOOSE_PAID_BESPOKE]: {
id: AdCreationEventStates.CHOOSE_PAID_BESPOKE,
context: {
isLoading: true,
next: [
AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES,
AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE,
AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS,
AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE,
],
errorMessage: '',
current: AdCreationEventStates.CHOOSE_PAID_BESPOKE,
prev: AdCreationEventStates.CHOOSE_PAID,
},
on: {
[AdCreationEventStates.FETCH_PAID_BESPOKE_OBJECTIVES]: AdCreationEventStates.FETCH_PAID_BESPOKE_OBJECTIVES,
[AdCreationEventStates.FETCH_PAID_BESPOKE_AUDIENCE]: AdCreationEventStates.FETCH_PAID_BESPOKE_AUDIENCE,
[AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS]: AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS,
[AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE]: AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE,
}
},
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES]: {
id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
],
current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES,
prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE]: {
id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
],
current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_OBJECTIVES,
prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE]: {
id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE,
context: {
isLoading: false,
errorMessage: '',
next: [
AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
],
current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE,
prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT]: {
id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT,
context: {
isLoading: false,
next: [
AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
],
errorMessage: '',
current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT,
prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE,
},
on: {
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
},
},
[AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS]: {
id: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
context: {
errorMessage: '',
isLoading: false,
current: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
next: [AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS]
},
on: {
[AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS]: AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS,
},
},
[AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS]: {
context: {
errorMessage: '',
isLoading: false,
next: [AdCreationEventStates.POST_SUBMITTED],
current: AdCreationEventStates.SUBMIT_PAID_BESPOKE_POST_DETAILS,
prev: AdCreationEventStates.CHOOSE_PAID_BESPOKE_POST_DETAILS,
},
on: {
[AdCreationEventStates.POST_SUBMITTED]: AdCreationEventStates.POST_SUBMITTED,
},
},
// Fetchers
[AdCreationEventStates.FETCH_PAID]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_BESPOKE]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_BESPOKE_AUDIENCE]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_BESPOKE_AUDIENCE,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_BESPOKE_CREATIVE]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_BESPOKE_CREATIVE,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
},
},
[AdCreationEventStates.FETCH_PAID_BESPOKE_OBJECTIVES]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
},
},
[AdCreationEventStates.FETCH_PAID_BESPOKE_PAYMENT]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_BESPOKE_PAYMENT,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_CURATED]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_CURATED_AUDIENCE]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED_AUDIENCE,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_CURATED_COMPETITORS]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED_COMPETITORS,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_CURATED_CREDITS]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED_CREDITS,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_PAID_CURATED_PRODUCTS]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_PAID_CURATED_PRODUCTS,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.FETCH_ORGANIC]: {
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.CHOOSE_ORGANIC,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
}
},
[AdCreationEventStates.POST_SUBMITTED]: {
context: {
isLoading: true,
errorMessage: '',
},
on: {
[AdCreationEventStates.RESOLVE]: {
target: AdCreationEventStates.SUBMITTED_PREVIEW,
actions: assign({
results: (_context, ev) => ev.data,
}),
},
[AdCreationEventStates.REJECT]: {
target: AdCreationEventStates.ERROR,
actions: assign({
errorMessage: (_context, ev) => ev.data,
}),
},
},
},
[AdCreationEventStates.CHOOSE_ORGANIC]: {
type: 'final',
},
// Final pages.
[AdCreationEventStates.ERROR]: {
type: 'final',
},
[AdCreationEventStates.SUBMITTED_PREVIEW]: {
type: 'final',
},
},
context: {
results: [],
errorMessage: '',
next: [''],
current: AdCreationEventStates.CHOOSE_ORGANIC_OR_PAID,
isLoading: false,
},
}, {
// @ts-ignore
actions: {
// @ts-ignore
},
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment