UNPKG

kysely-generic-sqlite

Version:
34 lines (29 loc) 2 kB
import { P as Promisable, O as OnCreateConnection } from './type-dQxYJ4xm.cjs'; import { I as IGenericWorker, a as IGenericSqliteWorkerExecutor, b as InitFn, M as MessageHandleFn, c as MainToWorkerMsg } from './types-yz6kgqQe.cjs'; export { H as HandleMessageFn, d as IGenericEventEmitter } from './types-yz6kgqQe.cjs'; import { B as BaseSqliteDialect, a as BaseSqliteDriver } from './base-DtkViV9V.cjs'; import 'kysely'; declare class GenericSqliteWorkerDialect<T extends IGenericWorker, R extends Record<string, unknown>> extends BaseSqliteDialect { /** * Dialect for generic SQLite that run SQLs in worker thread * * @param executor function to create {@link IGenericSqliteWorkerExecutor} * @param onCreateConnection optional callback after connection created */ constructor(executor: () => Promisable<IGenericSqliteWorkerExecutor<T, R>>, onCreateConnection?: OnCreateConnection); } declare class GenericSqliteWorkerDriver<T extends IGenericWorker, R extends Record<string, unknown>> extends BaseSqliteDriver { private worker?; private mitt?; constructor(executor: () => Promisable<IGenericSqliteWorkerExecutor<T, R>>, onCreateConnection?: OnCreateConnection); destroy(): Promise<void>; } /** * Create generic message handler * @param init Function that init sqlite executor * @param post Function that post message to main thread * @param message Handle custom messages. If returning data is not `undefined` and `null`, it will be set as second element of first param */ declare function createGenericOnMessageCallback<T extends Record<string, unknown>, DB = unknown>(init: InitFn<T, DB>, post: (data: any) => void, message?: MessageHandleFn<DB>): (data: MainToWorkerMsg<T>) => Promise<void>; declare function access<T>(data: T | (() => Promisable<T>)): Promise<T>; export { GenericSqliteWorkerDialect, GenericSqliteWorkerDriver, IGenericSqliteWorkerExecutor, IGenericWorker, InitFn, MessageHandleFn, access, createGenericOnMessageCallback };