@cashu/coco-expo-sqlite
v2.0.0
Published
Expo SQLite storage adapter for Coco in React Native and Expo applications.
Keywords
Readme
@cashu/coco-expo-sqlite
Expo SQLite storage adapter for Coco in React Native and Expo applications.
The public entry point is SqliteRepositories. Open the expo-sqlite database
in your application, pass that already-opened database instance to the adapter,
and keep ownership of the database lifecycle.
Install
npm install @cashu/coco-core @cashu/coco-expo-sqlite
npx expo install expo-sqliteUsage
import { initializeCoco } from '@cashu/coco-core';
import { SqliteRepositories } from '@cashu/coco-expo-sqlite';
import { openDatabaseAsync } from 'expo-sqlite';
const database = await openDatabaseAsync('coco.db');
const repositories = new SqliteRepositories({ database });
await repositories.init();
const manager = await initializeCoco({
repo: repositories,
seedGetter,
});The adapter does not close a database that it did not open. Keep the Expo database lifecycle under your application code.
Public API
- Import
SqliteRepositoriesandSqliteRepositoriesOptionsfrom@cashu/coco-expo-sqlite. - Pass an already-opened
expo-sqlitedatabase with thedatabaseoption. - Call
repositories.init()before using the manager so schema creation and migrations run. ExpoSqliteRepositoriesremains available as an alias forSqliteRepositories.ExpoSqliteRepositoriesOptionsremains available as an alias forSqliteRepositoriesOptions.- Migration helpers, database wrapper classes, and individual repository classes are internal implementation details and are not public adapter exports.
Notes
- Pass an already opened
expo-sqlitedatabase instance via thedatabaseoption. - The adapter ensures schema creation and migrations when you call
init(). ExpoSqliteRepositoriesremains available as a migration alias.
