In xstate, withConfig is typed with context as a second, optional parameter. In xstate-codegen, the generated signature for withConfig lets you pass in context in the same object as the rest of the machine options. This ends up getting silently ignored and leads to confusing behavior.
The generated machines are also missing the withContext method. Typescript uses the original xstate method, which results in a type error because it returns the StateMachine type from xstate and not the generated machine type from xstate-codegen.
In xstate,
withConfig
is typed with context as a second, optional parameter. In xstate-codegen, the generated signature forwithConfig
lets you pass in context in the same object as the rest of the machine options. This ends up getting silently ignored and leads to confusing behavior.The generated machines are also missing the
withContext
method. Typescript uses the original xstate method, which results in a type error because it returns theStateMachine
type from xstate and not the generated machine type from xstate-codegen.