drizzle-orm 0.33.0-c6528ed → 0.33.0-cd0b1a2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/aws-data-api/pg/driver.cjs +3 -1
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +4 -2
  4. package/aws-data-api/pg/driver.d.ts +4 -2
  5. package/aws-data-api/pg/driver.js +3 -1
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/better-sqlite3/driver.cjs +3 -1
  8. package/better-sqlite3/driver.cjs.map +1 -1
  9. package/better-sqlite3/driver.d.cts +3 -1
  10. package/better-sqlite3/driver.d.ts +3 -1
  11. package/better-sqlite3/driver.js +3 -1
  12. package/better-sqlite3/driver.js.map +1 -1
  13. package/bun-sqlite/driver.cjs +3 -1
  14. package/bun-sqlite/driver.cjs.map +1 -1
  15. package/bun-sqlite/driver.d.cts +3 -1
  16. package/bun-sqlite/driver.d.ts +3 -1
  17. package/bun-sqlite/driver.js +3 -1
  18. package/bun-sqlite/driver.js.map +1 -1
  19. package/d1/driver.cjs +3 -1
  20. package/d1/driver.cjs.map +1 -1
  21. package/d1/driver.d.cts +6 -2
  22. package/d1/driver.d.ts +6 -2
  23. package/d1/driver.js +3 -1
  24. package/d1/driver.js.map +1 -1
  25. package/expo-sqlite/driver.cjs +3 -1
  26. package/expo-sqlite/driver.cjs.map +1 -1
  27. package/expo-sqlite/driver.d.cts +3 -1
  28. package/expo-sqlite/driver.d.ts +3 -1
  29. package/expo-sqlite/driver.js +3 -1
  30. package/expo-sqlite/driver.js.map +1 -1
  31. package/libsql/driver.cjs +3 -1
  32. package/libsql/driver.cjs.map +1 -1
  33. package/libsql/driver.d.cts +3 -1
  34. package/libsql/driver.d.ts +3 -1
  35. package/libsql/driver.js +3 -1
  36. package/libsql/driver.js.map +1 -1
  37. package/monodriver.cjs +21 -38
  38. package/monodriver.cjs.map +1 -1
  39. package/monodriver.d.cts +65 -55
  40. package/monodriver.d.ts +65 -55
  41. package/monodriver.js +21 -38
  42. package/monodriver.js.map +1 -1
  43. package/mysql-core/db.cjs +2 -1
  44. package/mysql-core/db.cjs.map +1 -1
  45. package/mysql-core/db.d.cts +2 -2
  46. package/mysql-core/db.d.ts +2 -2
  47. package/mysql-core/db.js +2 -1
  48. package/mysql-core/db.js.map +1 -1
  49. package/mysql2/driver.cjs +5 -5
  50. package/mysql2/driver.cjs.map +1 -1
  51. package/mysql2/driver.d.cts +3 -1
  52. package/mysql2/driver.d.ts +3 -1
  53. package/mysql2/driver.js +5 -5
  54. package/mysql2/driver.js.map +1 -1
  55. package/neon-http/driver.cjs +3 -1
  56. package/neon-http/driver.cjs.map +1 -1
  57. package/neon-http/driver.d.cts +3 -1
  58. package/neon-http/driver.d.ts +3 -1
  59. package/neon-http/driver.js +3 -1
  60. package/neon-http/driver.js.map +1 -1
  61. package/neon-serverless/driver.cjs +3 -1
  62. package/neon-serverless/driver.cjs.map +1 -1
  63. package/neon-serverless/driver.d.cts +3 -1
  64. package/neon-serverless/driver.d.ts +3 -1
  65. package/neon-serverless/driver.js +3 -1
  66. package/neon-serverless/driver.js.map +1 -1
  67. package/node-postgres/driver.cjs +3 -1
  68. package/node-postgres/driver.cjs.map +1 -1
  69. package/node-postgres/driver.d.cts +3 -1
  70. package/node-postgres/driver.d.ts +3 -1
  71. package/node-postgres/driver.js +3 -1
  72. package/node-postgres/driver.js.map +1 -1
  73. package/op-sqlite/driver.cjs +3 -1
  74. package/op-sqlite/driver.cjs.map +1 -1
  75. package/op-sqlite/driver.d.cts +3 -1
  76. package/op-sqlite/driver.d.ts +3 -1
  77. package/op-sqlite/driver.js +3 -1
  78. package/op-sqlite/driver.js.map +1 -1
  79. package/package.json +2 -1
  80. package/pg-core/db.cjs +4 -3
  81. package/pg-core/db.cjs.map +1 -1
  82. package/pg-core/db.d.cts +2 -2
  83. package/pg-core/db.d.ts +2 -2
  84. package/pg-core/db.js +4 -3
  85. package/pg-core/db.js.map +1 -1
  86. package/pglite/driver.cjs +3 -1
  87. package/pglite/driver.cjs.map +1 -1
  88. package/pglite/driver.d.cts +3 -1
  89. package/pglite/driver.d.ts +3 -1
  90. package/pglite/driver.js +3 -1
  91. package/pglite/driver.js.map +1 -1
  92. package/planetscale-serverless/driver.cjs +3 -1
  93. package/planetscale-serverless/driver.cjs.map +1 -1
  94. package/planetscale-serverless/driver.d.cts +3 -1
  95. package/planetscale-serverless/driver.d.ts +3 -1
  96. package/planetscale-serverless/driver.js +3 -1
  97. package/planetscale-serverless/driver.js.map +1 -1
  98. package/postgres-js/driver.cjs +3 -1
  99. package/postgres-js/driver.cjs.map +1 -1
  100. package/postgres-js/driver.d.cts +3 -1
  101. package/postgres-js/driver.d.ts +3 -1
  102. package/postgres-js/driver.js +3 -1
  103. package/postgres-js/driver.js.map +1 -1
  104. package/sqlite-core/db.cjs +17 -16
  105. package/sqlite-core/db.cjs.map +1 -1
  106. package/sqlite-core/db.d.cts +5 -5
  107. package/sqlite-core/db.d.ts +5 -5
  108. package/sqlite-core/db.js +17 -16
  109. package/sqlite-core/db.js.map +1 -1
  110. package/tidb-serverless/driver.cjs +3 -1
  111. package/tidb-serverless/driver.cjs.map +1 -1
  112. package/tidb-serverless/driver.d.cts +3 -1
  113. package/tidb-serverless/driver.d.ts +3 -1
  114. package/tidb-serverless/driver.js +3 -1
  115. package/tidb-serverless/driver.js.map +1 -1
  116. package/utils.cjs.map +1 -1
  117. package/utils.d.cts +1 -0
  118. package/utils.d.ts +1 -0
  119. package/utils.js.map +1 -1
  120. package/vercel-postgres/driver.cjs +3 -1
  121. package/vercel-postgres/driver.cjs.map +1 -1
  122. package/vercel-postgres/driver.d.cts +3 -1
  123. package/vercel-postgres/driver.d.ts +3 -1
  124. package/vercel-postgres/driver.js +3 -1
  125. package/vercel-postgres/driver.js.map +1 -1
  126. package/version.cjs +1 -1
  127. package/version.d.cts +1 -1
  128. package/version.d.ts +1 -1
  129. package/version.js +1 -1
  130. package/xata-http/driver.cjs +3 -1
  131. package/xata-http/driver.cjs.map +1 -1
  132. package/xata-http/driver.d.cts +3 -1
  133. package/xata-http/driver.d.ts +3 -1
  134. package/xata-http/driver.js +3 -1
  135. package/xata-http/driver.js.map +1 -1
package/monodriver.cjs CHANGED
@@ -42,7 +42,7 @@ function assertUnreachable(_) {
42
42
  async function drizzle(client, ...params) {
43
43
  switch (client) {
44
44
  case "node-postgres": {
45
- const defpg = await import("pg");
45
+ const defpg = await import("pg").catch(() => importError("pg"));
46
46
  const { drizzle: drizzle2 } = await import("./node-postgres");
47
47
  if (typeof params[0] === "object") {
48
48
  const { connection, ...drizzleConfig } = params[0];
@@ -50,25 +50,23 @@ async function drizzle(client, ...params) {
50
50
  connectionString: connection
51
51
  }) : new defpg.default.Pool(connection);
52
52
  const db2 = drizzle2(instance2, drizzleConfig);
53
- db2.$client = instance2;
54
53
  return db2;
55
54
  }
56
55
  const instance = typeof params[0] === "string" ? new defpg.default.Pool({
57
56
  connectionString: params[0]
58
57
  }) : new defpg.default.Pool(params[0]);
59
58
  const db = drizzle2(instance);
60
- db.$client = instance;
61
59
  return db;
62
60
  }
63
61
  case "aws-data-api-pg": {
64
62
  const { connection, ...drizzleConfig } = params[0];
63
+ const { resourceArn, database, secretArn, ...rdsConfig } = connection;
65
64
  const { RDSDataClient } = await import("@aws-sdk/client-rds-data").catch(
66
65
  () => importError("@aws-sdk/client-rds-data")
67
66
  );
68
67
  const { drizzle: drizzle2 } = await import("./aws-data-api/pg");
69
- const instance = connection ? new RDSDataClient(connection) : new RDSDataClient();
70
- const db = drizzle2(instance, drizzleConfig);
71
- db.$client = instance;
68
+ const instance = new RDSDataClient(rdsConfig);
69
+ const db = drizzle2(instance, { resourceArn, database, secretArn, ...drizzleConfig });
72
70
  return db;
73
71
  }
74
72
  case "better-sqlite3": {
@@ -77,49 +75,45 @@ async function drizzle(client, ...params) {
77
75
  if (typeof params[0] === "object") {
78
76
  const { connection, ...drizzleConfig } = params[0];
79
77
  if (typeof connection === "object") {
80
- const { filename, options } = connection;
81
- const instance3 = new Client(filename, options);
78
+ const { source, ...options } = connection;
79
+ const instance3 = new Client(source, options);
82
80
  const db3 = drizzle2(instance3, drizzleConfig);
83
- db3.$client = instance3;
84
81
  return db3;
85
82
  }
86
83
  const instance2 = new Client(connection);
87
84
  const db2 = drizzle2(instance2, drizzleConfig);
88
- db2.$client = instance2;
89
85
  return db2;
90
86
  }
91
87
  const instance = new Client(params[0]);
92
88
  const db = drizzle2(instance);
93
- db.$client = instance;
94
89
  return db;
95
90
  }
96
91
  case "bun:sqlite": {
97
- const { Database: Client } = await import("bun:sqlite").catch(() => importError("bun:sqlite"));
92
+ const { Database: Client } = await import("bun:sqlite").catch(() => {
93
+ throw new Error(`Please use bun to use 'bun:sqlite' for Drizzle ORM to connect to database`);
94
+ });
98
95
  const { drizzle: drizzle2 } = await import("./bun-sqlite");
99
96
  if (typeof params[0] === "object") {
100
97
  const { connection, ...drizzleConfig } = params[0];
101
98
  if (typeof connection === "object") {
102
- const { filename, options } = connection;
103
- const instance3 = new Client(filename, options);
99
+ const { source, ...opts } = connection;
100
+ const options = Object.values(opts).filter((v) => v !== void 0).length ? opts : void 0;
101
+ const instance3 = new Client(source, options);
104
102
  const db3 = drizzle2(instance3, drizzleConfig);
105
- db3.$client = instance3;
106
103
  return db3;
107
104
  }
108
105
  const instance2 = new Client(connection);
109
106
  const db2 = drizzle2(instance2, drizzleConfig);
110
- db2.$client = instance2;
111
107
  return db2;
112
108
  }
113
109
  const instance = new Client(params[0]);
114
110
  const db = drizzle2(instance);
115
- db.$client = instance;
116
111
  return db;
117
112
  }
118
113
  case "d1": {
119
114
  const { connection, ...drizzleConfig } = params[0];
120
115
  const { drizzle: drizzle2 } = await import("./d1");
121
116
  const db = drizzle2(connection, drizzleConfig);
122
- db.$client = connection;
123
117
  return db;
124
118
  }
125
119
  case "libsql":
@@ -131,29 +125,25 @@ async function drizzle(client, ...params) {
131
125
  url: params[0]
132
126
  });
133
127
  const db2 = drizzle2(instance2);
134
- db2.$client = instance2;
135
128
  return db2;
136
129
  }
137
130
  const { connection, ...drizzleConfig } = params[0];
138
131
  const instance = typeof connection === "string" ? createClient({ url: connection }) : createClient(connection);
139
132
  const db = drizzle2(instance, drizzleConfig);
140
- db.$client = instance;
141
133
  return db;
142
134
  }
143
135
  case "mysql2": {
144
- const { createPool } = await import("mysql2/promise").catch(() => importError("mysql2/promise"));
136
+ const { createPool } = await import("mysql2/promise").catch(() => importError("mysql2"));
145
137
  const { drizzle: drizzle2 } = await import("./mysql2");
146
138
  if (typeof params[0] === "object") {
147
139
  const { connection, ...drizzleConfig } = params[0];
148
140
  const instance2 = createPool(connection);
149
141
  const db2 = drizzle2(instance2, drizzleConfig);
150
- db2.$client = instance2;
151
142
  return db2;
152
143
  }
153
144
  const connectionString = params[0];
154
145
  const instance = createPool(connectionString);
155
146
  const db = drizzle2(instance);
156
- db.$client = instance;
157
147
  return db;
158
148
  }
159
149
  case "neon-http": {
@@ -162,23 +152,20 @@ async function drizzle(client, ...params) {
162
152
  if (typeof params[0] === "object") {
163
153
  const { connection, ...drizzleConfig } = params[0];
164
154
  if (typeof connection === "object") {
165
- const { connectionString, options } = connection;
155
+ const { connectionString, ...options } = connection;
166
156
  const instance3 = neon(connectionString, options);
167
157
  const db3 = drizzle2(instance3, drizzleConfig);
168
- db3.$client = instance3;
169
158
  return db3;
170
159
  }
171
160
  const instance2 = neon(connection);
172
161
  const db2 = drizzle2(instance2, drizzleConfig);
173
- db2.$client = instance2;
174
162
  return db2;
175
163
  }
176
164
  const instance = neon(params[0]);
177
165
  const db = drizzle2(instance);
178
- db.$client = instance;
179
166
  return db;
180
167
  }
181
- case "neon-serverless": {
168
+ case "neon-websocket": {
182
169
  const { Pool, neonConfig } = await import("@neondatabase/serverless").catch(
183
170
  () => importError("@neondatabase/serverless")
184
171
  );
@@ -188,7 +175,6 @@ async function drizzle(client, ...params) {
188
175
  connectionString: params[0]
189
176
  });
190
177
  const db2 = drizzle2(instance2);
191
- db2.$client = instance2;
192
178
  return db2;
193
179
  }
194
180
  if (typeof params[0] === "object") {
@@ -200,12 +186,10 @@ async function drizzle(client, ...params) {
200
186
  connectionString: connection
201
187
  }) : new Pool(connection);
202
188
  const db2 = drizzle2(instance2, drizzleConfig);
203
- db2.$client = instance2;
204
189
  return db2;
205
190
  }
206
191
  const instance = new Pool();
207
192
  const db = drizzle2(instance);
208
- db.$client = instance;
209
193
  return db;
210
194
  }
211
195
  case "planetscale": {
@@ -219,14 +203,12 @@ async function drizzle(client, ...params) {
219
203
  connection
220
204
  );
221
205
  const db2 = drizzle2(instance2, drizzleConfig);
222
- db2.$client = instance2;
223
206
  return db2;
224
207
  }
