UNPKG

@livestore/sqlite-wasm

Version:

42 lines 1.49 kB
import { type MakeSqliteDb, type PersistenceInfo, type SqliteDb } from '@livestore/common'; import { Effect, FileSystem } from '@livestore/utils/effect'; import type { MemoryVFS } from '@livestore/wa-sqlite/src/examples/MemoryVFS.js'; import { NodeFS } from './NodeFS.js'; export type NodeDatabaseMetadataInMemory = { _tag: 'in-memory'; vfs: MemoryVFS; dbPointer: number; persistenceInfo: PersistenceInfo; deleteDb: () => void; configureDb: (db: SqliteDb) => void; }; export type NodeDatabaseMetadataFs = { _tag: 'fs'; vfs: NodeFS; dbPointer: number; persistenceInfo: PersistenceInfo<{ directory: string; }>; deleteDb: () => void; configureDb: (db: SqliteDb) => void; }; export type NodeDatabaseMetadata = NodeDatabaseMetadataInMemory | NodeDatabaseMetadataFs; export type NodeDatabaseInputInMemory = { _tag: 'in-memory'; configureDb?: (db: SqliteDb) => void; }; export type NodeDatabaseInputFs = { _tag: 'fs'; directory: string; fileName: string; configureDb?: (db: SqliteDb) => void; }; export type NodeDatabaseInput = NodeDatabaseInputInMemory | NodeDatabaseInputFs; export type MakeNodeSqliteDb = MakeSqliteDb<{ dbPointer: number; persistenceInfo: PersistenceInfo; }, NodeDatabaseInput, NodeDatabaseMetadata>; export declare const sqliteDbFactory: ({ sqlite3, }: { sqlite3: SQLiteAPI; }) => Effect.Effect<MakeNodeSqliteDb, never, FileSystem.FileSystem>; //# sourceMappingURL=mod.d.ts.map