Created
May 24, 2021 16:45
-
-
Save NoMan2000/b15d46425b9dba02884f1aa1443b2967 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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