UNPKG

@livestore/sqlite-wasm

Version:

45 lines 1.63 kB
import type { MakeSqliteDb, PersistenceInfo, SqliteDb } from '@livestore/common'; import type { MemoryVFS } from '@livestore/wa-sqlite/src/examples/MemoryVFS.js'; import type { AccessHandlePoolVFS } from './opfs/AccessHandlePoolVFS.js'; export * from './opfs/opfs-sah-pool.js'; export type WebDatabaseMetadataInMemory = { _tag: 'in-memory'; vfs: MemoryVFS; dbPointer: number; persistenceInfo: PersistenceInfo; deleteDb: () => void; configureDb: (db: SqliteDb) => void; }; export type WebDatabaseMetadataOpfs = { _tag: 'opfs'; vfs: AccessHandlePoolVFS; dbPointer: number; persistenceInfo: PersistenceInfo<{ opfsDirectory: string; /** Actual filename used by OPFS */ opfsFileName: string; }>; deleteDb: () => void; configureDb: (db: SqliteDb) => void; }; export type WebDatabaseMetadata = WebDatabaseMetadataInMemory | WebDatabaseMetadataOpfs; export type WebDatabaseInputInMemory = { _tag: 'in-memory'; configureDb?: (db: SqliteDb) => void; }; export type WebDatabaseInputOpfs = { _tag: 'opfs'; /** Filename of the database file (only used when exporting/downloading the database) */ fileName: string; opfsDirectory: string; configureDb?: (db: SqliteDb) => void; }; export type WebDatabaseInput = WebDatabaseInputInMemory | WebDatabaseInputOpfs; export type MakeWebSqliteDb = MakeSqliteDb<{ dbPointer: number; persistenceInfo: PersistenceInfo; }, WebDatabaseInput, WebDatabaseMetadata>; export declare const sqliteDbFactory: ({ sqlite3 }: { sqlite3: SQLiteAPI; }) => MakeWebSqliteDb; //# sourceMappingURL=mod.d.ts.map