225
208
  const instance = new Client({
226
209
  url: params[0]
227
210
  });
228
211
  const db = drizzle2(instance);
229
- db.$client = instance;
230
212
  return db;
231
213
  }
232
214
  case "postgres-js": {
@@ -234,14 +216,18 @@ async function drizzle(client, ...params) {
234
216
  const { drizzle: drizzle2 } = await import("./postgres-js");
235
217
  if (typeof params[0] === "object") {
236
218
  const { connection, ...drizzleConfig } = params[0];
219
+ if (typeof connection === "object" && connection.url !== void 0) {
220
+ const { url, ...config } = connection;
221
+ const instance3 = client2(url, config);
222
+ const db3 = drizzle2(instance3, drizzleConfig);
223
+ return db3;
224
+ }
237
225
  const instance2 = client2(connection);
238
226
  const db2 = drizzle2(instance2, drizzleConfig);
239
- db2.$client = instance2;
240
227
  return db2;
241
228
  }
242
229
  const instance = client2(params[0]);
243
230
  const db = drizzle2(instance);
244
- db.$client = instance;
245
231
  return db;
246
232
  }
247
233
  case "tidb-serverless": {
@@ -252,7 +238,6 @@ async function drizzle(client, ...params) {
252
238
  url: params[0]
253
239
  });
254
240
  const db2 = drizzle2(instance2);
255
- db2.$client = instance2;
256
241
  return db2;
257
242
  }
258
243
  const { connection, ...drizzleConfig } = params[0];
@@ -260,7 +245,6 @@ async function drizzle(client, ...params) {
260
245
  url: connection
261
246
  }) : connect(connection);
262
247
  const db = drizzle2(instance, drizzleConfig);
263
- db.$client = instance;
264
248
  return db;
265
249
  }
