@livestore/sqlite-wasm
Version:
45 lines • 1.63 kB
TypeScript
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