Skip to content

Feature/persist watermelondb#570

Open
kvbalib wants to merge 3 commits intoLegendApp:mainfrom
kvbalib:feature/persist-watermelondb
Open

Feature/persist watermelondb#570
kvbalib wants to merge 3 commits intoLegendApp:mainfrom
kvbalib:feature/persist-watermelondb

Conversation

@kvbalib
Copy link

@kvbalib kvbalib commented Aug 20, 2025

This PR adds a first-class WatermelonDB LocalStorage persist plugin to @legendapp/state/sync. It enables fast, reliable persistence for React Native / Expo apps that use @nozbe/watermelondb, with synchronous reads.

•	Zero new runtime dependencies
•	No breaking changes

Changes

•	src/persist-plugins/watermelondb.ts (new)

Usage

import { observable } from '@legendapp/state'
import { syncObservable } from '@legendapp/state/sync'
import { observablePersistWatermelonDB } from '@legendapp/state/persist-plugins/watermelondb'
import { database } from '@/lib/db' // Watermelon Database

const settings$ = observable(true)

syncObservable(settings$, {
  persist: {
    name: 'settings',
    plugin: observablePersistWatermelonDB(database.localStorage),
  },
})

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