MCPcopy
hub / github.com/drizzle-team/drizzle-orm / drizzle

Function drizzle

drizzle-orm/src/libsql/node/index.ts:5–48  ·  view source on GitHub ↗
(
	...params: [
		TClient | string,
	] | [
		TClient | string,
		DrizzleConfig<TSchema>,
	] | [
		(
			& DrizzleConfig<TSchema>
			& ({
				connection: string | Config;
			} | {
				client: TClient;
			})
		),
	]
)

Source from the content-addressed store, hash-verified

3import { construct, type LibSQLDatabase } from '../driver-core.ts';
4
5export function drizzle<
6 TSchema extends Record<string, unknown> = Record<string, never>,
7 TClient extends Client = Client,
8>(
9 ...params: [
10 TClient | string,
11 ] | [
12 TClient | string,
13 DrizzleConfig<TSchema>,
14 ] | [
15 (
16 & DrizzleConfig<TSchema>
17 & ({
18 connection: string | Config;
19 } | {
20 client: TClient;
21 })
22 ),
23 ]
24): LibSQLDatabase<TSchema> & {
25 $client: TClient;
26} {
27 if (typeof params[0] === 'string') {
28 const instance = createClient({
29 url: params[0],
30 });
31
32 return construct(instance, params[1]) as any;
33 }
34
35 if (isConfig(params[0])) {
36 const { connection, client, ...drizzleConfig } = params[0] as
37 & { connection?: Config; client?: TClient }
38 & DrizzleConfig<TSchema>;
39
40 if (client) return construct(client, drizzleConfig) as any;
41
42 const instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);
43
44 return construct(instance, drizzleConfig) as any;
45 }
46
47 return construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;
48}
49
50export namespace drizzle {
51 export function mock<TSchema extends Record<string, unknown> = Record<string, never>>(

Callers 1

Calls 2

constructFunction · 0.90
isConfigFunction · 0.90

Tested by

no test coverage detected