statelyai / xstate

Actor-based state management & orchestration for complex app logic.
https://stately.ai/docs
MIT License
27.21k stars 1.26k forks source link

[core] `createInvoke(…)` helper function #5070

Open davidkpiano opened 2 months ago

davidkpiano commented 2 months ago
const machine = createMachine({
  context: { number: 42 },
  invoke2: createInvoke({
    id: 'double',
    input: ({ context }) => ({
      count: context.number
    }),
    src: fromPromise(async ({ input }: { input: { count: number } }) => {
      return input.count * 2;
    }),
    onDone: {
      actions: ({ context, event }) => {
        context.number satisfies number;
        // @ts-expect-error
        context.number satisfies string;

        event.output satisfies number;
        // @ts-expect-error
        event.output satisfies string;
      }
    }
  })
});
changeset-bot[bot] commented 2 months ago

⚠️ No Changeset found

Latest commit: 8cf9e3355b06225b51be3841201e31712c51996c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR