UNPKG

kysely-generic-sqlite

Version:
40 lines (37 loc) 1.68 kB
import { P as Promisable } from './type-dQxYJ4xm.cjs'; import { b as InitFn, M as MessageHandleFn, H as HandleMessageFn, d as IGenericEventEmitter, a as IGenericSqliteWorkerExecutor } from './types-yz6kgqQe.cjs'; import { Worker } from 'node:worker_threads'; import 'kysely'; declare function createNodeOnMessageCallback<T extends Record<string, unknown>, DB = unknown>(init: InitFn<T, DB>, rest?: MessageHandleFn<DB>): void; /** * Util for handle node worker message in main thread */ declare const handleNodeWorker: HandleMessageFn<Worker>; /** * Util to create node mitt */ declare function createNodeMitt(): IGenericEventEmitter; interface INodeWorkerDialectConfig<T extends Record<string, unknown>> extends Pick<IGenericSqliteWorkerExecutor<Worker, T>, 'data'> { worker: Worker | (() => Promisable<Worker>); } /** * Create worker executor for node * @param config {@link INodeWorkerDialectConfig} * @example * You can also manually create executor for node worker: * ```ts * import { GenericSqliteWorkerDialect } from 'kysely-generic-sqlite/worker' * import { handleNodeWorker, createNodeMitt } from 'kysely-generic-sqlite/worker-helper-node' * * const worker = new Worker('./worker.js') * const dialect = new GenericSqliteWorkerDialect( * () => { * worker, * mitt: createNodeMitt(), * handle: handleWebWorker, * }), * ) * ``` */ declare function createNodeWorkerExecutor<T extends Record<string, unknown>>(config: INodeWorkerDialectConfig<T>): () => Promise<IGenericSqliteWorkerExecutor<Worker, T>>; export { type INodeWorkerDialectConfig, createNodeMitt, createNodeOnMessageCallback, createNodeWorkerExecutor, handleNodeWorker };