xstate@6.0.0-alpha.15
Pre-release
Pre-release
Patch Changes
-
37d3254: Setup-bound invoke transition callbacks now validate target state context requirements for
onDone,onError,onSnapshot, andonTimeout.onDonealso infers output from the invoked actor logic.import { createAsyncLogic, setup } from 'xstate'; import { z } from 'zod'; const machine = setup({ actorSources: { loadUser: createAsyncLogic({ run: async () => ({ name: 'Ada' }) }) }, states: { loading: {}, success: { schemas: { context: z.object({ user: z.object({ name: z.string() }) }) } } } }).createMachine({ context: {}, initial: 'loading', states: { loading: { invoke: { src: 'loadUser', // Type-safe return value for invoke callbacks onDone: ({ event }) => ({ target: 'success', context: { user: event.output } }) } }, success: {} } });