Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[core] Synchronizers #5071

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

[core] Synchronizers #5071

wants to merge 11 commits into from

Conversation

davidkpiano
Copy link
Member

@davidkpiano davidkpiano commented Sep 12, 2024

Added support for synchronizers in XState, allowing state persistence and synchronization across different storage mechanisms.

  • Introduced Synchronizer interface for implementing custom synchronization logic
  • Added sync option to createActor for attaching synchronizers to actors
import { createActor } from 'xstate';
import { someMachine } from './someMachine';
import { createLocalStorageSync } from './localStorageSynchronizer';

const actor = createActor(someMachine, {
  sync: createLocalStorageSync('someKey')
});

Copy link

changeset-bot bot commented Sep 12, 2024

🦋 Changeset detected

Latest commit: c659467

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
xstate Minor
@xstate/graph Major
@xstate/react Major
@xstate/solid Major
@xstate/svelte Major
@xstate/vue Major

Not sure what this means? Click here to learn what changesets are.

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

@davidkpiano davidkpiano marked this pull request as ready for review September 30, 2024 05:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant