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

Function drizzle

drizzle-orm/src/gel/driver.ts:88–129  ·  view source on GitHub ↗
(
	...params:
		| [TClient | string]
		| [TClient | string, DrizzleConfig<TSchema>]
		| [
			& DrizzleConfig<TSchema>
			& (
				| {
					connection: string | ConnectOptions;
				}
				| {
					client: TClient;
				}
			),
		]
)

Source from the content-addressed store, hash-verified

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

Callers 5

gel-ext.test.tsFile · 0.90
gel.test.tsFile · 0.90
gel-custom.test.tsFile · 0.90
gel.ext.test.tsFile · 0.90
gel.test.tsFile · 0.90

Calls 2

isConfigFunction · 0.90
constructFunction · 0.70

Tested by

no test coverage detected