266
250
  case "vercel-postgres": {
@@ -268,7 +252,6 @@ async function drizzle(client, ...params) {
268
252
  const { sql } = await import("@vercel/postgres").catch(() => importError("@vercel/postgres"));
269
253
  const { drizzle: drizzle2 } = await import("./vercel-postgres");
270
254
  const db = drizzle2(sql, drizzleConfig);
271
- db.$client = sql;
272
255
  return db;
273
256
  }
274
257
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClient, RDSDataClientConfig, RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Client as LibsqlClient, Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tNeonQueryFunction,\n\tPool as NeonServerlessPool,\n\tPoolConfig as NeonServerlessConfig,\n\tQueryResult,\n\tQueryResultRow,\n} from '@neondatabase/serverless';\nimport type { Client as PlanetscaleClient, Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig, Connection as TiDBConnection } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Database as BetterSQLite3Database, Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { Database as BunDatabase } from 'bun:sqlite';\nimport type { Pool as Mysql2Pool, PoolOptions as Mysql2Config } from 'mysql2';\nimport type { Pool as NodePgPool, PoolConfig as NodePgPoolConfig } from 'pg';\nimport type {\n\tOptions as PostgresJSOptions,\n\tPostgresType as PostgresJSPostgresType,\n\tSql as PostgresJsClient,\n} from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } from './aws-data-api/pg/index.ts';\nimport type { BetterSQLite3Database as DrizzleBetterSQLite3Database } from './better-sqlite3/index.ts';\nimport type { BunSQLiteDatabase } from './bun-sqlite/index.ts';\nimport type { DrizzleD1Database } from './d1/index.ts';\nimport type { LibSQLDatabase } from './libsql/index.ts';\nimport type { MySql2Database, MySql2DrizzleConfig } from './mysql2/index.ts';\nimport type { NeonHttpDatabase } from './neon-http/index.ts';\nimport type { NeonDatabase } from './neon-serverless/index.ts';\nimport type { NodePgDatabase } from './node-postgres/driver.ts';\nimport type { PlanetScaleDatabase } from './planetscale-serverless/index.ts';\nimport type { PostgresJsDatabase } from './postgres-js/index.ts';\nimport type { TiDBServerlessDatabase } from './tidb-serverless/index.ts';\nimport type { DrizzleConfig } from './utils.ts';\nimport type { VercelPgDatabase } from './vercel-postgres/index.ts';\n\ntype BunSqliteDatabaseOptions =\n\t| number\n\t| {\n\t\t/**\n\t\t * Open the database as read-only (no write operations, no create).\n\t\t *\n\t\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t\t */\n\t\treadonly?: boolean;\n\t\t/**\n\t\t * Allow creating a new database\n\t\t *\n\t\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t\t */\n\t\tcreate?: boolean;\n\t\t/**\n\t\t * Open the database as read-write\n\t\t *\n\t\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t\t */\n\t\treadwrite?: boolean;\n\t};\n\ntype BunSqliteDatabaseConfig =\n\t| {\n\t\tfilename?: ':memory:' | (string & {});\n\t\toptions?: BunSqliteDatabaseOptions;\n\t}\n\t| ':memory:'\n\t| (string & {})\n\t| undefined;\n\ntype BetterSQLite3DatabaseConfig =\n\t| {\n\t\tfilename?:\n\t\t\t| ':memory:'\n\t\t\t| (string & {})\n\t\t\t| Buffer;\n\t\toptions?: BetterSQLite3Options;\n\t}\n\t| ':memory:'\n\t| (string & {})\n\t| undefined;\n\ntype MonodriverNeonHttpConfig = {\n\tconnectionString: string;\n\toptions?: NeonHttpConfig<boolean, boolean>;\n} | string;\n\ntype DatabaseClient =\n\t| 'node-postgres'\n\t| 'postgres-js'\n\t| 'neon-serverless'\n\t| 'neon-http'\n\t| 'vercel-postgres'\n\t| 'aws-data-api-pg'\n\t| 'planetscale'\n\t| 'mysql2'\n\t| 'tidb-serverless'\n\t| 'libsql'\n\t| 'turso'\n\t| 'd1'\n\t| 'bun:sqlite'\n\t| 'better-sqlite3';\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'node-postgres': NodePgDatabase<TSchema>;\n\t'postgres-js': PostgresJsDatabase<TSchema>;\n\t'neon-serverless': NeonDatabase<TSchema>;\n\t'neon-http': NeonHttpDatabase<TSchema>;\n\t'vercel-postgres': VercelPgDatabase<TSchema>;\n\t'aws-data-api-pg': AwsDataApiPgDatabase<TSchema>;\n\tplanetscale: PlanetScaleDatabase<TSchema>;\n\tmysql2: MySql2Database<TSchema>;\n\t'tidb-serverless': TiDBServerlessDatabase<TSchema>;\n\tlibsql: LibSQLDatabase<TSchema>;\n\tturso: LibSQLDatabase<TSchema>;\n\td1: DrizzleD1Database<TSchema>;\n\t'bun:sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': DrizzleBetterSQLite3Database<TSchema>;\n};\n\ntype Primitive = string | number | boolean | undefined | null;\n\ntype ClientInstanceMap = {\n\t'node-postgres': NodePgPool;\n\t'postgres-js': PostgresJsClient;\n\t'neon-serverless': NeonServerlessPool;\n\t'neon-http': NeonQueryFunction<boolean, boolean>;\n\t'vercel-postgres':\n\t\t& VercelPool\n\t\t& (<O extends QueryResultRow>(strings: TemplateStringsArray, ...values: Primitive[]) => Promise<QueryResult<O>>);\n\t'aws-data-api-pg': RDSDataClient;\n\tplanetscale: PlanetscaleClient;\n\tmysql2: Mysql2Pool;\n\t'tidb-serverless': TiDBConnection;\n\tlibsql: LibsqlClient;\n\tturso: LibsqlClient;\n\td1: D1Database;\n\t'bun:sqlite': BunDatabase;\n\t'better-sqlite3': BetterSQLite3Database;\n};\n\ntype InitializerParams = {\n\t'node-postgres': {\n\t\tconnection?: string | NodePgPoolConfig;\n\t};\n\t'postgres-js': {\n\t\tconnection: string | PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t};\n\t'neon-serverless': {\n\t\tconnection?: string | NeonServerlessConfig;\n\t};\n\t'neon-http': {\n\t\tconnection: MonodriverNeonHttpConfig;\n\t};\n\t'vercel-postgres': {};\n\t'aws-data-api-pg': {\n\t\tconnection?: RDSConfig;\n\t};\n\tplanetscale: {\n\t\tconnection: PlanetscaleConfig | string;\n\t};\n\tmysql2: {\n\t\tconnection: Mysql2Config | string;\n\t};\n\t'tidb-serverless': {\n\t\tconnection: TiDBServerlessConfig | string;\n\t};\n\tlibsql: {\n\t\tconnection: LibsqlConfig | string;\n\t};\n\tturso: {\n\t\tconnection: LibsqlConfig | string;\n\t};\n\td1: {\n\t\tconnection: D1Database;\n\t};\n\t'bun:sqlite': {\n\t\tconnection?: BunSqliteDatabaseConfig;\n\t};\n\t'better-sqlite3': {\n\t\tconnection?: BetterSQLite3DatabaseConfig;\n\t};\n};\n\ntype DetermineClient<\n\tTClient extends DatabaseClient,\n\tTSchema extends Record<string, unknown>,\n> =\n\t& ClientDrizzleInstanceMap<\n\t\tTSchema\n\t>[TClient]\n\t& {\n\t\t$client: ClientInstanceMap[TClient];\n\t};\n\nconst importError = (libName: string) => {\n\tthrow new Error(\n\t\t`Please install '${libName}' for Drizzle ORM to connect to database`,\n\t);\n};\n\nfunction assertUnreachable(_: never | undefined): never {\n\tthrow new Error(\"Didn't expect to get here\");\n}\n\nexport async function drizzle<\n\tTClient extends DatabaseClient,\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\tclient: TClient,\n\t...params: TClient extends 'bun:sqlite' | 'better-sqlite3' ? (\n\t\t\t[] | [\n\t\t\t\t(\n\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t),\n\t\t\t] | [\n\t\t\t\t':memory:',\n\t\t\t] | [\n\t\t\t\t(string & {}),\n\t\t\t]\n\t\t)\n\t\t: TClient extends 'vercel-postgres' ? ([] | [\n\t\t\t\t(\n\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t),\n\t\t\t])\n\t\t: TClient extends 'node-postgres' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [\n\t\t\t\t\tstring,\n\t\t\t\t]\n\t\t\t)\n\t\t: TClient extends 'postgres-js' | 'tidb-serverless' | 'libsql' | 'turso' | 'planetscale' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [\n\t\t\t\t\tstring,\n\t\t\t\t]\n\t\t\t)\n\t\t: TClient extends 'mysql2' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t\t& MySql2DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [\n\t\t\t\t\tstring,\n\t\t\t\t]\n\t\t\t)\n\t\t: TClient extends 'aws-data-api-pg' ? [\n\t\t\t\tInitializerParams[TClient] & DrizzleAwsDataApiPgConfig<TSchema>,\n\t\t\t]\n\t\t: TClient extends 'neon-serverless' ? (\n\t\t\t\t| [\n\t\t\t\t\tInitializerParams[TClient] & DrizzleConfig<TSchema> & {\n\t\t\t\t\t\tws?: any;\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t\t| [string]\n\t\t\t\t| []\n\t\t\t)\n\t\t: TClient extends 'neon-http' ? ([\n\t\t\t\tInitializerParams[TClient] & DrizzleConfig<TSchema>,\n\t\t\t] | [\n\t\t\t\tstring,\n\t\t\t])\n\t\t: [\n\t\t\t(\n\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t),\n\t\t]\n): Promise<DetermineClient<TClient, TSchema>> {\n\tswitch (client) {\n\t\tcase 'node-postgres': {\n\t\t\tconst defpg = await import('pg');\n\t\t\tconst { drizzle } = await import('./node-postgres');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: NodePgPoolConfig | string }\n\t\t\t\t\t& DrizzleConfig;\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new defpg.default.Pool({\n\t\t\t\t\t\tconnectionString: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new defpg.default.Pool(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = typeof params[0] === 'string'\n\t\t\t\t? new defpg.default.Pool({\n\t\t\t\t\tconnectionString: params[0],\n\t\t\t\t})\n\t\t\t\t: new defpg.default.Pool(params[0]);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'aws-data-api-pg': {\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t& { connection: RDSDataClientConfig | undefined }\n\t\t\t\t& DrizzleAwsDataApiPgConfig;\n\n\t\t\tconst { RDSDataClient } = await import('@aws-sdk/client-rds-data').catch(() =>\n\t\t\t\timportError('@aws-sdk/client-rds-data')\n\t\t\t);\n\t\t\tconst { drizzle } = await import('./aws-data-api/pg');\n\n\t\t\tconst instance = connection ? new RDSDataClient(connection) : new RDSDataClient();\n\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'better-sqlite3': {\n\t\t\tconst { default: Client } = await import('better-sqlite3').catch(() => importError('better-sqlite3'));\n\t\t\tconst { drizzle } = await import('./better-sqlite3');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: BetterSQLite3DatabaseConfig;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { filename, options } = connection;\n\n\t\t\t\t\tconst instance = new Client(filename, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\t\tdb.$client = instance;\n\n\t\t\t\t\treturn db;\n\t\t\t\t}\n\n\t\t\t\tconst instance = new Client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Client(params[0]);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'bun:sqlite': {\n\t\t\tconst { Database: Client } = await import('bun:sqlite').catch(() => importError('bun:sqlite'));\n\t\t\tconst { drizzle } = await import('./bun-sqlite');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: BunSqliteDatabaseConfig | string | undefined;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { filename, options } = connection;\n\n\t\t\t\t\tconst instance = new Client(filename, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\t\tdb.$client = instance;\n\n\t\t\t\t\treturn db;\n\t\t\t\t}\n\n\t\t\t\tconst instance = new Client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Client(params[0]);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as { connection: D1Database } & DrizzleConfig;\n\n\t\t\tconst { drizzle } = await import('./d1');\n\n\t\t\tconst db = drizzle(connection, drizzleConfig) as any;\n\t\t\tdb.$client = connection;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'libsql':\n\t\tcase 'turso': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = createClient({\n\t\t\t\t\turl: params[0],\n\t\t\t\t});\n\t\t\t\tconst db = drizzle(instance) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as any as { connection: LibsqlConfig } & DrizzleConfig;\n\n\t\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection);\n\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createPool } = await import('mysql2/promise').catch(() => importError('mysql2/promise'));\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: Mysql2Config | string }\n\t\t\t\t\t& MySql2DrizzleConfig;\n\n\t\t\t\tconst instance = createPool(connection as Mysql2Config);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst connectionString = params[0]!;\n\t\t\tconst instance = createPool(connectionString);\n\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'neon-http': {\n\t\t\tconst { neon } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-http');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as { connection: MonodriverNeonHttpConfig } & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { connectionString, options } = connection;\n\n\t\t\t\t\tconst instance = neon(connectionString, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\t\tdb.$client = instance;\n\n\t\t\t\t\treturn db;\n\t\t\t\t}\n\n\t\t\t\tconst instance = neon(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = neon(params[0]!);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { Pool, neonConfig } = await import('@neondatabase/serverless').catch(() =>\n\t\t\t\timportError('@neondatabase/serverless')\n\t\t\t);\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = new Pool({\n\t\t\t\t\tconnectionString: params[0],\n\t\t\t\t});\n\n\t\t\t\tconst db = drizzle(instance) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ws, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection?: NeonServerlessConfig | string;\n\t\t\t\t\tws?: any;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (ws) {\n\t\t\t\t\tneonConfig.webSocketConstructor = ws;\n\t\t\t\t}\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new Pool({\n\t\t\t\t\t\tconnectionString: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new Pool(connection);\n\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Pool();\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'planetscale': {\n\t\t\tconst { Client } = await import('@planetscale/database').catch(() => importError('@planetscale/database'));\n\t\t\tconst { drizzle } = await import('./planetscale-serverless');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: PlanetscaleConfig | string }\n\t\t\t\t\t& DrizzleConfig;\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new Client({\n\t\t\t\t\t\turl: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new Client(\n\t\t\t\t\t\tconnection,\n\t\t\t\t\t);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Client({\n\t\t\t\turl: params[0],\n\t\t\t});\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'postgres-js': {\n\t\t\tconst { default: client } = await import('postgres').catch(() => importError('postgres'));\n\t\t\tconst { drizzle } = await import('./postgres-js');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tconst instance = client(connection);\n\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = client(params[0]!);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'tidb-serverless': {\n\t\t\tconst { connect } = await import('@tidbcloud/serverless').catch(() => importError('@tidbcloud/serverless'));\n\t\t\tconst { drizzle } = await import('./tidb-serverless');\n\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = connect({\n\t\t\t\t\turl: params[0],\n\t\t\t\t});\n\t\t\t\tconst db = drizzle(instance) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t& { connection: TiDBServerlessConfig | string }\n\t\t\t\t& DrizzleConfig;\n\n\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t? connect({\n\t\t\t\t\turl: connection,\n\t\t\t\t})\n\t\t\t\t: connect(connection);\n\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'vercel-postgres': {\n\t\t\tconst drizzleConfig = params[0] as DrizzleConfig | undefined;\n\t\t\tconst { sql } = await import('@vercel/postgres').catch(() => importError('@vercel/postgres'));\n\t\t\tconst { drizzle } = await import('./vercel-postgres');\n\n\t\t\tconst db = drizzle(sql, drizzleConfig) as any;\n\t\t\tdb.$client = sql;\n\n\t\t\treturn db;\n\t\t}\n\t}\n\n\tassertUnreachable(client);\n}\n"],"mappings":"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","names":["drizzle","instance","db","client"]}
1
+ {"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClient, RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Client as LibsqlClient, Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tNeonQueryFunction,\n\tPool as NeonServerlessPool,\n\tPoolConfig as NeonServerlessConfig,\n\tQueryResult,\n\tQueryResultRow,\n} from '@neondatabase/serverless';\nimport type { Client as PlanetscaleClient, Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig, Connection as TiDBConnection } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Database as BetterSQLite3Database, Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { Database as BunDatabase } from 'bun:sqlite';\nimport type { Pool as Mysql2Pool, PoolOptions as Mysql2Config } from 'mysql2';\nimport type { Pool as NodePgPool, PoolConfig as NodePgPoolConfig } from 'pg';\nimport type {\n\tOptions as PostgresJSOptions,\n\tPostgresType as PostgresJSPostgresType,\n\tSql as PostgresJsClient,\n} from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } from './aws-data-api/pg/index.ts';\nimport type { BetterSQLite3Database as DrizzleBetterSQLite3Database } from './better-sqlite3/index.ts';\nimport type { BunSQLiteDatabase } from './bun-sqlite/index.ts';\nimport type { AnyD1Database, DrizzleD1Database } from './d1/index.ts';\nimport type { LibSQLDatabase } from './libsql/index.ts';\nimport type { MySql2Database, MySql2DrizzleConfig } from './mysql2/index.ts';\nimport type { NeonHttpDatabase } from './neon-http/index.ts';\nimport type { NeonDatabase } from './neon-serverless/index.ts';\nimport type { NodePgDatabase } from './node-postgres/driver.ts';\nimport type { PlanetScaleDatabase } from './planetscale-serverless/index.ts';\nimport type { PostgresJsDatabase } from './postgres-js/index.ts';\nimport type { TiDBServerlessDatabase } from './tidb-serverless/index.ts';\nimport type { DrizzleConfig, IfNotImported } from './utils.ts';\nimport type { VercelPgDatabase } from './vercel-postgres/index.ts';\n\ntype BunSqliteDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\ntype BunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & BunSqliteDatabaseOptions)\n\t| string\n\t| undefined;\n\ntype BetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & BetterSQLite3Options)\n\t| string\n\t| undefined;\n\ntype MonodriverNeonHttpConfig =\n\t| ({\n\t\tconnectionString: string;\n\t} & NeonHttpConfig<boolean, boolean>)\n\t| string;\n\ntype AwsDataApiConnectionConfig = RDSConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\ntype DatabaseClient =\n\t| 'node-postgres'\n\t| 'postgres-js'\n\t| 'neon-websocket'\n\t| 'neon-http'\n\t| 'vercel-postgres'\n\t| 'aws-data-api-pg'\n\t| 'planetscale'\n\t| 'mysql2'\n\t| 'tidb-serverless'\n\t| 'libsql'\n\t| 'turso'\n\t| 'd1'\n\t| 'bun:sqlite'\n\t| 'better-sqlite3';\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'node-postgres': NodePgDatabase<TSchema>;\n\t'postgres-js': PostgresJsDatabase<TSchema>;\n\t'neon-websocket': NeonDatabase<TSchema>;\n\t'neon-http': NeonHttpDatabase<TSchema>;\n\t'vercel-postgres': VercelPgDatabase<TSchema>;\n\t'aws-data-api-pg': AwsDataApiPgDatabase<TSchema>;\n\tplanetscale: PlanetScaleDatabase<TSchema>;\n\tmysql2: MySql2Database<TSchema>;\n\t'tidb-serverless': TiDBServerlessDatabase<TSchema>;\n\tlibsql: LibSQLDatabase<TSchema>;\n\tturso: LibSQLDatabase<TSchema>;\n\td1: DrizzleD1Database<TSchema>;\n\t'bun:sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': DrizzleBetterSQLite3Database<TSchema>;\n};\n\ntype Primitive = string | number | boolean | undefined | null;\n\ntype ClientInstanceMap = {\n\t'node-postgres': NodePgPool;\n\t'postgres-js': PostgresJsClient;\n\t'neon-websocket': NeonServerlessPool;\n\t'neon-http': NeonQueryFunction<boolean, boolean>;\n\t'vercel-postgres':\n\t\t& VercelPool\n\t\t& (<O extends QueryResultRow>(strings: TemplateStringsArray, ...values: Primitive[]) => Promise<QueryResult<O>>);\n\t'aws-data-api-pg': RDSDataClient;\n\tplanetscale: PlanetscaleClient;\n\tmysql2: Mysql2Pool;\n\t'tidb-serverless': TiDBConnection;\n\tlibsql: LibsqlClient;\n\tturso: LibsqlClient;\n\td1: AnyD1Database;\n\t'bun:sqlite': BunDatabase;\n\t'better-sqlite3': BetterSQLite3Database;\n};\n\ntype ClientTypeImportErrorMap = {\n\t'node-postgres': 'pg`, `@types/pg';\n\t'postgres-js': 'postgres';\n\t'neon-websocket': '@neondatabase/serverless';\n\t'neon-http': '@neondatabase/serverless';\n\t'vercel-postgres': '@vercel/postgres';\n\t'aws-data-api-pg': '@aws-sdk/client-rds-data';\n\tplanetscale: '@planetscale/database';\n\tmysql2: 'mysql2';\n\t'tidb-serverless': '@tidbcloud/serverless';\n\tlibsql: '@libsql/client';\n\tturso: '@libsql/client';\n\td1: '@cloudflare/workers-types` or `@miniflare/d1';\n\t'bun:sqlite': 'bun-types';\n\t'better-sqlite3': 'better-sqlite3';\n};\n\ntype ImportTypeError<TClient extends DatabaseClient> =\n\t`Please install \\`${ClientTypeImportErrorMap[TClient]}\\` for Drizzle ORM to connect to database`;\n\ntype InitializerParams = {\n\t'node-postgres': {\n\t\tconnection: string | NodePgPoolConfig;\n\t};\n\t'postgres-js': {\n\t\tconnection: string | ({ url?: string } & PostgresJSOptions<Record<string, PostgresJSPostgresType>>);\n\t};\n\t'neon-websocket': {\n\t\tconnection: string | NeonServerlessConfig;\n\t};\n\t'neon-http': {\n\t\tconnection: MonodriverNeonHttpConfig;\n\t};\n\t'vercel-postgres': {};\n\t'aws-data-api-pg': {\n\t\tconnection: AwsDataApiConnectionConfig;\n\t};\n\tplanetscale: {\n\t\tconnection: PlanetscaleConfig | string;\n\t};\n\tmysql2: {\n\t\tconnection: Mysql2Config | string;\n\t};\n\t'tidb-serverless': {\n\t\tconnection: TiDBServerlessConfig | string;\n\t};\n\tlibsql: {\n\t\tconnection: LibsqlConfig | string;\n\t};\n\tturso: {\n\t\tconnection: LibsqlConfig | string;\n\t};\n\td1: {\n\t\tconnection: AnyD1Database;\n\t};\n\t'bun:sqlite': {\n\t\tconnection?: BunSqliteDatabaseConfig;\n\t};\n\t'better-sqlite3': {\n\t\tconnection?: BetterSQLite3DatabaseConfig;\n\t};\n};\n\ntype DetermineClient<\n\tTClient extends DatabaseClient,\n\tTSchema extends Record<string, unknown>,\n> =\n\t& ClientDrizzleInstanceMap<\n\t\tTSchema\n\t>[TClient]\n\t& {\n\t\t$client: ClientInstanceMap[TClient];\n\t};\n\nconst importError = (libName: string) => {\n\tthrow new Error(\n\t\t`Please install '${libName}' for Drizzle ORM to connect to database`,\n\t);\n};\n\nfunction assertUnreachable(_: never | undefined): never {\n\tthrow new Error(\"Didn't expect to get here\");\n}\n\nexport async function drizzle<\n\tTClient extends DatabaseClient,\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\tclient: TClient,\n\t...params: TClient extends 'bun:sqlite' | 'better-sqlite3' ? (\n\t\t\t[] | [\n\t\t\t\t(\n\t\t\t\t\t& IfNotImported<\n\t\t\t\t\t\tClientInstanceMap[TClient],\n\t\t\t\t\t\t{ connection: ImportTypeError<TClient> },\n\t\t\t\t\t\tInitializerParams[TClient]\n\t\t\t\t\t>\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t),\n\t\t\t] | [string]\n\t\t)\n\t\t: TClient extends 'vercel-postgres' ? ([] | [\n\t\t\t\t(\n\t\t\t\t\t& IfNotImported<\n\t\t\t\t\t\tClientInstanceMap[TClient],\n\t\t\t\t\t\t{ connection: ImportTypeError<TClient> },\n\t\t\t\t\t\tInitializerParams[TClient]\n\t\t\t\t\t>\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t),\n\t\t\t])\n\t\t: TClient extends\n\t\t\t'postgres-js' | 'tidb-serverless' | 'libsql' | 'turso' | 'planetscale' | 'neon-http' | 'node-postgres' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& IfNotImported<\n\t\t\t\t\t\t\tClientInstanceMap[TClient],\n\t\t\t\t\t\t\t{ connection: ImportTypeError<TClient> },\n\t\t\t\t\t\t\tInitializerParams[TClient]\n\t\t\t\t\t\t>\n\t\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [string]\n\t\t\t)\n\t\t: TClient extends 'mysql2' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& IfNotImported<\n\t\t\t\t\t\t\tClientInstanceMap[TClient],\n\t\t\t\t\t\t\t{ connection: ImportTypeError<TClient> },\n\t\t\t\t\t\t\tInitializerParams[TClient]\n\t\t\t\t\t\t>\n\t\t\t\t\t\t& MySql2DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [string]\n\t\t\t)\n\t\t: TClient extends 'neon-websocket' ? (\n\t\t\t\t| [\n\t\t\t\t\t& IfNotImported<\n\t\t\t\t\t\tClientInstanceMap[TClient],\n\t\t\t\t\t\t{ connection: ImportTypeError<TClient> },\n\t\t\t\t\t\tInitializerParams[TClient]\n\t\t\t\t\t>\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t\t& {\n\t\t\t\t\t\tws?: any;\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t\t| [string]\n\t\t\t)\n\t\t: [\n\t\t\t(\n\t\t\t\t& IfNotImported<\n\t\t\t\t\tClientInstanceMap[TClient],\n\t\t\t\t\t{ connection: ImportTypeError<TClient> },\n\t\t\t\t\tInitializerParams[TClient]\n\t\t\t\t>\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t),\n\t\t]\n): Promise<DetermineClient<TClient, TSchema>> {\n\tswitch (client) {\n\t\tcase 'node-postgres': {\n\t\t\tconst defpg = await import('pg').catch(() => importError('pg'));\n\t\t\tconst { drizzle } = await import('./node-postgres');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: NodePgPoolConfig | string }\n\t\t\t\t\t& DrizzleConfig;\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new defpg.default.Pool({\n\t\t\t\t\t\tconnectionString: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new defpg.default.Pool(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = typeof params[0] === 'string'\n\t\t\t\t? new defpg.default.Pool({\n\t\t\t\t\tconnectionString: params[0],\n\t\t\t\t})\n\t\t\t\t: new defpg.default.Pool(params[0]);\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'aws-data-api-pg': {\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\tconnection: AwsDataApiConnectionConfig;\n\t\t\t} & DrizzleConfig<TSchema>;\n\t\t\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\t\t\tconst { RDSDataClient } = await import('@aws-sdk/client-rds-data').catch(() =>\n\t\t\t\timportError('@aws-sdk/client-rds-data')\n\t\t\t);\n\t\t\tconst { drizzle } = await import('./aws-data-api/pg');\n\n\t\t\tconst instance = new RDSDataClient(rdsConfig);\n\t\t\tconst db = drizzle(instance, { resourceArn, database, secretArn, ...drizzleConfig });\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'better-sqlite3': {\n\t\t\tconst { default: Client } = await import('better-sqlite3').catch(() => importError('better-sqlite3'));\n\t\t\tconst { drizzle } = await import('./better-sqlite3');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: BetterSQLite3DatabaseConfig;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { source, ...options } = connection;\n\n\t\t\t\t\tconst instance = new Client(source, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\t\treturn db as any;\n\t\t\t\t}\n\n\t\t\t\tconst instance = new Client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client(params[0]);\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'bun:sqlite': {\n\t\t\tconst { Database: Client } = await import('bun:sqlite').catch(() => {\n\t\t\t\tthrow new Error(`Please use bun to use 'bun:sqlite' for Drizzle ORM to connect to database`);\n\t\t\t});\n\t\t\tconst { drizzle } = await import('./bun-sqlite');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: BunSqliteDatabaseConfig | string | undefined;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { source, ...opts } = connection;\n\n\t\t\t\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\t\t\t\tconst instance = new Client(source, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\t\treturn db as any;\n\t\t\t\t}\n\n\t\t\t\tconst instance = new Client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client(params[0]);\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as { connection: AnyD1Database } & DrizzleConfig;\n\n\t\t\tconst { drizzle } = await import('./d1');\n\n\t\t\tconst db = drizzle(connection, drizzleConfig);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'libsql':\n\t\tcase 'turso': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = createClient({\n\t\t\t\t\turl: params[0],\n\t\t\t\t});\n\t\t\t\tconst db = drizzle(instance);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as any as { connection: LibsqlConfig } & DrizzleConfig;\n\n\t\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection);\n\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createPool } = await import('mysql2/promise').catch(() => importError('mysql2'));\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: Mysql2Config | string }\n\t\t\t\t\t& MySql2DrizzleConfig;\n\n\t\t\t\tconst instance = createPool(connection as Mysql2Config);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst connectionString = params[0]!;\n\t\t\tconst instance = createPool(connectionString);\n\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'neon-http': {\n\t\t\tconst { neon } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-http');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as { connection: MonodriverNeonHttpConfig } & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { connectionString, ...options } = connection;\n\n\t\t\t\t\tconst instance = neon(connectionString, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\t\treturn db as any;\n\t\t\t\t}\n\n\t\t\t\tconst instance = neon(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = neon(params[0]!);\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'neon-websocket': {\n\t\t\tconst { Pool, neonConfig } = await import('@neondatabase/serverless').catch(() =>\n\t\t\t\timportError('@neondatabase/serverless')\n\t\t\t);\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = new Pool({\n\t\t\t\t\tconnectionString: params[0],\n\t\t\t\t});\n\n\t\t\t\tconst db = drizzle(instance);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ws, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection?: NeonServerlessConfig | string;\n\t\t\t\t\tws?: any;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (ws) {\n\t\t\t\t\tneonConfig.webSocketConstructor = ws;\n\t\t\t\t}\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new Pool({\n\t\t\t\t\t\tconnectionString: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new Pool(connection);\n\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = new Pool();\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'planetscale': {\n\t\t\tconst { Client } = await import('@planetscale/database').catch(() => importError('@planetscale/database'));\n\t\t\tconst { drizzle } = await import('./planetscale-serverless');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: PlanetscaleConfig | string }\n\t\t\t\t\t& DrizzleConfig;\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new Client({\n\t\t\t\t\t\turl: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new Client(\n\t\t\t\t\t\tconnection,\n\t\t\t\t\t);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client({\n\t\t\t\turl: params[0],\n\t\t\t});\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'postgres-js': {\n\t\t\tconst { default: client } = await import('postgres').catch(() => importError('postgres'));\n\t\t\tconst { drizzle } = await import('./postgres-js');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: { url?: string } & PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\t\t\tconst { url, ...config } = connection;\n\n\t\t\t\t\tconst instance = client(url, config);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\t\treturn db as any;\n\t\t\t\t}\n\n\t\t\t\tconst instance = client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst instance = client(params[0]!);\n\t\t\tconst db = drizzle(instance);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'tidb-serverless': {\n\t\t\tconst { connect } = await import('@tidbcloud/serverless').catch(() => importError('@tidbcloud/serverless'));\n\t\t\tconst { drizzle } = await import('./tidb-serverless');\n\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = connect({\n\t\t\t\t\turl: params[0],\n\t\t\t\t});\n\t\t\t\tconst db = drizzle(instance);\n\n\t\t\t\treturn db as any;\n\t\t\t}\n\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t& { connection: TiDBServerlessConfig | string }\n\t\t\t\t& DrizzleConfig;\n\n\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t? connect({\n\t\t\t\t\turl: connection,\n\t\t\t\t})\n\t\t\t\t: connect(connection);\n\t\t\tconst db = drizzle(instance, drizzleConfig);\n\n\t\t\treturn db as any;\n\t\t}\n\t\tcase 'vercel-postgres': {\n\t\t\tconst drizzleConfig = params[0] as DrizzleConfig | undefined;\n\t\t\tconst { sql } = await import('@vercel/postgres').catch(() => importError('@vercel/postgres'));\n\t\t\tconst { drizzle } = await import('./vercel-postgres');\n\n\t\t\tconst db = drizzle(sql, drizzleConfig);\n\n\t\t\treturn db as any;\n\t\t}\n\t}\n\n\tassertUnreachable(client);\n}\n"],"mappings":"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","names":["drizzle","instance","db","client"]}
package/monodriver.d.cts CHANGED
@@ -1,6 +1,5 @@
1
- /// <reference types="@cloudflare/workers-types" />
2
- /// <reference types="node" />
3
1
  /// <reference types="bun-types" />
2
+ /// <reference types="node" />
4
3
  import type { RDSDataClient, RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';
5
4
  import type { Client as LibsqlClient, Config as LibsqlConfig } from '@libsql/client';
6
5
  import type { HTTPTransactionOptions as NeonHttpConfig, NeonQueryFunction, Pool as NeonServerlessPool, PoolConfig as NeonServerlessConfig, QueryResult, QueryResultRow } from '@neondatabase/serverless';
@@ -15,7 +14,7 @@ import type { Options as PostgresJSOptions, PostgresType as PostgresJSPostgresTy
15
14
  import type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } from "./aws-data-api/pg/index.cjs";
16
15
  import type { BetterSQLite3Database as DrizzleBetterSQLite3Database } from "./better-sqlite3/index.cjs";
17
16
  import type { BunSQLiteDatabase } from "./bun-sqlite/index.cjs";
18
- import type { DrizzleD1Database } from "./d1/index.cjs";
17
+ import type { AnyD1Database, DrizzleD1Database } from "./d1/index.cjs";
19
18
  import type { LibSQLDatabase } from "./libsql/index.cjs";
20
19
  import type { MySql2Database, MySql2DrizzleConfig } from "./mysql2/index.cjs";
21
20
  import type { NeonHttpDatabase } from "./neon-http/index.cjs";
@@ -24,9 +23,9 @@ import type { NodePgDatabase } from "./node-postgres/driver.cjs";
24
23
  import type { PlanetScaleDatabase } from "./planetscale-serverless/index.cjs";
25
24
  import type { PostgresJsDatabase } from "./postgres-js/index.cjs";
26
25
  import type { TiDBServerlessDatabase } from "./tidb-serverless/index.cjs";
27
- import type { DrizzleConfig } from "./utils.cjs";
26
+ import type { DrizzleConfig, IfNotImported } from "./utils.cjs";
28
27
  import type { VercelPgDatabase } from "./vercel-postgres/index.cjs";
29
- type BunSqliteDatabaseOptions = number | {
28
+ type BunSqliteDatabaseOptions = {
30
29
  /**
31
30
  * Open the database as read-only (no write operations, no create).
32
31
  *
@@ -46,23 +45,21 @@ type BunSqliteDatabaseOptions = number | {
46
45
  */
47
46
  readwrite?: boolean;
48
47
  };
49
- type BunSqliteDatabaseConfig = {
50
- filename?: ':memory:' | (string & {});
51
- options?: BunSqliteDatabaseOptions;
52
- } | ':memory:' | (string & {}) | undefined;
53
- type BetterSQLite3DatabaseConfig = {
54
- filename?: ':memory:' | (string & {}) | Buffer;
55
- options?: BetterSQLite3Options;
56
- } | ':memory:' | (string & {}) | undefined;
57
- type MonodriverNeonHttpConfig = {
48
+ type BunSqliteDatabaseConfig = ({
49
+ source?: string;
50
+ } & BunSqliteDatabaseOptions) | string | undefined;
51
+ type BetterSQLite3DatabaseConfig = ({
52
+ source?: string | Buffer;
53
+ } & BetterSQLite3Options) | string | undefined;
54
+ type MonodriverNeonHttpConfig = ({
58
55
  connectionString: string;
59
- options?: NeonHttpConfig<boolean, boolean>;
60
- } | string;
61
- type DatabaseClient = 'node-postgres' | 'postgres-js' | 'neon-serverless' | 'neon-http' | 'vercel-postgres' | 'aws-data-api-pg' | 'planetscale' | 'mysql2' | 'tidb-serverless' | 'libsql' | 'turso' | 'd1' | 'bun:sqlite' | 'better-sqlite3';
56
+ } & NeonHttpConfig<boolean, boolean>) | string;
57
+ type AwsDataApiConnectionConfig = RDSConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;
58
+ type DatabaseClient = 'node-postgres' | 'postgres-js' | 'neon-websocket' | 'neon-http' | 'vercel-postgres' | 'aws-data-api-pg' | 'planetscale' | 'mysql2' | 'tidb-serverless' | 'libsql' | 'turso' | 'd1' | 'bun:sqlite' | 'better-sqlite3';
62
59
  type ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {
63
60
  'node-postgres': NodePgDatabase<TSchema>;
64
61
  'postgres-js': PostgresJsDatabase<TSchema>;
65
- 'neon-serverless': NeonDatabase<TSchema>;
62
+ 'neon-websocket': NeonDatabase<TSchema>;
66
63
  'neon-http': NeonHttpDatabase<TSchema>;
67
64
  'vercel-postgres': VercelPgDatabase<TSchema>;
68
65
  'aws-data-api-pg': AwsDataApiPgDatabase<TSchema>;
@@ -79,7 +76,7 @@ type Primitive = string | number | boolean | undefined | null;
79
76
  type ClientInstanceMap = {
80
77
  'node-postgres': NodePgPool;
81
78
  'postgres-js': PostgresJsClient;
82
- 'neon-serverless': NeonServerlessPool;
79
+ 'neon-websocket': NeonServerlessPool;
83
80
  'neon-http': NeonQueryFunction<boolean, boolean>;
84
81
  'vercel-postgres': VercelPool & (<O extends QueryResultRow>(strings: TemplateStringsArray, ...values: Primitive[]) => Promise<QueryResult<O>>);
85
82
  'aws-data-api-pg': RDSDataClient;
@@ -88,26 +85,45 @@ type ClientInstanceMap = {
88
85
  'tidb-serverless': TiDBConnection;
89
86
  libsql: LibsqlClient;
90
87
  turso: LibsqlClient;
91
- d1: D1Database;
88
+ d1: AnyD1Database;
92
89
  'bun:sqlite': BunDatabase;
93
90
  'better-sqlite3': BetterSQLite3Database;
94
91
  };
92
+ type ClientTypeImportErrorMap = {
93
+ 'node-postgres': 'pg`, `@types/pg';
94
+ 'postgres-js': 'postgres';
95
+ 'neon-websocket': '@neondatabase/serverless';
96
+ 'neon-http': '@neondatabase/serverless';
97
+ 'vercel-postgres': '@vercel/postgres';
98
+ 'aws-data-api-pg': '@aws-sdk/client-rds-data';
99
+ planetscale: '@planetscale/database';
100
+ mysql2: 'mysql2';
101
+ 'tidb-serverless': '@tidbcloud/serverless';
102
+ libsql: '@libsql/client';
103
+ turso: '@libsql/client';
104
+ d1: '@cloudflare/workers-types` or `@miniflare/d1';
105
+ 'bun:sqlite': 'bun-types';
106
+ 'better-sqlite3': 'better-sqlite3';
107
+ };
108
+ type ImportTypeError<TClient extends DatabaseClient> = `Please install \`${ClientTypeImportErrorMap[TClient]}\` for Drizzle ORM to connect to database`;
95
109
  type InitializerParams = {
96
110
  'node-postgres': {
97
- connection?: string | NodePgPoolConfig;
111
+ connection: string | NodePgPoolConfig;
98
112
  };
99
113
  'postgres-js': {
100
- connection: string | PostgresJSOptions<Record<string, PostgresJSPostgresType>>;
114
+ connection: string | ({
115
+ url?: string;
116
+ } & PostgresJSOptions<Record<string, PostgresJSPostgresType>>);
101
117
  };
102
- 'neon-serverless': {
103
- connection?: string | NeonServerlessConfig;
118
+ 'neon-websocket': {
119
+ connection: string | NeonServerlessConfig;
104
120
  };
105
121
  'neon-http': {
106
122
  connection: MonodriverNeonHttpConfig;
107
123
  };
108
124
  'vercel-postgres': {};
109
125
  'aws-data-api-pg': {
110
- connection?: RDSConfig;
126
+ connection: AwsDataApiConnectionConfig;
111
127
  };
112
128
  planetscale: {
113
129
  connection: PlanetscaleConfig | string;
@@ -125,7 +141,7 @@ type InitializerParams = {
125
141
  connection: LibsqlConfig | string;
126
142
  };
127
143
  d1: {
128
- connection: D1Database;
144
+ connection: AnyD1Database;
129
145
  };
130
146
  'bun:sqlite': {
131
147
  connection?: BunSqliteDatabaseConfig;
@@ -139,36 +155,30 @@ type DetermineClient<TClient extends DatabaseClient, TSchema extends Record<stri
139
155
  };
140
156
  export declare function drizzle<TClient extends DatabaseClient, TSchema extends Record<string, unknown> = Record<string, never>>(client: TClient, ...params: TClient extends 'bun:sqlite' | 'better-sqlite3' ? ([
141
157
  ] | [
142
- (InitializerParams[TClient] & DrizzleConfig<TSchema>)
143
- ] | [
144
- ':memory:'
145
- ] | [
146
- (string & {})
147
- ]) : TClient extends 'vercel-postgres' ? ([] | [
148
- (InitializerParams[TClient] & DrizzleConfig<TSchema>)
149
- ]) : TClient extends 'node-postgres' ? ([
150
- (InitializerParams[TClient] & DrizzleConfig<TSchema>)
151
- ] | [
152
- string
153
- ]) : TClient extends 'postgres-js' | 'tidb-serverless' | 'libsql' | 'turso' | 'planetscale' ? ([
154
- (InitializerParams[TClient] & DrizzleConfig<TSchema>)
155
- ] | [
156
- string
157
- ]) : TClient extends 'mysql2' ? ([
158
- (InitializerParams[TClient] & MySql2DrizzleConfig<TSchema>)
159
- ] | [
160
- string
161
- ]) : TClient extends 'aws-data-api-pg' ? [
162
- InitializerParams[TClient] & DrizzleAwsDataApiPgConfig<TSchema>
163
- ] : TClient extends 'neon-serverless' ? ([
164
- InitializerParams[TClient] & DrizzleConfig<TSchema> & {
158
+ (IfNotImported<ClientInstanceMap[TClient], {
159
+ connection: ImportTypeError<TClient>;
160
+ }, InitializerParams[TClient]> & DrizzleConfig<TSchema>)
161
+ ] | [string]) : TClient extends 'vercel-postgres' ? ([] | [
162
+ (IfNotImported<ClientInstanceMap[TClient], {
163
+ connection: ImportTypeError<TClient>;
164
+ }, InitializerParams[TClient]> & DrizzleConfig<TSchema>)
165
+ ]) : TClient extends 'postgres-js' | 'tidb-serverless' | 'libsql' | 'turso' | 'planetscale' | 'neon-http' | 'node-postgres' ? ([
166
+ (IfNotImported<ClientInstanceMap[TClient], {
167
+ connection: ImportTypeError<TClient>;
168
+ }, InitializerParams[TClient]> & DrizzleConfig<TSchema>)
169
+ ] | [string]) : TClient extends 'mysql2' ? ([
170
+ (IfNotImported<ClientInstanceMap[TClient], {
171
+ connection: ImportTypeError<TClient>;
172
+ }, InitializerParams[TClient]> & MySql2DrizzleConfig<TSchema>)
173
+ ] | [string]) : TClient extends 'neon-websocket' ? ([
174
+ IfNotImported<ClientInstanceMap[TClient], {
175
+ connection: ImportTypeError<TClient>;
176
+ }, InitializerParams[TClient]> & DrizzleConfig<TSchema> & {
165
177
  ws?: any;
166
178
  }
167
- ] | [string] | []) : TClient extends 'neon-http' ? ([
168
- InitializerParams[TClient] & DrizzleConfig<TSchema>
169
- ] | [
170
- string
171
- ]) : [
172
- (InitializerParams[TClient] & DrizzleConfig<TSchema>)
179
+ ] | [string]) : [
180
+ (IfNotImported<ClientInstanceMap[TClient], {
181
+ connection: ImportTypeError<TClient>;
182
+ }, InitializerParams[TClient]> & DrizzleConfig<TSchema>)
173
183
  ]): Promise<DetermineClient<TClient, TSchema>>;
174
184
  export {};