diff --git a/src/types.ts b/src/types.ts index 90e0dfd..b8b153b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -2,30 +2,36 @@ import type { Database, Sqlite3Static } from '@sqlite.org/sqlite-wasm'; import type { CompiledQuery } from 'kysely'; import type { RunnableQuery } from 'drizzle-orm/runnable-query'; +// SQLite + export type Sqlite3 = Sqlite3Static; export type Sqlite3Db = Database; export type Sqlite3Method = 'get' | 'all' | 'run' | 'values'; export type Sqlite3StorageType = 'memory' | 'opfs'; +// Queries + export type Statement = { sql: string; params: unknown[]; }; + export type ReturningStatement = | Statement // default | CompiledQuery // kysely | RunnableQuery; // drizzle + export type RawResultData = { rows: unknown[] | unknown[][]; columns: string[]; }; -export type WorkerProxy = ProxyHandler & - Record any>; +// Database status export type ProcessorConfig = { databasePath?: string; }; + export type DatabaseInfo = { databasePath?: string; databaseSizeBytes?: number; @@ -33,9 +39,13 @@ export type DatabaseInfo = { persisted?: boolean; }; +// Worker messages + export type Message = InputMessage | OutputMessage; export type QueryKey = string; export type OmitQueryKey = T extends Message ? Omit : never; +export type WorkerProxy = ProxyHandler & + Record any>; export type InputMessage = | QueryMessage @@ -120,6 +130,8 @@ export type InfoMessage = { info: DatabaseInfo; }; +// User functions + export type UserFunction = CallbackUserFunction | ScalarUserFunction; export type CallbackUserFunction = { type: 'callback';