driver.d.ts 1.4 KB

123456789101112131415161718192021222324
  1. import type { BatchItem, BatchResponse } from "../batch.js";
  2. import { entityKind } from "../entity.js";
  3. import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
  4. import type { DrizzleConfig } from "../utils.js";
  5. export interface SqliteRemoteResult<T = unknown> {
  6. rows?: T[];
  7. }
  8. export declare class SqliteRemoteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', SqliteRemoteResult, TSchema> {
  9. static readonly [entityKind]: string;
  10. batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
  11. }
  12. export type AsyncRemoteCallback = (sql: string, params: any[], method: 'run' | 'all' | 'values' | 'get') => Promise<{
  13. rows: any[];
  14. }>;
  15. export type AsyncBatchRemoteCallback = (batch: {
  16. sql: string;
  17. params: any[];
  18. method: 'run' | 'all' | 'values' | 'get';
  19. }[]) => Promise<{
  20. rows: any[];
  21. }[]>;
  22. export type RemoteCallback = AsyncRemoteCallback;
  23. export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(callback: RemoteCallback, config?: DrizzleConfig<TSchema>): SqliteRemoteDatabase<TSchema>;
  24. export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(callback: RemoteCallback, batchCallback?: AsyncBatchRemoteCallback, config?: DrizzleConfig<TSchema>): SqliteRemoteDatabase<TSchema>;