(
...params:
| []
| [
Database | string,
]
| [
Database | string,
DrizzleConfig<TSchema>,
]
| [
(
& DrizzleConfig<TSchema>
& ({
connection?: DrizzleBetterSQLite3DatabaseConfig;
} | {
client: Database;
})
),
]
)
| 66 | } |
| 67 | |
| 68 | export function drizzle< |
| 69 | TSchema extends Record<string, unknown> = Record<string, never>, |
| 70 | >( |
| 71 | ...params: |
| 72 | | [] |
| 73 | | [ |
| 74 | Database | string, |
| 75 | ] |
| 76 | | [ |
| 77 | Database | string, |
| 78 | DrizzleConfig<TSchema>, |
| 79 | ] |
| 80 | | [ |
| 81 | ( |
| 82 | & DrizzleConfig<TSchema> |
| 83 | & ({ |
| 84 | connection?: DrizzleBetterSQLite3DatabaseConfig; |
| 85 | } | { |
| 86 | client: Database; |
| 87 | }) |
| 88 | ), |
| 89 | ] |
| 90 | ): BetterSQLite3Database<TSchema> & { |
| 91 | $client: Database; |
| 92 | } { |
| 93 | if (params[0] === undefined || typeof params[0] === 'string') { |
| 94 | const instance = params[0] === undefined ? new Client() : new Client(params[0]); |
| 95 | |
| 96 | return construct(instance, params[1]) as any; |
| 97 | } |
| 98 | |
| 99 | if (isConfig(params[0])) { |
| 100 | const { connection, client, ...drizzleConfig } = params[0] as |
| 101 | & { |
| 102 | connection?: DrizzleBetterSQLite3DatabaseConfig; |
| 103 | client?: Database; |
| 104 | } |
| 105 | & DrizzleConfig<TSchema>; |
| 106 | |
| 107 | if (client) return construct(client, drizzleConfig) as any; |
| 108 | |
| 109 | if (typeof connection === 'object') { |
| 110 | const { source, ...options } = connection; |
| 111 | |
| 112 | const instance = new Client(source, options); |
| 113 | |
| 114 | return construct(instance, drizzleConfig) as any; |
| 115 | } |
| 116 | |
| 117 | const instance = new Client(connection); |
| 118 | |
| 119 | return construct(instance, drizzleConfig) as any; |
| 120 | } |
| 121 | |
| 122 | return construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any; |
| 123 | } |
| 124 | |
| 125 | export namespace drizzle { |
no test coverage detected