kysely-generic-sqlite
Version:
Generic kysely dialect for SQLite, support run in main thread or worker
34 lines (29 loc) • 2 kB
text/typescript
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 };