Docs: Docs do not list all possible machine options keys
Description
Looking at the docs of MachineOptions and it mentions only actions.
But from the Configuring services part of the guides
const userMachine = createMachine(
{
// ...
},
{
services: {
getUser: (context, event) => fetchUser(context.user.id)
}
);
const searchMachine = createMachine(
{
// ...
},
{
guards: {
searchValid: (context, event) => {
return context.canSearch && event.query && event.query.length > 0;
}
}
}
);
it seems to me that the MachineOptions object can also have services and guards keys? So it should be mentioned in the guides.
Expected result
### Machine options
- `actions?` (object) - a lookup object for your string actions.
- `guards?` (object) - a lookup object for your string guards.
- `services?` (object) - a lookup object for your string services.
Actual result
Confusion? :)
Reproduction
N/A
Additional context
No response
Looking at the docs of MachineOptions and it mentions only actions.
This is a documentation of @xstate/fsm - it's a much simpler package and it only supports "configurable" actions at the moment.
What would be a good place to look at all the possible keys for options object of createMachine(_, options) then?
I've tried to find one... and I couldn't (I could have missed it, but still...). The docs are currently introducing each concept separately and I didn't find a good "common" API reference in the docs for this. It's definitely something that we should improve.
The allowed keys there are actions, delays, guards and services.
@MichalBryxi Our plan for our new, revamped docs is to have a central API reference for this.