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

Function drizzle

drizzle-orm/src/pglite/driver.ts:98–151  ·  view source on GitHub ↗
(
	...params:
		| []
		| [
			TClient | string,
		]
		| [
			TClient | string,
			DrizzleConfig<TSchema>,
		]
		| [
			(
				& DrizzleConfig<TSchema>
				& ({
					connection?: (PGliteOptions & { dataDir?: string }) | string;
				} | {
					client: TClient;
				})
			),
		]
)

Source from the content-addressed store, hash-verified

96}
97
98export function drizzle<
99 TSchema extends Record<string, unknown> = Record<string, never>,
100 TClient extends PGlite = PGlite,
101>(
102 ...params:
103 | []
104 | [
105 TClient | string,
106 ]
107 | [
108 TClient | string,
109 DrizzleConfig<TSchema>,
110 ]
111 | [
112 (
113 & DrizzleConfig<TSchema>
114 & ({
115 connection?: (PGliteOptions & { dataDir?: string }) | string;
116 } | {
117 client: TClient;
118 })
119 ),
120 ]
121): PgliteDatabase<TSchema> & {
122 $client: TClient;
123} {
124 if (params[0] === undefined || typeof params[0] === 'string') {
125 const instance = new PGlite(params[0]);
126 return construct(instance, params[1]) as any;
127 }
128
129 if (isConfig(params[0])) {
130 const { connection, client, ...drizzleConfig } = params[0] as {
131 connection?: PGliteOptions & { dataDir: string };
132 client?: TClient;
133 } & DrizzleConfig<TSchema>;
134
135 if (client) return construct(client, drizzleConfig) as any;
136
137 if (typeof connection === 'object') {
138 const { dataDir, ...options } = connection;
139
140 const instance = new PGlite(dataDir, options);
141
142 return construct(instance, drizzleConfig) as any;
143 }
144
145 const instance = new PGlite(connection);
146
147 return construct(instance, drizzleConfig) as any;
148 }
149
150 return construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;
151}
152
153export namespace drizzle {
154 export function mock<TSchema extends Record<string, unknown> = Record<string, never>>(

Callers 11

pglite.test.mjsFile · 0.90
pg.test.tsFile · 0.90
pglite.test.tsFile · 0.90
awsdatapi.test.tsFile · 0.90
pg.test.tsFile · 0.90
generators.test.tsFile · 0.90
type-hints.test.tsFile · 0.90

Calls 2

isConfigFunction · 0.90
constructFunction · 0.70

Tested by 1