/** * RPC protocol between the main thread and the SQLite worker. * All requests carry a unique `id`; responses echo the same id so the main thread * can resolve the right pending promise. */ import type { SqliteEncryptionErrorCode } from './errors.js'; /** Matches `@sqlite.org/sqlite-wasm`'s internal SqlValue type. Boolean is not a native SQLite type. */ export type SqlValue = string | number | bigint | null | Uint8Array; /** A row returned in 'array' rowMode — one value per column, in select order. */ export type ResultRow = SqlValue[]; export type WorkerRequest = { type: 'init'; id: number; dbName: string; ephemeral: boolean; poolDirectory?: string; encryptionKey?: Uint8Array; } | { type: 'close'; id: number; } | { type: 'deleteDb'; id: number; dbName: string; } | { type: 'run'; id: number; sql: string; bind?: SqlValue[]; } | { type: 'all'; id: number; sql: string; bind?: SqlValue[]; } | { type: 'export'; id: number; } | { type: 'begin'; id: number; } | { type: 'commit'; id: number; } | { type: 'rollback'; id: number; }; export type WorkerResponse = { type: 'ok'; id: number; rows?: ResultRow[]; changes?: number; bytes?: Uint8Array; } | { type: 'err'; id: number; message: string; /** * Set when the worker detected an encryption-shaped failure. The main thread * uses this to re-throw the error as a {@link SqliteEncryptionError} with the * matching code. Absent on non-encryption failures (untyped paths preserved). */ encryptionCode?: SqliteEncryptionErrorCode; }; export type WorkerRequestType = WorkerRequest['type']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcWxpdGUtb3Bmcy9tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0QsdUdBQXVHO0FBQ3ZHLE1BQU0sTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLFVBQVUsQ0FBQztBQUVwRSxtRkFBaUY7QUFDakYsTUFBTSxNQUFNLFNBQVMsR0FBRyxRQUFRLEVBQUUsQ0FBQztBQUVuQyxNQUFNLE1BQU0sYUFBYSxHQUNyQjtJQUFFLElBQUksRUFBRSxNQUFNLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7SUFBQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLENBQUMsRUFBRSxVQUFVLENBQUE7Q0FBRSxHQUNwSDtJQUFFLElBQUksRUFBRSxPQUFPLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDN0I7SUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDO0lBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUNoRDtJQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFBO0NBQUUsR0FDM0Q7SUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO0lBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQTtDQUFFLEdBQzNEO0lBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUFDLEVBQUUsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM5QjtJQUFFLElBQUksRUFBRSxPQUFPLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDN0I7SUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQzlCO0lBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUFDLEVBQUUsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBRXJDLE1BQU0sTUFBTSxjQUFjLEdBQ3RCO0lBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQTtDQUFFLEdBQ3BGO0lBQ0UsSUFBSSxFQUFFLEtBQUssQ0FBQztJQUNaLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsRUFBRSx5QkFBeUIsQ0FBQztDQUM1QyxDQUFDO0FBRU4sTUFBTSxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyJ9