UNPKG

kysely-generic-sqlite

Version:
36 lines (33 loc) 1.61 kB
import { P as Promisable } from './type-dQxYJ4xm.cjs'; import { b as InitFn, M as MessageHandleFn, a as IGenericSqliteWorkerExecutor, H as HandleMessageFn } from './types-yz6kgqQe.cjs'; import 'kysely'; declare function createWebOnMessageCallback<T extends Record<string, unknown>, DB = unknown>(init: InitFn<T, DB>, message?: MessageHandleFn<DB>): void; interface IWebWorkerDialectConfig<T extends Record<string, unknown>> extends Pick<IGenericSqliteWorkerExecutor<globalThis.Worker, T>, 'data' | 'mitt'> { worker: globalThis.Worker | (() => Promisable<globalThis.Worker>); } /** * Util for handle web worker message in main thread */ declare const handleWebWorker: HandleMessageFn<globalThis.Worker>; /** * Create worker executor for web * @param config {@link IWebWorkerDialectConfig} * @example * You can also manually create executor for web worker: * ```ts * import { GenericSqliteWorkerDialect } from 'kysely-generic-sqlite/worker' * import { handleWebWorker } from 'kysely-generic-sqlite/worker-helper-web' * import { mitt } from 'zen-mitt' * * const worker = new Worker(new URL('./worker.js', import.meta.url), { type: 'module' }) * const dialect = new GenericSqliteWorkerDialect( * () => { * worker, * mitt: mitt(), * handle: handleWebWorker, * }), * ) * ``` */ declare function createWebWorkerExecutor<T extends Record<string, unknown>>(config: IWebWorkerDialectConfig<T>): () => Promise<IGenericSqliteWorkerExecutor<globalThis.Worker, T>>; export { type IWebWorkerDialectConfig, createWebOnMessageCallback, createWebWorkerExecutor, handleWebWorker };