Skip to content

Instantly share code, notes, and snippets.

@ascorbic
Last active July 17, 2020 14:25
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 ascorbic/005477cf6f1368a6ccb83105d85d310a to your computer and use it in GitHub Desktop.
Save ascorbic/005477cf6f1368a6ccb83105d85d310a 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 developMachine = Machine({
"id": "develop",
"key": "develop",
"context": {},
"type": "compound",
"initial": "initializing",
"history": false,
"states": {
"initializing": {
"id": "build.initializing",
"key": "initializing",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.initialize": [
{
"target": ["#build.initializingData"],
"actions": [
{ "type": "assignStoreAndWorkerPool" },
{ "type": "spawnMutationListener" }
],
"event": "done.invoke.initialize",
"source": "#build.initializing",
"internal": false,
"eventType": "done.invoke.initialize"
}
],
"ADD_NODE_MUTATION": [
{
"event": "ADD_NODE_MUTATION",
"actions": [],
"source": "#build.initializing",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
}
],
"QUERY_FILE_CHANGED": [
{
"event": "QUERY_FILE_CHANGED",
"actions": [],
"source": "#build.initializing",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
],
"WEBHOOK_RECEIVED": [
{
"event": "WEBHOOK_RECEIVED",
"actions": [],
"source": "#build.initializing",
"internal": true,
"eventType": "WEBHOOK_RECEIVED"
}
]
},
"transitions": [
{
"target": ["#build.initializingData"],
"actions": [
{ "type": "assignStoreAndWorkerPool" },
{ "type": "spawnMutationListener" }
],
"event": "done.invoke.initialize",
"source": "#build.initializing",
"internal": false,
"eventType": "done.invoke.initialize"
},
{
"event": "ADD_NODE_MUTATION",
"actions": [],
"source": "#build.initializing",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
},
{
"event": "QUERY_FILE_CHANGED",
"actions": [],
"source": "#build.initializing",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
},
{
"event": "WEBHOOK_RECEIVED",
"actions": [],
"source": "#build.initializing",
"internal": true,
"eventType": "WEBHOOK_RECEIVED"
}
],
"entry": [],
"exit": [],
"activities": [
{
"id": "initialize",
"src": "initialize",
"onDone": {
"target": "initializingData",
"actions": ["assignStoreAndWorkerPool", "spawnMutationListener"]
},
"type": "xstate.invoke"
}
],
"order": 1,
"invoke": [
{
"src": "initialize",
"onDone": {
"target": "initializingData",
"actions": ["assignStoreAndWorkerPool", "spawnMutationListener"]
},
"type": "xstate.invoke",
"id": "initialize"
}
]
},
"initializingData": {
"id": "build.initializingData",
"key": "initializingData",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.initializeData": [
{
"actions": [
{ "type": "assignServiceResult" },
{ "type": "clearWebhookBody" },
{ "type": "finishParentSpan" }
],
"target": ["#build.runningQueries"],
"event": "done.invoke.initializeData",
"source": "#build.initializingData",
"internal": false,
"eventType": "done.invoke.initializeData"
}
],
"ADD_NODE_MUTATION": [
{
"actions": [{ "type": "markNodesDirty" }, { "type": "callApi" }],
"event": "ADD_NODE_MUTATION",
"source": "#build.initializingData",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
}
],
"QUERY_FILE_CHANGED": [
{
"event": "QUERY_FILE_CHANGED",
"actions": [],
"source": "#build.initializingData",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
]
},
"transitions": [
{
"actions": [
{ "type": "assignServiceResult" },
{ "type": "clearWebhookBody" },
{ "type": "finishParentSpan" }
],
"target": ["#build.runningQueries"],
"event": "done.invoke.initializeData",
"source": "#build.initializingData",
"internal": false,
"eventType": "done.invoke.initializeData"
},
{
"actions": [{ "type": "markNodesDirty" }, { "type": "callApi" }],
"event": "ADD_NODE_MUTATION",
"source": "#build.initializingData",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
},
{
"event": "QUERY_FILE_CHANGED",
"actions": [],
"source": "#build.initializingData",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
],
"entry": [],
"exit": [],
"activities": [
{
"id": "initializeData",
"src": "initializeData",
"onDone": {
"actions": [
"assignServiceResult",
"clearWebhookBody",
"finishParentSpan"
],
"target": "runningQueries"
},
"type": "xstate.invoke"
}
],
"order": 2,
"invoke": [
{
"src": "initializeData",
"onDone": {
"actions": [
"assignServiceResult",
"clearWebhookBody",
"finishParentSpan"
],
"target": "runningQueries"
},
"type": "xstate.invoke",
"id": "initializeData"
}
]
},
"runningQueries": {
"id": "build.runningQueries",
"key": "runningQueries",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.run-queries": [
{
"target": ["#build.startingDevServers"],
"actions": [{ "type": "setQueryRunningFinished" }],
"cond": { "type": "xstate.guard", "name": "cond" },
"event": "done.invoke.run-queries",
"source": "#build.runningQueries",
"internal": false,
"eventType": "done.invoke.run-queries"
},
{
"target": ["#build.waiting"],
"event": "done.invoke.run-queries",
"actions": [],
"source": "#build.runningQueries",
"internal": false,
"eventType": "done.invoke.run-queries"
}
],
"QUERY_FILE_CHANGED": [
{
"actions": [
{
"to": "run-queries",
"type": "xstate.send",
"id": "",
"event": { "type": "QUERY_FILE_CHANGED" }
}
],
"event": "QUERY_FILE_CHANGED",
"source": "#build.runningQueries",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
]
},
"transitions": [
{
"target": ["#build.startingDevServers"],
"actions": [{ "type": "setQueryRunningFinished" }],
"cond": { "type": "xstate.guard", "name": "cond" },
"event": "done.invoke.run-queries",
"source": "#build.runningQueries",
"internal": false,
"eventType": "done.invoke.run-queries"
},
{
"target": ["#build.waiting"],
"event": "done.invoke.run-queries",
"actions": [],
"source": "#build.runningQueries",
"internal": false,
"eventType": "done.invoke.run-queries"
},
{
"actions": [
{
"to": "run-queries",
"type": "xstate.send",
"id": "",
"event": { "type": "QUERY_FILE_CHANGED" }
}
],
"event": "QUERY_FILE_CHANGED",
"source": "#build.runningQueries",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
],
"entry": [],
"exit": [],
"activities": [
{
"id": "run-queries",
"src": "runQueries",
"onDone": [
{
"target": "startingDevServers",
"actions": "setQueryRunningFinished"
},
{ "target": "waiting" }
],
"type": "xstate.invoke"
}
],
"order": 3,
"invoke": [
{
"id": "run-queries",
"src": "runQueries",
"onDone": [
{
"target": "startingDevServers",
"actions": "setQueryRunningFinished"
},
{ "target": "waiting" }
],
"type": "xstate.invoke"
}
]
},
"startingDevServers": {
"id": "build.startingDevServers",
"key": "startingDevServers",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.startWebpackServer": [
{
"target": ["#build.waiting"],
"actions": [{ "type": "assignServers" }],
"event": "done.invoke.startWebpackServer",
"source": "#build.startingDevServers",
"internal": false,
"eventType": "done.invoke.startWebpackServer"
}
]
},
"transitions": [
{
"target": ["#build.waiting"],
"actions": [{ "type": "assignServers" }],
"event": "done.invoke.startWebpackServer",
"source": "#build.startingDevServers",
"internal": false,
"eventType": "done.invoke.startWebpackServer"
}
],
"entry": [],
"exit": [],
"activities": [
{
"id": "startWebpackServer",
"src": "startWebpackServer",
"onDone": { "target": "waiting", "actions": "assignServers" },
"type": "xstate.invoke"
}
],
"order": 4,
"invoke": [
{
"src": "startWebpackServer",
"onDone": { "target": "waiting", "actions": "assignServers" },
"type": "xstate.invoke",
"id": "startWebpackServer"
}
]
},
"waiting": {
"id": "build.waiting",
"key": "waiting",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.waiting": [
{
"actions": [{ "type": "assignServiceResult" }],
"target": ["#build.recreatingPages"],
"event": "done.invoke.waiting",
"source": "#build.waiting",
"internal": false,
"eventType": "done.invoke.waiting"
}
],
"ADD_NODE_MUTATION": [
{
"actions": [
{
"to": "waiting",
"type": "xstate.send",
"id": "",
"event": { "type": "ADD_NODE_MUTATION" }
}
],
"event": "ADD_NODE_MUTATION",
"source": "#build.waiting",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
}
],
"QUERY_FILE_CHANGED": [
{
"actions": [
{
"to": "waiting",
"type": "xstate.send",
"id": "",
"event": { "type": "QUERY_FILE_CHANGED" }
}
],
"event": "QUERY_FILE_CHANGED",
"source": "#build.waiting",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
],
"EXTRACT_QUERIES_NOW": [
{
"target": ["#build.runningQueries"],
"event": "EXTRACT_QUERIES_NOW",
"actions": [],
"source": "#build.waiting",
"internal": false,
"eventType": "EXTRACT_QUERIES_NOW"
}
]
},
"transitions": [
{
"actions": [{ "type": "assignServiceResult" }],
"target": ["#build.recreatingPages"],
"event": "done.invoke.waiting",
"source": "#build.waiting",
"internal": false,
"eventType": "done.invoke.waiting"
},
{
"actions": [
{
"to": "waiting",
"type": "xstate.send",
"id": "",
"event": { "type": "ADD_NODE_MUTATION" }
}
],
"event": "ADD_NODE_MUTATION",
"source": "#build.waiting",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
},
{
"actions": [
{
"to": "waiting",
"type": "xstate.send",
"id": "",
"event": { "type": "QUERY_FILE_CHANGED" }
}
],
"event": "QUERY_FILE_CHANGED",
"source": "#build.waiting",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
},
{
"target": ["#build.runningQueries"],
"event": "EXTRACT_QUERIES_NOW",
"actions": [],
"source": "#build.waiting",
"internal": false,
"eventType": "EXTRACT_QUERIES_NOW"
}
],
"entry": [{ "type": "saveDbState" }],
"exit": [],
"activities": [
{
"id": "waiting",
"src": "waitForMutations",
"onDone": {
"actions": "assignServiceResult",
"target": "recreatingPages"
},
"type": "xstate.invoke"
}
],
"order": 5,
"invoke": [
{
"id": "waiting",
"src": "waitForMutations",
"onDone": {
"actions": "assignServiceResult",
"target": "recreatingPages"
},
"type": "xstate.invoke"
}
]
},
"reloadingData": {
"id": "build.reloadingData",
"key": "reloadingData",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.reloadData": [
{
"actions": [
{ "type": "assignServiceResult" },
{ "type": "clearWebhookBody" },
{ "type": "finishParentSpan" }
],
"target": ["#build.runningQueries"],
"event": "done.invoke.reloadData",
"source": "#build.reloadingData",
"internal": false,
"eventType": "done.invoke.reloadData"
}
],
"ADD_NODE_MUTATION": [
{
"actions": [{ "type": "markNodesDirty" }, { "type": "callApi" }],
"event": "ADD_NODE_MUTATION",
"source": "#build.reloadingData",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
}
],
"QUERY_FILE_CHANGED": [
{
"event": "QUERY_FILE_CHANGED",
"actions": [],
"source": "#build.reloadingData",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
]
},
"transitions": [
{
"actions": [
{ "type": "assignServiceResult" },
{ "type": "clearWebhookBody" },
{ "type": "finishParentSpan" }
],
"target": ["#build.runningQueries"],
"event": "done.invoke.reloadData",
"source": "#build.reloadingData",
"internal": false,
"eventType": "done.invoke.reloadData"
},
{
"actions": [{ "type": "markNodesDirty" }, { "type": "callApi" }],
"event": "ADD_NODE_MUTATION",
"source": "#build.reloadingData",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
},
{
"event": "QUERY_FILE_CHANGED",
"actions": [],
"source": "#build.reloadingData",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
],
"entry": [],
"exit": [],
"activities": [
{
"id": "reloadData",
"src": "reloadData",
"onDone": {
"actions": [
"assignServiceResult",
"clearWebhookBody",
"finishParentSpan"
],
"target": "runningQueries"
},
"type": "xstate.invoke"
}
],
"order": 6,
"invoke": [
{
"src": "reloadData",
"onDone": {
"actions": [
"assignServiceResult",
"clearWebhookBody",
"finishParentSpan"
],
"target": "runningQueries"
},
"type": "xstate.invoke",
"id": "reloadData"
}
]
},
"recreatingPages": {
"id": "build.recreatingPages",
"key": "recreatingPages",
"type": "atomic",
"history": false,
"states": {},
"on": {
"done.invoke.recreatePages": [
{
"actions": [{ "type": "assignServiceResult" }],
"target": ["#build.runningQueries"],
"event": "done.invoke.recreatePages",
"source": "#build.recreatingPages",
"internal": false,
"eventType": "done.invoke.recreatePages"
}
]
},
"transitions": [
{
"actions": [{ "type": "assignServiceResult" }],
"target": ["#build.runningQueries"],
"event": "done.invoke.recreatePages",
"source": "#build.recreatingPages",
"internal": false,
"eventType": "done.invoke.recreatePages"
}
],
"entry": [],
"exit": [],
"activities": [
{
"id": "recreatePages",
"src": "recreatePages",
"onDone": {
"actions": "assignServiceResult",
"target": "runningQueries"
},
"type": "xstate.invoke"
}
],
"order": 7,
"invoke": [
{
"src": "recreatePages",
"onDone": {
"actions": "assignServiceResult",
"target": "runningQueries"
},
"type": "xstate.invoke",
"id": "recreatePages"
}
]
}
},
"on": {
"ADD_NODE_MUTATION": [
{
"actions": [{ "type": "addNodeMutation" }],
"event": "ADD_NODE_MUTATION",
"source": "#build",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
}
],
"QUERY_FILE_CHANGED": [
{
"actions": [{ "type": "markQueryFilesDirty" }],
"event": "QUERY_FILE_CHANGED",
"source": "#build",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
}
],
"WEBHOOK_RECEIVED": [
{
"target": ["#build.reloadingData"],
"actions": [{ "type": "assignWebhookBody" }],
"event": "WEBHOOK_RECEIVED",
"source": "#build",
"internal": false,
"eventType": "WEBHOOK_RECEIVED"
}
]
},
"transitions": [
{
"actions": [{ "type": "addNodeMutation" }],
"event": "ADD_NODE_MUTATION",
"source": "#build",
"internal": true,
"eventType": "ADD_NODE_MUTATION"
},
{
"actions": [{ "type": "markQueryFilesDirty" }],
"event": "QUERY_FILE_CHANGED",
"source": "#build",
"internal": true,
"eventType": "QUERY_FILE_CHANGED"
},
{
"target": ["#build.reloadingData"],
"actions": [{ "type": "assignWebhookBody" }],
"event": "WEBHOOK_RECEIVED",
"source": "#build",
"internal": false,
"eventType": "WEBHOOK_RECEIVED"
}
],
"entry": [],
"exit": [],
"activities": [],
"order": -1,
"invoke": []
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment