drizzle-orm 0.25.2 → 0.25.3-4cc2d87

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 (249) hide show
  1. package/aws-data-api/pg/index.cjs +234 -1
  2. package/aws-data-api/pg/index.cjs.map +1 -1
  3. package/aws-data-api/pg/index.d.ts +5 -6
  4. package/aws-data-api/pg/index.mjs +228 -1
  5. package/aws-data-api/pg/index.mjs.map +1 -1
  6. package/aws-data-api/pg/migrator.cjs +13 -1
  7. package/aws-data-api/pg/migrator.cjs.map +1 -1
  8. package/aws-data-api/pg/migrator.d.ts +5 -6
  9. package/aws-data-api/pg/migrator.mjs +11 -1
  10. package/aws-data-api/pg/migrator.mjs.map +1 -1
  11. package/better-sqlite3/index.cjs +119 -1
  12. package/better-sqlite3/index.cjs.map +1 -1
  13. package/better-sqlite3/index.d.ts +14 -12
  14. package/better-sqlite3/index.mjs +114 -1
  15. package/better-sqlite3/index.mjs.map +1 -1
  16. package/better-sqlite3/migrator.cjs +13 -1
  17. package/better-sqlite3/migrator.cjs.map +1 -1
  18. package/better-sqlite3/migrator.d.ts +5 -5
  19. package/better-sqlite3/migrator.mjs +11 -1
  20. package/better-sqlite3/migrator.mjs.map +1 -1
  21. package/bun-sqlite/index.cjs +126 -1
  22. package/bun-sqlite/index.cjs.map +1 -1
  23. package/bun-sqlite/index.d.ts +14 -12
  24. package/bun-sqlite/index.mjs +121 -1
  25. package/bun-sqlite/index.mjs.map +1 -1
  26. package/bun-sqlite/migrator.cjs +13 -1
  27. package/bun-sqlite/migrator.cjs.map +1 -1
  28. package/bun-sqlite/migrator.d.ts +5 -5
  29. package/bun-sqlite/migrator.mjs +11 -1
  30. package/bun-sqlite/migrator.mjs.map +1 -1
  31. package/{column.d-8b137277.d.ts → column.d-c31e7ad3.d.ts} +77 -6
  32. package/d1/index.cjs +116 -1
  33. package/d1/index.cjs.map +1 -1
  34. package/d1/index.d.ts +15 -12
  35. package/d1/index.mjs +111 -1
  36. package/d1/index.mjs.map +1 -1
  37. package/d1/migrator.cjs +13 -1
  38. package/d1/migrator.cjs.map +1 -1
  39. package/d1/migrator.d.ts +5 -5
  40. package/d1/migrator.mjs +11 -1
  41. package/d1/migrator.mjs.map +1 -1
  42. package/{db.d-ae495c35.d.ts → db.d-a2311092.d.ts} +121 -44
  43. package/{db.d-66553b9e.d.ts → db.d-bc9a1d6c.d.ts} +193 -16
  44. package/driver.d-17ca4c15.d.ts +8 -0
  45. package/driver.d-300ddb0e.d.ts +64 -0
  46. package/driver.d-45e56643.d.ts +60 -0
  47. package/driver.d-64f2125c.d.ts +8 -0
  48. package/driver.d-7fde2e9d.d.ts +55 -0
  49. package/driver.d-9d703b84.d.ts +8 -0
  50. package/driver.d-b2b94bf9.d.ts +46 -0
  51. package/driver.d-b70ee7ee.d.ts +55 -0
  52. package/driver.d-dea23ee6.d.ts +8 -0
  53. package/driver.d-e54af17b.d.ts +52 -0
  54. package/driver.d-eb490c91.d.ts +9 -0
  55. package/driver.d-ef6fa2df.d.ts +14 -0
  56. package/errors-bb636d84.mjs +19 -0
  57. package/errors-bb636d84.mjs.map +1 -0
  58. package/errors-d0192d62.cjs +22 -0
  59. package/errors-d0192d62.cjs.map +1 -0
  60. package/index.cjs +105 -1
  61. package/index.cjs.map +1 -1
  62. package/index.d.ts +16 -432
  63. package/index.mjs +3 -1
  64. package/index.mjs.map +1 -1
  65. package/knex/index.cjs +2 -1
  66. package/knex/index.cjs.map +1 -1
  67. package/knex/index.d.ts +1 -1
  68. package/kysely/index.cjs +2 -1
  69. package/kysely/index.cjs.map +1 -1
  70. package/kysely/index.d.ts +1 -1
  71. package/libsql/index.cjs +155 -1
  72. package/libsql/index.cjs.map +1 -1
  73. package/libsql/index.d.ts +14 -12
  74. package/libsql/index.mjs +150 -1
  75. package/libsql/index.mjs.map +1 -1
  76. package/libsql/migrator.cjs +13 -1
  77. package/libsql/migrator.cjs.map +1 -1
  78. package/libsql/migrator.d.ts +5 -5
  79. package/libsql/migrator.mjs +11 -1
  80. package/libsql/migrator.mjs.map +1 -1
  81. package/logger-caa1ca6e.cjs +34 -0
  82. package/logger-caa1ca6e.cjs.map +1 -0
  83. package/logger-caf75bde.mjs +30 -0
  84. package/logger-caf75bde.mjs.map +1 -0
  85. package/migrator.cjs +48 -1
  86. package/migrator.cjs.map +1 -1
  87. package/migrator.mjs +46 -1
  88. package/migrator.mjs.map +1 -1
  89. package/mysql-core/index.cjs +1004 -1
  90. package/mysql-core/index.cjs.map +1 -1
  91. package/mysql-core/index.d.ts +347 -347
  92. package/mysql-core/index.mjs +869 -1
  93. package/mysql-core/index.mjs.map +1 -1
  94. package/mysql2/index.cjs +230 -1
  95. package/mysql2/index.cjs.map +1 -1
  96. package/mysql2/index.d.ts +5 -6
  97. package/mysql2/index.mjs +223 -1
  98. package/mysql2/index.mjs.map +1 -1
  99. package/mysql2/migrator.cjs +13 -1
  100. package/mysql2/migrator.cjs.map +1 -1
  101. package/mysql2/migrator.d.ts +5 -6
  102. package/mysql2/migrator.mjs +11 -1
  103. package/mysql2/migrator.mjs.map +1 -1
  104. package/neon-serverless/index.cjs +155 -1
  105. package/neon-serverless/index.cjs.map +1 -1
  106. package/neon-serverless/index.d.ts +5 -6
  107. package/neon-serverless/index.mjs +149 -1
  108. package/neon-serverless/index.mjs.map +1 -1
  109. package/neon-serverless/migrator.cjs +13 -1
  110. package/neon-serverless/migrator.cjs.map +1 -1
  111. package/neon-serverless/migrator.d.ts +5 -6
  112. package/neon-serverless/migrator.mjs +11 -1
  113. package/neon-serverless/migrator.mjs.map +1 -1
  114. package/node-postgres/index.cjs +157 -1
  115. package/node-postgres/index.cjs.map +1 -1
  116. package/node-postgres/index.d.ts +5 -6
  117. package/node-postgres/index.mjs +151 -1
  118. package/node-postgres/index.mjs.map +1 -1
  119. package/node-postgres/migrator.cjs +13 -1
  120. package/node-postgres/migrator.cjs.map +1 -1
  121. package/node-postgres/migrator.d.ts +5 -6
  122. package/node-postgres/migrator.mjs +11 -1
  123. package/node-postgres/migrator.mjs.map +1 -1
  124. package/package.json +97 -34
  125. package/pg-core/index.cjs +652 -1
  126. package/pg-core/index.cjs.map +1 -1
  127. package/pg-core/index.d.ts +13 -7
  128. package/pg-core/index.mjs +501 -1
  129. package/pg-core/index.mjs.map +1 -1
  130. package/planetscale-serverless/index.cjs +111 -1
  131. package/planetscale-serverless/index.cjs.map +1 -1
  132. package/planetscale-serverless/index.d.ts +5 -6
  133. package/planetscale-serverless/index.mjs +106 -1
  134. package/planetscale-serverless/index.mjs.map +1 -1
  135. package/planetscale-serverless/migrator.cjs +13 -1
  136. package/planetscale-serverless/migrator.cjs.map +1 -1
  137. package/planetscale-serverless/migrator.d.ts +5 -6
  138. package/planetscale-serverless/migrator.mjs +11 -1
  139. package/planetscale-serverless/migrator.mjs.map +1 -1
  140. package/postgres-js/index.cjs +113 -1
  141. package/postgres-js/index.cjs.map +1 -1
  142. package/postgres-js/index.d.ts +5 -6
  143. package/postgres-js/index.mjs +108 -1
  144. package/postgres-js/index.mjs.map +1 -1
  145. package/postgres-js/migrator.cjs +13 -1
  146. package/postgres-js/migrator.cjs.map +1 -1
  147. package/postgres-js/migrator.d.ts +5 -6
  148. package/postgres-js/migrator.mjs +11 -1
  149. package/postgres-js/migrator.mjs.map +1 -1
  150. package/query-promise.d-e370e0a9.d.ts +617 -0
  151. package/relations-47eb5c5f.mjs +2954 -0
  152. package/relations-47eb5c5f.mjs.map +1 -0
  153. package/relations-5e2d30dd.cjs +3117 -0
  154. package/relations-5e2d30dd.cjs.map +1 -0
  155. package/{select.types.d-c3e86d45.d.ts → select.types.d-34d7f74e.d.ts} +1 -1
  156. package/{select.types.d-adb82002.d.ts → select.types.d-ae2f8e44.d.ts} +58 -14
  157. package/session-483ed08d.mjs +1263 -0
  158. package/session-483ed08d.mjs.map +1 -0
  159. package/session-6bd76405.cjs +362 -0
  160. package/session-6bd76405.cjs.map +1 -0
  161. package/session-a90df8a2.cjs +1252 -0
  162. package/session-a90df8a2.cjs.map +1 -0
  163. package/session-b99382a2.mjs +1223 -0
  164. package/session-b99382a2.mjs.map +1 -0
  165. package/session-c62f6348.cjs +1298 -0
  166. package/session-c62f6348.cjs.map +1 -0
  167. package/session-e8745392.mjs +351 -0
  168. package/session-e8745392.mjs.map +1 -0
  169. package/sql-js/index.cjs +175 -1
  170. package/sql-js/index.cjs.map +1 -1
  171. package/sql-js/index.d.ts +14 -12
  172. package/sql-js/index.mjs +170 -1
  173. package/sql-js/index.mjs.map +1 -1
  174. package/sql-js/migrator.cjs +13 -1
  175. package/sql-js/migrator.cjs.map +1 -1
  176. package/sql-js/migrator.d.ts +5 -5
  177. package/sql-js/migrator.mjs +11 -1
  178. package/sql-js/migrator.mjs.map +1 -1
  179. package/sqlite-core/index.cjs +516 -1
  180. package/sqlite-core/index.cjs.map +1 -1
  181. package/sqlite-core/index.d.ts +6 -5
  182. package/sqlite-core/index.mjs +441 -1
  183. package/sqlite-core/index.mjs.map +1 -1
  184. package/sqlite-proxy/index.cjs +118 -1
  185. package/sqlite-proxy/index.cjs.map +1 -1
  186. package/sqlite-proxy/index.d.ts +12 -11
  187. package/sqlite-proxy/index.mjs +113 -1
  188. package/sqlite-proxy/index.mjs.map +1 -1
  189. package/sqlite-proxy/migrator.cjs +25 -2
  190. package/sqlite-proxy/migrator.cjs.map +1 -1
  191. package/sqlite-proxy/migrator.d.ts +5 -5
  192. package/sqlite-proxy/migrator.mjs +23 -2
  193. package/sqlite-proxy/migrator.mjs.map +1 -1
  194. package/version.cjs +9 -1
  195. package/version.cjs.map +1 -1
  196. package/version.d.ts +1 -1
  197. package/version.mjs +6 -1
  198. package/version.mjs.map +1 -1
  199. package/README.md +0 -150
  200. package/column-builder-592f0191.mjs +0 -2
  201. package/column-builder-592f0191.mjs.map +0 -1
  202. package/column-builder-b48639f3.cjs +0 -2
  203. package/column-builder-b48639f3.cjs.map +0 -1
  204. package/driver.d-0158cd93.d.ts +0 -11
  205. package/driver.d-1f73a4a9.d.ts +0 -70
  206. package/driver.d-2e907d12.d.ts +0 -17
  207. package/driver.d-3781598a.d.ts +0 -11
  208. package/driver.d-3a8adf2a.d.ts +0 -61
  209. package/driver.d-59580d08.d.ts +0 -11
  210. package/driver.d-5f3fc125.d.ts +0 -12
  211. package/driver.d-693f7f9f.d.ts +0 -56
  212. package/driver.d-6c43e393.d.ts +0 -60
  213. package/driver.d-b00fc6ec.d.ts +0 -57
  214. package/driver.d-e4bd120b.d.ts +0 -47
  215. package/driver.d-f4b5b390.d.ts +0 -11
  216. package/index-59b7992d.cjs +0 -2
  217. package/index-59b7992d.cjs.map +0 -1
  218. package/index-b71998f1.mjs +0 -2
  219. package/index-b71998f1.mjs.map +0 -1
  220. package/logger-04bad527.cjs +0 -2
  221. package/logger-04bad527.cjs.map +0 -1
  222. package/logger-2598bf05.mjs +0 -2
  223. package/logger-2598bf05.mjs.map +0 -1
  224. package/logger.d-37185354.d.ts +0 -21
  225. package/query-builder-2f2e8229.cjs +0 -2
  226. package/query-builder-2f2e8229.cjs.map +0 -1
  227. package/query-builder-2fcde2f0.mjs +0 -2
  228. package/query-builder-2fcde2f0.mjs.map +0 -1
  229. package/query-promise-2c5b43ab.cjs +0 -2
  230. package/query-promise-2c5b43ab.cjs.map +0 -1
  231. package/query-promise-a65edd44.mjs +0 -2
  232. package/query-promise-a65edd44.mjs.map +0 -1
  233. package/query-promise.d-a8af8583.d.ts +0 -9
  234. package/session-8a621f09.mjs +0 -8
  235. package/session-8a621f09.mjs.map +0 -1
  236. package/session-b6939bab.cjs +0 -14
  237. package/session-b6939bab.cjs.map +0 -1
  238. package/session-b977ce56.mjs +0 -14
  239. package/session-b977ce56.mjs.map +0 -1
  240. package/session-c891400d.mjs +0 -8
  241. package/session-c891400d.mjs.map +0 -1
  242. package/session-e6db6732.cjs +0 -8
  243. package/session-e6db6732.cjs.map +0 -1
  244. package/session-ef1ef979.cjs +0 -8
  245. package/session-ef1ef979.cjs.map +0 -1
  246. package/utils-9d882195.cjs +0 -2
  247. package/utils-9d882195.cjs.map +0 -1
  248. package/utils-e6870670.mjs +0 -2
  249. package/utils-e6870670.mjs.map +0 -1
@@ -1,24 +1,25 @@
1
- import { S as SqliteRemoteResult, R as RemoteCallback } from '../driver.d-2e907d12.js';
2
- export { A as AsyncRemoteCallback, D as DrizzleConfig, a as SqliteRemoteDatabase, d as drizzle } from '../driver.d-2e907d12.js';
3
- import { L as Logger } from '../logger.d-37185354.js';
4
- import { y as Query } from '../column.d-8b137277.js';
5
- import { S as SQLiteSession, f as SQLiteAsyncDialect, b as SelectedFieldsOrdered, c as SQLiteTransactionConfig, d as SQLiteTransaction, P as PreparedQuery$1, e as PreparedQueryConfig$1 } from '../db.d-ae495c35.js';
6
- import '../select.types.d-c3e86d45.js';
1
+ import { S as SqliteRemoteResult, R as RemoteCallback } from '../driver.d-ef6fa2df.js';
2
+ export { A as AsyncRemoteCallback, a as SqliteRemoteDatabase, d as drizzle } from '../driver.d-ef6fa2df.js';
3
+ import { L as Logger, H as Query } from '../column.d-c31e7ad3.js';
4
+ import { J as TablesRelationalConfig, K as RelationalSchemaConfig } from '../query-promise.d-e370e0a9.js';
5
+ import { S as SQLiteSession, f as SQLiteAsyncDialect, b as SelectedFieldsOrdered, c as SQLiteTransactionConfig, d as SQLiteTransaction, P as PreparedQuery$1, e as PreparedQueryConfig$1 } from '../db.d-a2311092.js';
6
+ import '../select.types.d-34d7f74e.js';
7
7
  import '../migrator.js';
8
8
 
9
9
  interface SQLiteRemoteSessionOptions {
10
10
  logger?: Logger;
11
11
  }
12
12
  type PreparedQueryConfig = Omit<PreparedQueryConfig$1, 'statement' | 'run'>;
13
- declare class SQLiteRemoteSession extends SQLiteSession<'async', SqliteRemoteResult> {
13
+ declare class SQLiteRemoteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', SqliteRemoteResult, TFullSchema, TSchema> {
14
14
  private client;
15
+ private schema;
15
16
  private logger;
16
- constructor(client: RemoteCallback, dialect: SQLiteAsyncDialect, options?: SQLiteRemoteSessionOptions);
17
+ constructor(client: RemoteCallback, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: SQLiteRemoteSessionOptions);
17
18
  prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields?: SelectedFieldsOrdered): PreparedQuery<T>;
18
- transaction<T>(transaction: (tx: SQLiteProxyTransaction) => Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
19
+ transaction<T>(transaction: (tx: SQLiteProxyTransaction<TFullSchema, TSchema>) => Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
19
20
  }
20
- declare class SQLiteProxyTransaction extends SQLiteTransaction<'async', SqliteRemoteResult> {
21
- transaction<T>(transaction: (tx: SQLiteProxyTransaction) => Promise<T>): Promise<T>;
21
+ declare class SQLiteProxyTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', SqliteRemoteResult, TFullSchema, TSchema> {
22
+ transaction<T>(transaction: (tx: SQLiteProxyTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
22
23
  }
23
24
  declare class PreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends PreparedQuery$1<{
24
25
  type: 'async';
@@ -1,2 +1,114 @@
1
- import{N as s,D as t}from"../logger-2598bf05.mjs";import{S as r,a as e,P as i,B as n,c as a}from"../session-b977ce56.mjs";import{s as o,k as l}from"../index-b71998f1.mjs";import{m as c}from"../utils-e6870670.mjs";import"../query-builder-2fcde2f0.mjs";class h extends r{constructor(t,r,e={}){super(r),this.client=t,this.logger=e.logger??new s}prepareQuery(s,t){return new u(this.client,s.sql,s.params,this.logger,t)}async transaction(s,t){const r=new g(this.dialect,this);await this.run(o.raw("begin"+(t?.behavior?" "+t.behavior:"")));try{const t=await s(r);return await this.run(o`commit`),t}catch(s){throw await this.run(o`rollback`),s}}}class g extends e{async transaction(s){const t=`sp${this.nestedIndex}`,r=new g(this.dialect,this.session,this.nestedIndex+1);await this.session.run(o.raw(`savepoint ${t}`));try{const e=await s(r);return await this.session.run(o.raw(`release savepoint ${t}`)),e}catch(s){throw await this.session.run(o.raw(`rollback to savepoint ${t}`)),s}}}class u extends i{constructor(s,t,r,e,i){super(),this.client=s,this.queryString=t,this.params=r,this.logger=e,this.fields=i}async run(s){const t=l(this.params,s??{});return this.logger.logQuery(this.queryString,t),await this.client(this.queryString,t,"run")}async all(s){const{fields:t,queryString:r,logger:e,joinsNotNullableMap:i}=this,n=l(this.params,s??{});e.logQuery(r,n);const a=this.client(r,n,"all");return t?a.then((s=>s.rows.map((s=>c(t,s,i))))):this.client(r,n,"all").then((({rows:s})=>s))}async get(s){const{fields:t,queryString:r,logger:e,joinsNotNullableMap:i}=this,n=l(this.params,s??{});e.logQuery(r,n);const a=await this.client(r,n,"get");return t?void 0===a.rows?c(t,[],i):c(t,a.rows,i):a.rows}async values(s){const t=l(this.params,s??{});this.logger.logQuery(this.queryString,t);return(await this.client(this.queryString,t,"values")).rows}}function w(s,r={}){const e=new a;let i;!0===r.logger?i=new t:!1!==r.logger&&(i=r.logger);const o=new h(s,e,{logger:i});return new n(e,o)}export{u as PreparedQuery,g as SQLiteProxyTransaction,h as SQLiteRemoteSession,w as drizzle};
1
+ import { N as NoopLogger, D as DefaultLogger } from '../logger-caf75bde.mjs';
2
+ import { a6 as sql, a9 as fillPlaceholders, ao as mapResultRow, K as extractTablesRelationalConfig, U as createTableRelationsHelpers } from '../relations-47eb5c5f.mjs';
3
+ import { S as SQLiteSession, a as SQLiteTransaction, P as PreparedQuery$1, B as BaseSQLiteDatabase, c as SQLiteAsyncDialect } from '../session-b99382a2.mjs';
4
+ import '../errors-bb636d84.mjs';
5
+
6
+ class SQLiteRemoteSession extends SQLiteSession {
7
+ constructor(client, dialect, schema, options = {}) {
8
+ super(dialect);
9
+ this.client = client;
10
+ this.schema = schema;
11
+ this.logger = options.logger ?? new NoopLogger();
12
+ }
13
+ prepareQuery(query, fields) {
14
+ return new PreparedQuery(this.client, query.sql, query.params, this.logger, fields);
15
+ }
16
+ async transaction(transaction, config) {
17
+ const tx = new SQLiteProxyTransaction('async', this.dialect, this, this.schema);
18
+ await this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));
19
+ try {
20
+ const result = await transaction(tx);
21
+ await this.run(sql `commit`);
22
+ return result;
23
+ }
24
+ catch (err) {
25
+ await this.run(sql `rollback`);
26
+ throw err;
27
+ }
28
+ }
29
+ }
30
+ class SQLiteProxyTransaction extends SQLiteTransaction {
31
+ async transaction(transaction) {
32
+ const savepointName = `sp${this.nestedIndex}`;
33
+ const tx = new SQLiteProxyTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);
34
+ await this.session.run(sql.raw(`savepoint ${savepointName}`));
35
+ try {
36
+ const result = await transaction(tx);
37
+ await this.session.run(sql.raw(`release savepoint ${savepointName}`));
38
+ return result;
39
+ }
40
+ catch (err) {
41
+ await this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));
42
+ throw err;
43
+ }
44
+ }
45
+ }
46
+ class PreparedQuery extends PreparedQuery$1 {
47
+ constructor(client, queryString, params, logger, fields) {
48
+ super();
49
+ this.client = client;
50
+ this.queryString = queryString;
51
+ this.params = params;
52
+ this.logger = logger;
53
+ this.fields = fields;
54
+ }
55
+ async run(placeholderValues) {
56
+ const params = fillPlaceholders(this.params, placeholderValues ?? {});
57
+ this.logger.logQuery(this.queryString, params);
58
+ return await this.client(this.queryString, params, 'run');
59
+ }
60
+ async all(placeholderValues) {
61
+ const { fields, queryString, logger, joinsNotNullableMap } = this;
62
+ const params = fillPlaceholders(this.params, placeholderValues ?? {});
63
+ logger.logQuery(queryString, params);
64
+ const clientResult = this.client(queryString, params, 'all');
65
+ if (fields) {
66
+ return clientResult.then((values) => values.rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap)));
67
+ }
68
+ return this.client(queryString, params, 'all').then(({ rows }) => rows);
69
+ }
70
+ async get(placeholderValues) {
71
+ const { fields, queryString, logger, joinsNotNullableMap } = this;
72
+ const params = fillPlaceholders(this.params, placeholderValues ?? {});
73
+ logger.logQuery(queryString, params);
74
+ const clientResult = await this.client(queryString, params, 'get');
75
+ if (fields) {
76
+ if (clientResult.rows === undefined) {
77
+ return mapResultRow(fields, [], joinsNotNullableMap);
78
+ }
79
+ return mapResultRow(fields, clientResult.rows, joinsNotNullableMap);
80
+ }
81
+ return clientResult.rows;
82
+ }
83
+ async values(placeholderValues) {
84
+ const params = fillPlaceholders(this.params, placeholderValues ?? {});
85
+ this.logger.logQuery(this.queryString, params);
86
+ const clientResult = await this.client(this.queryString, params, 'values');
87
+ return clientResult.rows;
88
+ }
89
+ }
90
+
91
+ function drizzle(callback, config = {}) {
92
+ const dialect = new SQLiteAsyncDialect();
93
+ let logger;
94
+ if (config.logger === true) {
95
+ logger = new DefaultLogger();
96
+ }
97
+ else if (config.logger !== false) {
98
+ logger = config.logger;
99
+ }
100
+ let schema;
101
+ if (config.schema) {
102
+ const tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);
103
+ schema = {
104
+ fullSchema: config.schema,
105
+ schema: tablesConfig.tables,
106
+ tableNamesMap: tablesConfig.tableNamesMap,
107
+ };
108
+ }
109
+ const session = new SQLiteRemoteSession(callback, dialect, schema, { logger });
110
+ return new BaseSQLiteDatabase('async', dialect, session, schema);
111
+ }
112
+
113
+ export { PreparedQuery, SQLiteProxyTransaction, SQLiteRemoteSession, drizzle };
2
114
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/sqlite-proxy/session.ts","../../src/sqlite-proxy/driver.ts"],"sourcesContent":[null,null],"names":["SQLiteRemoteSession","SQLiteSession","constructor","client","dialect","options","super","this","logger","NoopLogger","prepareQuery","query","fields","PreparedQuery","sql","params","async","transaction","config","tx","SQLiteProxyTransaction","run","raw","behavior","result","err","SQLiteTransaction","savepointName","nestedIndex","session","PreparedQueryBase","queryString","placeholderValues","fillPlaceholders","logQuery","joinsNotNullableMap","clientResult","then","values","rows","map","row","mapResultRow","undefined","drizzle","callback","SQLiteAsyncDialect","DefaultLogger","BaseSQLiteDatabase"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/sqlite-proxy/session.ts","../../src/sqlite-proxy/driver.ts"],"sourcesContent":[null,null],"names":["PreparedQueryBase"],"mappings":"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"}
@@ -1,8 +1,31 @@
1
- "use strict";var e=require("../migrator.cjs"),r=require("../index-59b7992d.cjs");require("node:crypto"),require("node:fs"),require("node:path"),exports.migrate=async function(i,a,t){const s=e.readMigrationFiles(t),o=r.sql`
1
+ 'use strict';
2
+
3
+ var migrator = require('../migrator.cjs');
4
+ var relations = require('../relations-5e2d30dd.cjs');
5
+ require('node:crypto');
6
+ require('node:fs');
7
+ require('node:path');
8
+
9
+ async function migrate(db, callback, config) {
10
+ const migrations = migrator.readMigrationFiles(config);
11
+ const migrationTableCreate = relations.sql `
2
12
  CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (
3
13
  id SERIAL PRIMARY KEY,
4
14
  hash text NOT NULL,
5
15
  created_at numeric
6
16
  )
7
- `;await i.run(o);const d=(await i.values(r.sql`SELECT id, hash, created_at FROM "__drizzle_migrations" ORDER BY created_at DESC LIMIT 1`))[0]??void 0,n=[];for(const e of s)(!d||Number(d[2])<e.folderMillis)&&n.push(...e.sql,`INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES('${e.hash}', '${e.folderMillis}')`);await a(n)};
17
+ `;
18
+ await db.run(migrationTableCreate);
19
+ const dbMigrations = await db.values(relations.sql `SELECT id, hash, created_at FROM "__drizzle_migrations" ORDER BY created_at DESC LIMIT 1`);
20
+ const lastDbMigration = dbMigrations[0] ?? undefined;
21
+ const queriesToRun = [];
22
+ for (const migration of migrations) {
23
+ if (!lastDbMigration || Number(lastDbMigration[2]) < migration.folderMillis) {
24
+ queriesToRun.push(...migration.sql, `INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES('${migration.hash}', '${migration.folderMillis}')`);
25
+ }
26
+ }
27
+ await callback(queriesToRun);
28
+ }
29
+
30
+ exports.migrate = migrate;
8
31
  //# sourceMappingURL=migrator.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","sources":["../../src/sqlite-proxy/migrator.ts"],"sourcesContent":[null],"names":["async","db","callback","config","migrations","readMigrationFiles","migrationTableCreate","sql","run","lastDbMigration","values","undefined","queriesToRun","migration","Number","folderMillis","push","hash"],"mappings":"gKAOOA,eAAuBC,EAA0BC,EAAyBC,GAChF,MAAMC,EAAaC,qBAAmBF,GAEhCG,EAAuBC,EAAAA,GAAG;;;;;;SAQ1BN,EAAGO,IAAIF,GAEb,MAIMG,SAJqBR,EAAGS,OAC7BH,EAAAA,GAAG,6FAGiC,SAAMI,EAErCC,EAAyB,GAC/B,IAAK,MAAMC,KAAaT,IAClBK,GAAmBK,OAAOL,EAAgB,IAAOI,EAAUE,eAC/DH,EAAaI,QACTH,EAAUN,IACb,qEAAqEM,EAAUI,WAAWJ,EAAUE,wBAKjGb,EAASU,EAChB"}
1
+ {"version":3,"file":"migrator.cjs","sources":["../../src/sqlite-proxy/migrator.ts"],"sourcesContent":[null],"names":["readMigrationFiles","sql"],"mappings":";;;;;;;;AAOO,eAAe,OAAO,CAAC,EAAwB,EAAE,QAAuB,EAAE,MAAgC,EAAA;AAChH,IAAA,MAAM,UAAU,GAAGA,2BAAkB,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,oBAAoB,GAAGC,aAAG,CAAA,CAAA;;;;;;EAM/B,CAAC;AAEF,IAAA,MAAM,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,MAAM,CACnCA,aAAG,CAAA,CAA0F,wFAAA,CAAA,CAC7F,CAAC;IAEF,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAErD,MAAM,YAAY,GAAa,EAAE,CAAC;AAClC,IAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AACnC,QAAA,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAE,GAAG,SAAS,CAAC,YAAY,EAAE;AAC7E,YAAA,YAAY,CAAC,IAAI,CAChB,GAAG,SAAS,CAAC,GAAG,EAChB,CAAA,kEAAA,EAAqE,SAAS,CAAC,IAAI,CAAO,IAAA,EAAA,SAAS,CAAC,YAAY,CAAA,EAAA,CAAI,CACpH,CAAC;AACF,SAAA;AACD,KAAA;AAED,IAAA,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC9B;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { MigrationConfig } from '../migrator.js';
2
- import { a as SqliteRemoteDatabase } from '../driver.d-2e907d12.js';
3
- import '../logger.d-37185354.js';
4
- import '../db.d-ae495c35.js';
5
- import '../select.types.d-c3e86d45.js';
6
- import '../column.d-8b137277.js';
2
+ import { a as SqliteRemoteDatabase } from '../driver.d-ef6fa2df.js';
3
+ import '../db.d-a2311092.js';
4
+ import '../select.types.d-34d7f74e.js';
5
+ import '../column.d-c31e7ad3.js';
6
+ import '../query-promise.d-e370e0a9.js';
7
7
 
8
8
  type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;
9
9
  declare function migrate(db: SqliteRemoteDatabase, callback: ProxyMigrator, config: string | MigrationConfig): Promise<void>;
@@ -1,8 +1,29 @@
1
- import{readMigrationFiles as t}from"../migrator.mjs";import{s as i}from"../index-b71998f1.mjs";import"node:crypto";import"node:fs";import"node:path";async function r(r,a,o){const e=t(o),s=i`
1
+ import { readMigrationFiles } from '../migrator.mjs';
2
+ import { a6 as sql } from '../relations-47eb5c5f.mjs';
3
+ import 'node:crypto';
4
+ import 'node:fs';
5
+ import 'node:path';
6
+
7
+ async function migrate(db, callback, config) {
8
+ const migrations = readMigrationFiles(config);
9
+ const migrationTableCreate = sql `
2
10
  CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (
3
11
  id SERIAL PRIMARY KEY,
4
12
  hash text NOT NULL,
5
13
  created_at numeric
6
14
  )
7
- `;await r.run(s);const d=(await r.values(i`SELECT id, hash, created_at FROM "__drizzle_migrations" ORDER BY created_at DESC LIMIT 1`))[0]??void 0,m=[];for(const t of e)(!d||Number(d[2])<t.folderMillis)&&m.push(...t.sql,`INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES('${t.hash}', '${t.folderMillis}')`);await a(m)}export{r as migrate};
15
+ `;
16
+ await db.run(migrationTableCreate);
17
+ const dbMigrations = await db.values(sql `SELECT id, hash, created_at FROM "__drizzle_migrations" ORDER BY created_at DESC LIMIT 1`);
18
+ const lastDbMigration = dbMigrations[0] ?? undefined;
19
+ const queriesToRun = [];
20
+ for (const migration of migrations) {
21
+ if (!lastDbMigration || Number(lastDbMigration[2]) < migration.folderMillis) {
22
+ queriesToRun.push(...migration.sql, `INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES('${migration.hash}', '${migration.folderMillis}')`);
23
+ }
24
+ }
25
+ await callback(queriesToRun);
26
+ }
27
+
28
+ export { migrate };
8
29
  //# sourceMappingURL=migrator.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.mjs","sources":["../../src/sqlite-proxy/migrator.ts"],"sourcesContent":[null],"names":["async","migrate","db","callback","config","migrations","readMigrationFiles","migrationTableCreate","sql","run","lastDbMigration","values","undefined","queriesToRun","migration","Number","folderMillis","push","hash"],"mappings":"qJAOOA,eAAeC,EAAQC,EAA0BC,EAAyBC,GAChF,MAAMC,EAAaC,EAAmBF,GAEhCG,EAAuBC,CAAG;;;;;;SAQ1BN,EAAGO,IAAIF,GAEb,MAIMG,SAJqBR,EAAGS,OAC7BH,CAAG,6FAGiC,SAAMI,EAErCC,EAAyB,GAC/B,IAAK,MAAMC,KAAaT,IAClBK,GAAmBK,OAAOL,EAAgB,IAAOI,EAAUE,eAC/DH,EAAaI,QACTH,EAAUN,IACb,qEAAqEM,EAAUI,WAAWJ,EAAUE,wBAKjGb,EAASU,EAChB"}
1
+ {"version":3,"file":"migrator.mjs","sources":["../../src/sqlite-proxy/migrator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAOO,eAAe,OAAO,CAAC,EAAwB,EAAE,QAAuB,EAAE,MAAgC,EAAA;AAChH,IAAA,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,oBAAoB,GAAG,GAAG,CAAA,CAAA;;;;;;EAM/B,CAAC;AAEF,IAAA,MAAM,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,MAAM,CACnC,GAAG,CAAA,CAA0F,wFAAA,CAAA,CAC7F,CAAC;IAEF,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAErD,MAAM,YAAY,GAAa,EAAE,CAAC;AAClC,IAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AACnC,QAAA,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAE,GAAG,SAAS,CAAC,YAAY,EAAE;AAC7E,YAAA,YAAY,CAAC,IAAI,CAChB,GAAG,SAAS,CAAC,GAAG,EAChB,CAAA,kEAAA,EAAqE,SAAS,CAAC,IAAI,CAAO,IAAA,EAAA,SAAS,CAAC,YAAY,CAAA,EAAA,CAAI,CACpH,CAAC;AACF,SAAA;AACD,KAAA;AAED,IAAA,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC9B;;;;"}
package/version.cjs CHANGED
@@ -1,2 +1,10 @@
1
- "use strict";exports.compatibilityVersion=4,exports.npmVersion="0.25.2";
1
+ 'use strict';
2
+
3
+ const version = "0.25.3-4cc2d87";
4
+
5
+ // @ts-expect-error - imported using Rollup json plugin
6
+ const compatibilityVersion = 4;
7
+
8
+ exports.compatibilityVersion = compatibilityVersion;
9
+ exports.npmVersion = version;
2
10
  //# sourceMappingURL=version.cjs.map
package/version.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":[null],"names":[],"mappings":"0CAEoC"}
1
+ {"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;AAEO,MAAM,oBAAoB,GAAG;;;;;"}
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.25.2";
1
+ const version = "0.25.3-4cc2d87";
2
2
 
3
3
  declare const compatibilityVersion = 4;
4
4
 
package/version.mjs CHANGED
@@ -1,2 +1,7 @@
1
- const n="0.25.2",o=4;export{o as compatibilityVersion,n as npmVersion};
1
+ const version = "0.25.3-4cc2d87";
2
+
3
+ // @ts-expect-error - imported using Rollup json plugin
4
+ const compatibilityVersion = 4;
5
+
6
+ export { compatibilityVersion, version as npmVersion };
2
7
  //# sourceMappingURL=version.mjs.map
package/version.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../src/version.ts"],"sourcesContent":[null],"names":["compatibilityVersion"],"mappings":"iBAEaA,EAAuB"}
1
+ {"version":3,"file":"version.mjs","sources":["../src/version.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AAEO,MAAM,oBAAoB,GAAG;;;;"}
package/README.md DELETED
@@ -1,150 +0,0 @@
1
- <div align="center">
2
- <h1>Drizzle ORM <a href=""><img alt="npm" src="https://img.shields.io/npm/v/drizzle-orm?label="></a></h1>
3
- <img alt="npm" src="https://img.shields.io/npm/dm/drizzle-orm">
4
- <img alt="npm bundle size" src="https://img.shields.io/bundlephobia/min/drizzle-orm">
5
- <a href="https://discord.gg/yfjTbVXMW4"><img alt="Discord" src="https://img.shields.io/discord/1043890932593987624?label=Discord"></a>
6
- <img alt="License" src="https://img.shields.io/npm/l/drizzle-orm">
7
- <h6><i>If you know SQL, you know Drizzle ORM</i></h6>
8
- <hr />
9
- </div>
10
-
11
- Drizzle ORM is a TypeScript ORM for SQL databases designed with maximum type safety in mind. It comes with a [drizzle-kit](https://github.com/drizzle-team/drizzle-kit-mirror) CLI companion for automatic SQL migrations generation. Drizzle ORM is meant to be a library, not a framework. It stays as an opt-in solution all the time at any levels.
12
-
13
- The ORM main philosophy is "If you know SQL, you know Drizzle ORM". We follow the SQL-like syntax whenever possible, are strongly typed ground up and fail at compile time, not in runtime.
14
-
15
- Drizzle ORM is being battle-tested on production projects by multiple teams 🚀 Give it a try and let us know if you have any questions or feedback on [Discord](https://discord.gg/yfjTbVXMW4).
16
-
17
- ## Feature list
18
-
19
- - Full type safety
20
- - [Smart automated migrations generation](https://github.com/drizzle-team/drizzle-kit-mirror)
21
- - No ORM learning curve
22
- - SQL-like syntax for table definitions and queries
23
- - Best in class fully typed joins
24
- - Fully typed partial and non-partial selects of any complexity
25
- - Auto-inferring of TS types for DB models for selections and insertions separately
26
- - [Zod schema generation](/drizzle-zod/README.md)
27
- - Zero dependencies
28
-
29
- ## Supported databases
30
-
31
- | Database | Status | |
32
- |:------------------------------------------------------|:------:|:-----------------------------------------------|
33
- | PostgreSQL | ✅ | [Docs](/drizzle-orm/src/pg-core/README.md) |
34
- | MySQL | ✅ | [Docs](/drizzle-orm/src/mysql-core/README.md) |
35
- | SQLite | ✅ | [Docs](/drizzle-orm/src/sqlite-core/README.md) |
36
- | [Cloudflare D1](https://developers.cloudflare.com/d1) | ✅ | [Docs](/examples/cloudflare-d1/README.md) |
37
- | [libSQL](https://libsql.org) | ✅ | [Docs](/examples/libsql/README.md) |
38
- | [Turso](https://turso.tech) | ✅ | [Docs](/examples/libsql/README.md) |
39
- | DynamoDB | ⏳ | |
40
- | MS SQL | ⏳ | |
41
- | CockroachDB | ⏳ | |
42
-
43
- ## Our sponsors ❤️
44
-
45
- <p align="center">
46
- <a href="https://drizzle.team" target="_blank">
47
- <img src='https://api.drizzle.team/github/sponsors/svg'/>
48
- </a>
49
- </p>
50
-
51
- ## Installation
52
-
53
- ```bash
54
- npm install drizzle-orm
55
- npm install -D drizzle-kit
56
- ```
57
-
58
- ## Feature showcase (PostgreSQL)
59
-
60
- > **Note**: don't forget to install `pg` and `@types/pg` packages for this example to work.
61
-
62
- ```typescript
63
- import { drizzle } from 'drizzle-orm/node-postgres';
64
- import { integer, pgTable, serial, text, timestamp, varchar } from 'drizzle-orm/pg-core';
65
- import { InferModel, eq, sql } from 'drizzle-orm';
66
- import { Pool } from 'pg';
67
-
68
- export const users = pgTable('users', {
69
- id: serial('id').primaryKey(),
70
- fullName: text('full_name').notNull(),
71
- phone: varchar('phone', { length: 20 }).notNull(),
72
- role: text('role', { enum: ['user', 'admin'] }).default('user').notNull(),
73
- cityId: integer('city_id').references(() => cities.id),
74
- createdAt: timestamp('created_at').defaultNow().notNull(),
75
- updatedAt: timestamp('updated_at').defaultNow().notNull(),
76
- });
77
-
78
- export type User = InferModel<typeof users>;
79
- export type NewUser = InferModel<typeof users, 'insert'>;
80
-
81
- export const cities = pgTable('cities', {
82
- id: serial('id').primaryKey(),
83
- name: text('name').notNull(),
84
- });
85
-
86
- export type City = InferModel<typeof cities>;
87
- export type NewCity = InferModel<typeof cities, 'insert'>;
88
-
89
- const pool = new Pool({
90
- connectionString: 'postgres://user:password@host:port/db',
91
- });
92
-
93
- const db = drizzle(pool);
94
-
95
- // Insert
96
- const newUser: NewUser = {
97
- fullName: 'John Doe',
98
- phone: '+123456789',
99
- };
100
- const insertedUsers /* : User[] */ = await db.insert(users).values(newUser).returning();
101
- const insertedUser = insertedUsers[0]!;
102
-
103
- const newCity: NewCity = {
104
- name: 'New York',
105
- };
106
- const insertedCities /* : City[] */ = await db.insert(cities).values(newCity).returning();
107
- const insertedCity = insertedCities[0]!;
108
-
109
- // Update
110
- const updateResult /* : { updated: Date }[] */ = await db.update(users)
111
- .set({ cityId: insertedCity.id, updatedAt: new Date() })
112
- .where(eq(users.id, insertedUser.id))
113
- .returning({ updated: users.updatedAt });
114
-
115
- // Select
116
- const allUsers /* : User[] */ = await db.select().from(users);
117
-
118
- // Select custom fields
119
- const upperCaseNames /* : { id: number; name: string }[] */ = await db
120
- .select({
121
- id: users.id,
122
- name: sql<string>`upper(${users.fullName})`,
123
- })
124
- .from(users);
125
-
126
- // Joins
127
- // You wouldn't BELIEVE how SMART the result type is! 😱
128
- const allUsersWithCities = await db
129
- .select({
130
- id: users.id,
131
- name: users.fullName,
132
- city: {
133
- id: cities.id,
134
- name: cities.name,
135
- },
136
- })
137
- .from(users)
138
- .leftJoin(cities, eq(users.cityId, cities.id));
139
-
140
- // Delete
141
- const deletedNames /* : { name: string }[] */ = await db.delete(users)
142
- .where(eq(users.id, insertedUser.id))
143
- .returning({ name: users.fullName });
144
- ```
145
-
146
- **See full docs for further reference:**
147
-
148
- - [PostgreSQL](./drizzle-orm/src/pg-core/README.md)
149
- - [MySQL](./drizzle-orm/src/mysql-core/README.md)
150
- - [SQLite](./drizzle-orm/src/sqlite-core/README.md)
@@ -1,2 +0,0 @@
1
- class t{constructor(t){this.config={name:t,notNull:!1,default:void 0,primaryKey:!1}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(t){return this.config.default=t,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}}export{t as C};
2
- //# sourceMappingURL=column-builder-592f0191.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"column-builder-592f0191.mjs","sources":["../src/column-builder.ts"],"sourcesContent":[null],"names":["ColumnBuilder","constructor","name","this","config","notNull","default","undefined","primaryKey","$type","value","hasDefault"],"mappings":"MA4DsBA,EAoBrBC,YAAYC,GACXC,KAAKC,OAAS,CACbF,OACAG,SAAS,EACTC,aAASC,EACTC,YAAY,EAEb,CAEDC,QACC,OAAON,IACP,CAEDE,UAEC,OADAF,KAAKC,OAAOC,SAAU,EACfF,IACP,CAEDG,QACCI,GAIA,OAFAP,KAAKC,OAAOE,QAAUI,EACtBP,KAAKC,OAAOO,YAAa,EAClBR,IACP,CAEDK,aAGC,OAFAL,KAAKC,OAAOI,YAAa,EACzBL,KAAKC,OAAOC,SAAU,EACfF,IACP"}
@@ -1,2 +0,0 @@
1
- "use strict";exports.ColumnBuilder=class{constructor(t){this.config={name:t,notNull:!1,default:void 0,primaryKey:!1}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(t){return this.config.default=t,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}};
2
- //# sourceMappingURL=column-builder-b48639f3.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"column-builder-b48639f3.cjs","sources":["../src/column-builder.ts"],"sourcesContent":[null],"names":["constructor","name","this","config","notNull","default","undefined","primaryKey","$type","value","hasDefault"],"mappings":"yCAgFCA,YAAYC,GACXC,KAAKC,OAAS,CACbF,OACAG,SAAS,EACTC,aAASC,EACTC,YAAY,EAEb,CAEDC,QACC,OAAON,IACP,CAEDE,UAEC,OADAF,KAAKC,OAAOC,SAAU,EACfF,IACP,CAEDG,QACCI,GAIA,OAFAP,KAAKC,OAAOE,QAAUI,EACtBP,KAAKC,OAAOO,YAAa,EAClBR,IACP,CAEDK,aAGC,OAFAL,KAAKC,OAAOI,YAAa,EACzBL,KAAKC,OAAOC,SAAU,EACfF,IACP"}
@@ -1,11 +0,0 @@
1
- import { ResultSet, Client } from '@libsql/client';
2
- import { L as Logger } from './logger.d-37185354.js';
3
- import { B as BaseSQLiteDatabase } from './db.d-ae495c35.js';
4
-
5
- interface DrizzleConfig {
6
- logger?: boolean | Logger;
7
- }
8
- type LibSQLDatabase = BaseSQLiteDatabase<'async', ResultSet>;
9
- declare function drizzle(client: Client, config?: DrizzleConfig): LibSQLDatabase;
10
-
11
- export { DrizzleConfig as D, LibSQLDatabase as L, drizzle as d };
@@ -1,70 +0,0 @@
1
- import { L as Logger } from './logger.d-37185354.js';
2
- import { P as PreparedQueryConfig, a as PreparedQuery, S as SelectedFieldsOrdered, b as PgSession, c as PgDialect, d as PgTransactionConfig, e as PgTransaction, Q as QueryResultHKT, f as PgDatabase } from './db.d-66553b9e.js';
3
- import { RDSDataClient, ExecuteStatementCommandOutput } from '@aws-sdk/client-rds-data';
4
- import { Q as QueryTypingsValue, y as Query, S as SQL } from './column.d-8b137277.js';
5
-
6
- type AwsDataApiClient = RDSDataClient;
7
- declare class AwsDataApiPreparedQuery<T extends PreparedQueryConfig> extends PreparedQuery<T> {
8
- private client;
9
- private params;
10
- private typings;
11
- private options;
12
- private fields;
13
- private rawQuery;
14
- constructor(client: AwsDataApiClient, queryString: string, params: unknown[], typings: QueryTypingsValue[], options: AwsDataApiSessionOptions, fields: SelectedFieldsOrdered | undefined,
15
- /** @internal */
16
- transactionId: string | undefined);
17
- execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
18
- all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
19
- }
20
- interface AwsDataApiSessionOptions {
21
- logger?: Logger;
22
- database: string;
23
- resourceArn: string;
24
- secretArn: string;
25
- }
26
- declare class AwsDataApiSession extends PgSession<AwsDataApiPgQueryResultHKT> {
27
- private options;
28
- constructor(
29
- /** @internal */
30
- client: AwsDataApiClient, dialect: PgDialect, options: AwsDataApiSessionOptions,
31
- /** @internal */
32
- transactionId: string | undefined);
33
- prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, transactionId?: string): PreparedQuery<T>;
34
- execute<T>(query: SQL): Promise<T>;
35
- transaction<T>(transaction: (tx: AwsDataApiTransaction) => Promise<T>, config?: PgTransactionConfig | undefined): Promise<T>;
36
- }
37
- declare class AwsDataApiTransaction extends PgTransaction<AwsDataApiPgQueryResultHKT> {
38
- transaction<T>(transaction: (tx: AwsDataApiTransaction) => Promise<T>): Promise<T>;
39
- }
40
- interface AwsDataApiPgQueryResultHKT extends QueryResultHKT {
41
- type: ExecuteStatementCommandOutput;
42
- }
43
-
44
- interface PgDriverOptions {
45
- logger?: Logger;
46
- database: string;
47
- resourceArn: string;
48
- secretArn: string;
49
- }
50
- declare class AwsDataApiDriver {
51
- private client;
52
- private dialect;
53
- private options;
54
- constructor(client: AwsDataApiClient, dialect: PgDialect, options: PgDriverOptions);
55
- createSession(): AwsDataApiSession;
56
- }
57
- interface DrizzleConfig {
58
- logger?: boolean | Logger;
59
- database: string;
60
- resourceArn: string;
61
- secretArn: string;
62
- }
63
- type AwsDataApiPgDatabase = PgDatabase<AwsDataApiPgQueryResultHKT>;
64
- declare class AwsPgDialect extends PgDialect {
65
- escapeName(name: string): string;
66
- escapeParam(num: number): string;
67
- }
68
- declare function drizzle(client: AwsDataApiClient, config: DrizzleConfig): AwsDataApiPgDatabase;
69
-
70
- export { AwsDataApiDriver as A, DrizzleConfig as D, PgDriverOptions as P, AwsDataApiPgDatabase as a, AwsPgDialect as b, AwsDataApiClient as c, drizzle as d, AwsDataApiPreparedQuery as e, AwsDataApiSessionOptions as f, AwsDataApiSession as g, AwsDataApiTransaction as h, AwsDataApiPgQueryResultHKT as i };
@@ -1,17 +0,0 @@
1
- import { L as Logger } from './logger.d-37185354.js';
2
- import { B as BaseSQLiteDatabase } from './db.d-ae495c35.js';
3
-
4
- interface DrizzleConfig {
5
- logger?: boolean | Logger;
6
- }
7
- interface SqliteRemoteResult<T = unknown> {
8
- rows?: T[];
9
- }
10
- type SqliteRemoteDatabase = BaseSQLiteDatabase<'async', SqliteRemoteResult>;
11
- type AsyncRemoteCallback = (sql: string, params: any[], method: 'run' | 'all' | 'values' | 'get') => Promise<{
12
- rows: any[];
13
- }>;
14
- type RemoteCallback = AsyncRemoteCallback;
15
- declare function drizzle(callback: RemoteCallback, config?: DrizzleConfig): SqliteRemoteDatabase;
16
-
17
- export { AsyncRemoteCallback as A, DrizzleConfig as D, RemoteCallback as R, SqliteRemoteResult as S, SqliteRemoteDatabase as a, drizzle as d };
@@ -1,11 +0,0 @@
1
- import { RunResult, Database } from 'better-sqlite3';
2
- import { L as Logger } from './logger.d-37185354.js';
3
- import { B as BaseSQLiteDatabase } from './db.d-ae495c35.js';
4
-
5
- interface DrizzleConfig {
6
- logger?: boolean | Logger;
7
- }
8
- type BetterSQLite3Database = BaseSQLiteDatabase<'sync', RunResult>;
9
- declare function drizzle(client: Database, config?: DrizzleConfig): BetterSQLite3Database;
10
-
11
- export { BetterSQLite3Database as B, DrizzleConfig as D, drizzle as d };