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

Function drizzle

drizzle-orm/src/planetscale-serverless/driver.ts:87–136  ·  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

85}
86
87export function drizzle<
88 TSchema extends Record<string, unknown> = Record<string, never>,
89 TClient extends Client = Client,
90>(
91 ...params: [
92 TClient | string,
93 ] | [
94 TClient | string,
95 DrizzleConfig<TSchema>,
96 ] | [
97 (
98 & DrizzleConfig<TSchema>
99 & ({
100 connection: string | Config;
101 } | {
102 client: TClient;
103 })
104 ),
105 ]
106): PlanetScaleDatabase<TSchema> & {
107 $client: TClient;
108} {
109 if (typeof params[0] === 'string') {
110 const instance = new Client({
111 url: params[0],
112 });
113
114 return construct(instance, params[1]) as any;
115 }
116
117 if (isConfig(params[0])) {
118 const { connection, client, ...drizzleConfig } = params[0] as
119 & { connection?: Config | string; client?: TClient }
120 & DrizzleConfig;
121
122 if (client) return construct(client, drizzleConfig) as any;
123
124 const instance = typeof connection === 'string'
125 ? new Client({
126 url: connection,
127 })
128 : new Client(
129 connection!,
130 );
131
132 return construct(instance, drizzleConfig) as any;
133 }
134
135 return construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;
136}
137
138export namespace drizzle {
139 export function mock<TSchema extends Record<string, unknown> = Record<string, never>>(

Calls 2

isConfigFunction · 0.90
constructFunction · 0.70

Tested by

no test coverage detected