drizzle-orm 0.36.4-3c69a1f → 0.36.4-3efe329

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 (971) hide show
  1. package/alias.cjs.map +1 -1
  2. package/alias.d.cts +3 -3
  3. package/alias.d.ts +3 -3
  4. package/alias.js.map +1 -1
  5. package/aws-data-api/pg/driver.cjs +5 -19
  6. package/aws-data-api/pg/driver.cjs.map +1 -1
  7. package/aws-data-api/pg/driver.d.cts +8 -9
  8. package/aws-data-api/pg/driver.d.ts +8 -9
  9. package/aws-data-api/pg/driver.js +8 -9
  10. package/aws-data-api/pg/driver.js.map +1 -1
  11. package/aws-data-api/pg/migrator.cjs.map +1 -1
  12. package/aws-data-api/pg/migrator.d.cts +1 -2
  13. package/aws-data-api/pg/migrator.d.ts +1 -2
  14. package/aws-data-api/pg/migrator.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +4 -67
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +8 -13
  18. package/aws-data-api/pg/session.d.ts +8 -13
  19. package/aws-data-api/pg/session.js +4 -67
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +5 -12
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +6 -7
  24. package/better-sqlite3/driver.d.ts +6 -7
  25. package/better-sqlite3/driver.js +8 -12
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/better-sqlite3/migrator.cjs.map +1 -1
  28. package/better-sqlite3/migrator.d.cts +1 -2
  29. package/better-sqlite3/migrator.d.ts +1 -2
  30. package/better-sqlite3/migrator.js.map +1 -1
  31. package/better-sqlite3/session.cjs +4 -49
  32. package/better-sqlite3/session.cjs.map +1 -1
  33. package/better-sqlite3/session.d.cts +8 -14
  34. package/better-sqlite3/session.d.ts +8 -14
  35. package/better-sqlite3/session.js +4 -49
  36. package/better-sqlite3/session.js.map +1 -1
  37. package/bun-sqlite/driver.cjs +5 -22
  38. package/bun-sqlite/driver.cjs.map +1 -1
  39. package/bun-sqlite/driver.d.cts +6 -7
  40. package/bun-sqlite/driver.d.ts +6 -7
  41. package/bun-sqlite/driver.js +8 -12
  42. package/bun-sqlite/driver.js.map +1 -1
  43. package/bun-sqlite/migrator.cjs.map +1 -1
  44. package/bun-sqlite/migrator.d.cts +1 -2
  45. package/bun-sqlite/migrator.d.ts +1 -2
  46. package/bun-sqlite/migrator.js.map +1 -1
  47. package/bun-sqlite/session.cjs +4 -49
  48. package/bun-sqlite/session.cjs.map +1 -1
  49. package/bun-sqlite/session.d.cts +8 -14
  50. package/bun-sqlite/session.d.ts +8 -14
  51. package/bun-sqlite/session.js +4 -49
  52. package/bun-sqlite/session.js.map +1 -1
  53. package/column-builder.cjs.map +1 -1
  54. package/column-builder.d.cts +4 -3
  55. package/column-builder.d.ts +4 -3
  56. package/column-builder.js.map +1 -1
  57. package/d1/driver.cjs +5 -22
  58. package/d1/driver.cjs.map +1 -1
  59. package/d1/driver.d.cts +2 -3
  60. package/d1/driver.d.ts +2 -3
  61. package/d1/driver.js +8 -12
  62. package/d1/driver.js.map +1 -1
  63. package/d1/migrator.cjs.map +1 -1
  64. package/d1/migrator.d.cts +1 -2
  65. package/d1/migrator.d.ts +1 -2
  66. package/d1/migrator.js.map +1 -1
  67. package/d1/session.cjs +6 -48
  68. package/d1/session.cjs.map +1 -1
  69. package/d1/session.d.cts +8 -15
  70. package/d1/session.d.ts +8 -15
  71. package/d1/session.js +6 -48
  72. package/d1/session.js.map +1 -1
  73. package/durable-sqlite/driver.cjs +64 -0
  74. package/durable-sqlite/driver.cjs.map +1 -0
  75. package/durable-sqlite/driver.d.cts +9 -0
  76. package/durable-sqlite/driver.d.ts +9 -0
  77. package/durable-sqlite/driver.js +42 -0
  78. package/durable-sqlite/driver.js.map +1 -0
  79. package/durable-sqlite/index.cjs +25 -0
  80. package/durable-sqlite/index.cjs.map +1 -0
  81. package/durable-sqlite/index.d.cts +2 -0
  82. package/durable-sqlite/index.d.ts +2 -0
  83. package/durable-sqlite/index.js +3 -0
  84. package/durable-sqlite/index.js.map +1 -0
  85. package/durable-sqlite/migrator.cjs +85 -0
  86. package/durable-sqlite/migrator.cjs.map +1 -0
  87. package/durable-sqlite/migrator.d.cts +14 -0
  88. package/durable-sqlite/migrator.d.ts +14 -0
  89. package/durable-sqlite/migrator.js +61 -0
  90. package/durable-sqlite/migrator.js.map +1 -0
  91. package/durable-sqlite/session.cjs +131 -0
  92. package/durable-sqlite/session.cjs.map +1 -0
  93. package/durable-sqlite/session.d.cts +46 -0
  94. package/durable-sqlite/session.d.ts +46 -0
  95. package/durable-sqlite/session.js +107 -0
  96. package/durable-sqlite/session.js.map +1 -0
  97. package/expo-sqlite/driver.cjs +5 -22
  98. package/expo-sqlite/driver.cjs.map +1 -1
  99. package/expo-sqlite/driver.d.cts +2 -3
  100. package/expo-sqlite/driver.d.ts +2 -3
  101. package/expo-sqlite/driver.js +8 -12
  102. package/expo-sqlite/driver.js.map +1 -1
  103. package/expo-sqlite/migrator.cjs.map +1 -1
  104. package/expo-sqlite/migrator.d.cts +2 -3
  105. package/expo-sqlite/migrator.d.ts +2 -3
  106. package/expo-sqlite/migrator.js.map +1 -1
  107. package/expo-sqlite/query.cjs +2 -13
  108. package/expo-sqlite/query.cjs.map +1 -1
  109. package/expo-sqlite/query.d.cts +1 -2
  110. package/expo-sqlite/query.d.ts +1 -2
  111. package/expo-sqlite/query.js +2 -3
  112. package/expo-sqlite/query.js.map +1 -1
  113. package/expo-sqlite/session.cjs +4 -47
  114. package/expo-sqlite/session.cjs.map +1 -1
  115. package/expo-sqlite/session.d.cts +8 -14
  116. package/expo-sqlite/session.d.ts +8 -14
  117. package/expo-sqlite/session.js +4 -47
  118. package/expo-sqlite/session.js.map +1 -1
  119. package/libsql/driver-core.cjs +5 -22
  120. package/libsql/driver-core.cjs.map +1 -1
  121. package/libsql/driver-core.d.cts +1 -2
  122. package/libsql/driver-core.d.ts +1 -2
  123. package/libsql/driver-core.js +8 -12
  124. package/libsql/driver-core.js.map +1 -1
  125. package/libsql/driver.cjs.map +1 -1
  126. package/libsql/driver.d.cts +5 -6
  127. package/libsql/driver.d.ts +5 -6
  128. package/libsql/driver.js.map +1 -1
  129. package/libsql/http/index.cjs.map +1 -1
  130. package/libsql/http/index.d.cts +5 -6
  131. package/libsql/http/index.d.ts +5 -6
  132. package/libsql/http/index.js.map +1 -1
  133. package/libsql/migrator.cjs.map +1 -1
  134. package/libsql/migrator.d.cts +1 -2
  135. package/libsql/migrator.d.ts +1 -2
  136. package/libsql/migrator.js.map +1 -1
  137. package/libsql/node/index.cjs.map +1 -1
  138. package/libsql/node/index.d.cts +5 -6
  139. package/libsql/node/index.d.ts +5 -6
  140. package/libsql/node/index.js.map +1 -1
  141. package/libsql/session.cjs +4 -60
  142. package/libsql/session.cjs.map +1 -1
  143. package/libsql/session.d.cts +9 -15
  144. package/libsql/session.d.ts +9 -15
  145. package/libsql/session.js +4 -60
  146. package/libsql/session.js.map +1 -1
  147. package/libsql/sqlite3/index.cjs.map +1 -1
  148. package/libsql/sqlite3/index.d.cts +5 -6
  149. package/libsql/sqlite3/index.d.ts +5 -6
  150. package/libsql/sqlite3/index.js.map +1 -1
  151. package/libsql/wasm/index.cjs.map +1 -1
  152. package/libsql/wasm/index.d.cts +5 -6
  153. package/libsql/wasm/index.d.ts +5 -6
  154. package/libsql/wasm/index.js.map +1 -1
  155. package/libsql/web/index.cjs.map +1 -1
  156. package/libsql/web/index.d.cts +5 -6
  157. package/libsql/web/index.d.ts +5 -6
  158. package/libsql/web/index.js.map +1 -1
  159. package/libsql/ws/index.cjs.map +1 -1
  160. package/libsql/ws/index.d.cts +5 -6
  161. package/libsql/ws/index.d.ts +5 -6
  162. package/libsql/ws/index.js.map +1 -1
  163. package/mysql-core/db.cjs +8 -29
  164. package/mysql-core/db.cjs.map +1 -1
  165. package/mysql-core/db.d.cts +8 -15
  166. package/mysql-core/db.d.ts +8 -15
  167. package/mysql-core/db.js +7 -28
  168. package/mysql-core/db.js.map +1 -1
  169. package/mysql-core/dialect.cjs +15 -170
  170. package/mysql-core/dialect.cjs.map +1 -1
  171. package/mysql-core/dialect.d.cts +13 -29
  172. package/mysql-core/dialect.d.ts +13 -29
  173. package/mysql-core/dialect.js +21 -167
  174. package/mysql-core/dialect.js.map +1 -1
  175. package/mysql-core/query-builders/count.cjs.map +1 -1
  176. package/mysql-core/query-builders/count.d.cts +1 -1
  177. package/mysql-core/query-builders/count.d.ts +1 -1
  178. package/mysql-core/query-builders/count.js.map +1 -1
  179. package/mysql-core/query-builders/query.cjs +31 -18
  180. package/mysql-core/query-builders/query.cjs.map +1 -1
  181. package/mysql-core/query-builders/query.d.cts +10 -8
  182. package/mysql-core/query-builders/query.d.ts +10 -8
  183. package/mysql-core/query-builders/query.js +31 -18
  184. package/mysql-core/query-builders/query.js.map +1 -1
  185. package/mysql-core/session.cjs +2 -3
  186. package/mysql-core/session.cjs.map +1 -1
  187. package/mysql-core/session.d.cts +7 -10
  188. package/mysql-core/session.d.ts +7 -10
  189. package/mysql-core/session.js +2 -3
  190. package/mysql-core/session.js.map +1 -1
  191. package/mysql-proxy/driver.cjs +5 -22
  192. package/mysql-proxy/driver.cjs.map +1 -1
  193. package/mysql-proxy/driver.d.cts +2 -3
  194. package/mysql-proxy/driver.d.ts +2 -3
  195. package/mysql-proxy/driver.js +8 -12
  196. package/mysql-proxy/driver.js.map +1 -1
  197. package/mysql-proxy/migrator.cjs.map +1 -1
  198. package/mysql-proxy/migrator.d.cts +1 -2
  199. package/mysql-proxy/migrator.d.ts +1 -2
  200. package/mysql-proxy/migrator.js.map +1 -1
  201. package/mysql-proxy/session.cjs +2 -47
  202. package/mysql-proxy/session.cjs.map +1 -1
  203. package/mysql-proxy/session.d.cts +8 -13
  204. package/mysql-proxy/session.d.ts +8 -13
  205. package/mysql-proxy/session.js +2 -47
  206. package/mysql-proxy/session.js.map +1 -1
  207. package/mysql2/driver.cjs +7 -24
  208. package/mysql2/driver.cjs.map +1 -1
  209. package/mysql2/driver.d.cts +9 -10
  210. package/mysql2/driver.d.ts +9 -10
  211. package/mysql2/driver.js +10 -14
  212. package/mysql2/driver.js.map +1 -1
  213. package/mysql2/migrator.cjs.map +1 -1
  214. package/mysql2/migrator.d.cts +1 -2
  215. package/mysql2/migrator.d.ts +1 -2
  216. package/mysql2/migrator.js.map +1 -1
  217. package/mysql2/session.cjs +2 -51
  218. package/mysql2/session.cjs.map +1 -1
  219. package/mysql2/session.d.cts +8 -13
  220. package/mysql2/session.d.ts +8 -13
  221. package/mysql2/session.js +2 -51
  222. package/mysql2/session.js.map +1 -1
  223. package/neon-http/driver.cjs +8 -22
  224. package/neon-http/driver.cjs.map +1 -1
  225. package/neon-http/driver.d.cts +10 -11
  226. package/neon-http/driver.d.ts +10 -11
  227. package/neon-http/driver.js +8 -12
  228. package/neon-http/driver.js.map +1 -1
  229. package/neon-http/migrator.cjs.map +1 -1
  230. package/neon-http/migrator.d.cts +1 -2
  231. package/neon-http/migrator.d.ts +1 -2
  232. package/neon-http/migrator.js.map +1 -1
  233. package/neon-http/session.cjs +2 -32
  234. package/neon-http/session.cjs.map +1 -1
  235. package/neon-http/session.d.cts +8 -13
  236. package/neon-http/session.d.ts +8 -13
  237. package/neon-http/session.js +2 -32
  238. package/neon-http/session.js.map +1 -1
  239. package/neon-serverless/driver.cjs +7 -18
  240. package/neon-serverless/driver.cjs.map +1 -1
  241. package/neon-serverless/driver.d.cts +8 -9
  242. package/neon-serverless/driver.d.ts +8 -9
  243. package/neon-serverless/driver.js +10 -8
  244. package/neon-serverless/driver.js.map +1 -1
  245. package/neon-serverless/migrator.cjs.map +1 -1
  246. package/neon-serverless/migrator.d.cts +1 -2
  247. package/neon-serverless/migrator.d.ts +1 -2
  248. package/neon-serverless/migrator.js.map +1 -1
  249. package/neon-serverless/session.cjs +5 -40
  250. package/neon-serverless/session.cjs.map +1 -1
  251. package/neon-serverless/session.d.cts +8 -13
  252. package/neon-serverless/session.d.ts +8 -13
  253. package/neon-serverless/session.js +5 -40
  254. package/neon-serverless/session.js.map +1 -1
  255. package/node-postgres/driver.cjs +7 -13
  256. package/node-postgres/driver.cjs.map +1 -1
  257. package/node-postgres/driver.d.cts +8 -9
  258. package/node-postgres/driver.d.ts +8 -9
  259. package/node-postgres/driver.js +10 -13
  260. package/node-postgres/driver.js.map +1 -1
  261. package/node-postgres/migrator.cjs.map +1 -1
  262. package/node-postgres/migrator.d.cts +1 -2
  263. package/node-postgres/migrator.d.ts +1 -2
  264. package/node-postgres/migrator.js.map +1 -1
  265. package/node-postgres/session.cjs +4 -45
  266. package/node-postgres/session.cjs.map +1 -1
  267. package/node-postgres/session.d.cts +8 -13
  268. package/node-postgres/session.d.ts +8 -13
  269. package/node-postgres/session.js +4 -45
  270. package/node-postgres/session.js.map +1 -1
  271. package/op-sqlite/driver.cjs +5 -22
  272. package/op-sqlite/driver.cjs.map +1 -1
  273. package/op-sqlite/driver.d.cts +2 -3
  274. package/op-sqlite/driver.d.ts +2 -3
  275. package/op-sqlite/driver.js +8 -12
  276. package/op-sqlite/driver.js.map +1 -1
  277. package/op-sqlite/migrator.cjs.map +1 -1
  278. package/op-sqlite/migrator.d.cts +2 -3
  279. package/op-sqlite/migrator.d.ts +2 -3
  280. package/op-sqlite/migrator.js.map +1 -1
  281. package/op-sqlite/session.cjs +4 -47
  282. package/op-sqlite/session.cjs.map +1 -1
  283. package/op-sqlite/session.d.cts +8 -14
  284. package/op-sqlite/session.d.ts +8 -14
  285. package/op-sqlite/session.js +4 -47
  286. package/op-sqlite/session.js.map +1 -1
  287. package/package.json +786 -53
  288. package/pg-core/db.cjs +11 -33
  289. package/pg-core/db.cjs.map +1 -1
  290. package/pg-core/db.d.cts +11 -18
  291. package/pg-core/db.d.ts +11 -18
  292. package/pg-core/db.js +10 -32
  293. package/pg-core/db.js.map +1 -1
  294. package/pg-core/dialect.cjs +488 -146
  295. package/pg-core/dialect.cjs.map +1 -1
  296. package/pg-core/dialect.d.cts +7 -21
  297. package/pg-core/dialect.d.ts +7 -21
  298. package/pg-core/dialect.js +494 -143
  299. package/pg-core/dialect.js.map +1 -1
  300. package/pg-core/query-builders/count.cjs +1 -0
  301. package/pg-core/query-builders/count.cjs.map +1 -1
  302. package/pg-core/query-builders/count.d.cts +3 -2
  303. package/pg-core/query-builders/count.d.ts +3 -2
  304. package/pg-core/query-builders/count.js +1 -0
  305. package/pg-core/query-builders/count.js.map +1 -1
  306. package/pg-core/query-builders/delete.cjs.map +1 -1
  307. package/pg-core/query-builders/delete.js.map +1 -1
  308. package/pg-core/query-builders/insert.cjs +1 -9
  309. package/pg-core/query-builders/insert.cjs.map +1 -1
  310. package/pg-core/query-builders/insert.js +1 -9
  311. package/pg-core/query-builders/insert.js.map +1 -1
  312. package/pg-core/query-builders/query.cjs +18 -15
  313. package/pg-core/query-builders/query.cjs.map +1 -1
  314. package/pg-core/query-builders/query.d.cts +6 -6
  315. package/pg-core/query-builders/query.d.ts +6 -6
  316. package/pg-core/query-builders/query.js +18 -15
  317. package/pg-core/query-builders/query.js.map +1 -1
  318. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  319. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  320. package/pg-core/query-builders/select.cjs +2 -10
  321. package/pg-core/query-builders/select.cjs.map +1 -1
  322. package/pg-core/query-builders/select.js +8 -11
  323. package/pg-core/query-builders/select.js.map +1 -1
  324. package/pg-core/query-builders/update.cjs +1 -7
  325. package/pg-core/query-builders/update.cjs.map +1 -1
  326. package/pg-core/query-builders/update.d.cts +2 -2
  327. package/pg-core/query-builders/update.d.ts +2 -2
  328. package/pg-core/query-builders/update.js +6 -8
  329. package/pg-core/query-builders/update.js.map +1 -1
  330. package/pg-core/session.cjs +2 -3
  331. package/pg-core/session.cjs.map +1 -1
  332. package/pg-core/session.d.cts +8 -10
  333. package/pg-core/session.d.ts +8 -10
  334. package/pg-core/session.js +2 -3
  335. package/pg-core/session.js.map +1 -1
  336. package/pg-proxy/driver.cjs +5 -21
  337. package/pg-proxy/driver.cjs.map +1 -1
  338. package/pg-proxy/driver.d.cts +2 -3
  339. package/pg-proxy/driver.d.ts +2 -3
  340. package/pg-proxy/driver.js +8 -11
  341. package/pg-proxy/driver.js.map +1 -1
  342. package/pg-proxy/migrator.cjs.map +1 -1
  343. package/pg-proxy/migrator.d.cts +1 -2
  344. package/pg-proxy/migrator.d.ts +1 -2
  345. package/pg-proxy/migrator.js.map +1 -1
  346. package/pg-proxy/session.cjs +2 -37
  347. package/pg-proxy/session.cjs.map +1 -1
  348. package/pg-proxy/session.d.cts +8 -13
  349. package/pg-proxy/session.d.ts +8 -13
  350. package/pg-proxy/session.js +2 -37
  351. package/pg-proxy/session.js.map +1 -1
  352. package/pglite/driver.cjs +7 -23
  353. package/pglite/driver.cjs.map +1 -1
  354. package/pglite/driver.d.cts +8 -9
  355. package/pglite/driver.d.ts +8 -9
  356. package/pglite/driver.js +10 -13
  357. package/pglite/driver.js.map +1 -1
  358. package/pglite/migrator.cjs.map +1 -1
  359. package/pglite/migrator.d.cts +1 -2
  360. package/pglite/migrator.d.ts +1 -2
  361. package/pglite/migrator.js.map +1 -1
  362. package/pglite/session.cjs +3 -34
  363. package/pglite/session.cjs.map +1 -1
  364. package/pglite/session.d.cts +8 -13
  365. package/pglite/session.d.ts +8 -13
  366. package/pglite/session.js +3 -34
  367. package/pglite/session.js.map +1 -1
  368. package/planetscale-serverless/driver.cjs +5 -22
  369. package/planetscale-serverless/driver.cjs.map +1 -1
  370. package/planetscale-serverless/driver.d.cts +6 -7
  371. package/planetscale-serverless/driver.d.ts +6 -7
  372. package/planetscale-serverless/driver.js +8 -12
  373. package/planetscale-serverless/driver.js.map +1 -1
  374. package/planetscale-serverless/migrator.cjs.map +1 -1
  375. package/planetscale-serverless/migrator.d.cts +1 -2
  376. package/planetscale-serverless/migrator.d.ts +1 -2
  377. package/planetscale-serverless/migrator.js.map +1 -1
  378. package/planetscale-serverless/session.cjs +5 -68
  379. package/planetscale-serverless/session.cjs.map +1 -1
  380. package/planetscale-serverless/session.d.cts +9 -14
  381. package/planetscale-serverless/session.d.ts +9 -14
  382. package/planetscale-serverless/session.js +5 -68
  383. package/planetscale-serverless/session.js.map +1 -1
  384. package/postgres-js/driver.cjs +6 -12
  385. package/postgres-js/driver.cjs.map +1 -1
  386. package/postgres-js/driver.d.cts +6 -7
  387. package/postgres-js/driver.d.ts +6 -7
  388. package/postgres-js/driver.js +9 -12
  389. package/postgres-js/driver.js.map +1 -1
  390. package/postgres-js/migrator.cjs.map +1 -1
  391. package/postgres-js/migrator.d.cts +1 -2
  392. package/postgres-js/migrator.d.ts +1 -2
  393. package/postgres-js/migrator.js.map +1 -1
  394. package/postgres-js/session.cjs +6 -51
  395. package/postgres-js/session.cjs.map +1 -1
  396. package/postgres-js/session.d.cts +9 -15
  397. package/postgres-js/session.d.ts +9 -15
  398. package/postgres-js/session.js +6 -51
  399. package/postgres-js/session.js.map +1 -1
  400. package/prisma/mysql/driver.cjs +1 -1
  401. package/prisma/mysql/driver.cjs.map +1 -1
  402. package/prisma/mysql/driver.js +1 -1
  403. package/prisma/mysql/driver.js.map +1 -1
  404. package/prisma/mysql/session.cjs +0 -3
  405. package/prisma/mysql/session.cjs.map +1 -1
  406. package/prisma/mysql/session.d.cts +1 -3
  407. package/prisma/mysql/session.d.ts +1 -3
  408. package/prisma/mysql/session.js +0 -3
  409. package/prisma/mysql/session.js.map +1 -1
  410. package/prisma/pg/driver.cjs +1 -1
  411. package/prisma/pg/driver.cjs.map +1 -1
  412. package/prisma/pg/driver.js +1 -1
  413. package/prisma/pg/driver.js.map +1 -1
  414. package/prisma/pg/session.cjs +0 -3
  415. package/prisma/pg/session.cjs.map +1 -1
  416. package/prisma/pg/session.d.cts +1 -3
  417. package/prisma/pg/session.d.ts +1 -3
  418. package/prisma/pg/session.js +0 -3
  419. package/prisma/pg/session.js.map +1 -1
  420. package/prisma/sqlite/driver.cjs +1 -1
  421. package/prisma/sqlite/driver.cjs.map +1 -1
  422. package/prisma/sqlite/driver.js +1 -1
  423. package/prisma/sqlite/driver.js.map +1 -1
  424. package/prisma/sqlite/session.cjs +0 -3
  425. package/prisma/sqlite/session.cjs.map +1 -1
  426. package/prisma/sqlite/session.d.cts +2 -4
  427. package/prisma/sqlite/session.d.ts +2 -4
  428. package/prisma/sqlite/session.js +0 -3
  429. package/prisma/sqlite/session.js.map +1 -1
  430. package/relations.cjs +245 -468
  431. package/relations.cjs.map +1 -1
  432. package/relations.d.cts +125 -264
  433. package/relations.d.ts +125 -264
  434. package/relations.js +238 -455
  435. package/relations.js.map +1 -1
  436. package/singlestore/driver.cjs +113 -0
  437. package/singlestore/driver.cjs.map +1 -0
  438. package/singlestore/driver.d.cts +52 -0
  439. package/singlestore/driver.d.ts +52 -0
  440. package/singlestore/driver.js +89 -0
  441. package/singlestore/driver.js.map +1 -0
  442. package/singlestore/index.cjs +25 -0
  443. package/singlestore/index.cjs.map +1 -0
  444. package/singlestore/index.d.cts +2 -0
  445. package/singlestore/index.d.ts +2 -0
  446. package/singlestore/index.js +3 -0
  447. package/singlestore/index.js.map +1 -0
  448. package/singlestore/migrator.cjs +33 -0
  449. package/singlestore/migrator.cjs.map +1 -0
  450. package/singlestore/migrator.d.cts +3 -0
  451. package/singlestore/migrator.d.ts +3 -0
  452. package/singlestore/migrator.js +9 -0
  453. package/singlestore/migrator.js.map +1 -0
  454. package/singlestore/session.cjs +258 -0
  455. package/singlestore/session.cjs.map +1 -0
  456. package/singlestore/session.d.cts +52 -0
  457. package/singlestore/session.d.ts +52 -0
  458. package/singlestore/session.js +236 -0
  459. package/singlestore/session.js.map +1 -0
  460. package/singlestore-core/alias.cjs +32 -0
  461. package/singlestore-core/alias.cjs.map +1 -0
  462. package/singlestore-core/alias.d.cts +4 -0
  463. package/singlestore-core/alias.d.ts +4 -0
  464. package/singlestore-core/alias.js +8 -0
  465. package/singlestore-core/alias.js.map +1 -0
  466. package/singlestore-core/columns/all.cjs +80 -0
  467. package/singlestore-core/columns/all.cjs.map +1 -0
  468. package/singlestore-core/columns/all.d.cts +51 -0
  469. package/singlestore-core/columns/all.d.ts +51 -0
  470. package/singlestore-core/columns/all.js +56 -0
  471. package/singlestore-core/columns/all.js.map +1 -0
  472. package/singlestore-core/columns/bigint.cjs +96 -0
  473. package/singlestore-core/columns/bigint.cjs.map +1 -0
  474. package/singlestore-core/columns/bigint.d.cts +54 -0
  475. package/singlestore-core/columns/bigint.d.ts +54 -0
  476. package/singlestore-core/columns/bigint.js +68 -0
  477. package/singlestore-core/columns/bigint.js.map +1 -0
  478. package/singlestore-core/columns/binary.cjs +60 -0
  479. package/singlestore-core/columns/binary.cjs.map +1 -0
  480. package/singlestore-core/columns/binary.d.cts +28 -0
  481. package/singlestore-core/columns/binary.d.ts +28 -0
  482. package/singlestore-core/columns/binary.js +34 -0
  483. package/singlestore-core/columns/binary.js.map +1 -0
  484. package/singlestore-core/columns/boolean.cjs +62 -0
  485. package/singlestore-core/columns/boolean.cjs.map +1 -0
  486. package/singlestore-core/columns/boolean.d.cts +24 -0
  487. package/singlestore-core/columns/boolean.d.ts +24 -0
  488. package/singlestore-core/columns/boolean.js +36 -0
  489. package/singlestore-core/columns/boolean.js.map +1 -0
  490. package/singlestore-core/columns/char.cjs +62 -0
  491. package/singlestore-core/columns/char.cjs.map +1 -0
  492. package/singlestore-core/columns/char.d.cts +31 -0
  493. package/singlestore-core/columns/char.d.ts +31 -0
  494. package/singlestore-core/columns/char.js +36 -0
  495. package/singlestore-core/columns/char.js.map +1 -0
  496. package/singlestore-core/columns/common.cjs +82 -0
  497. package/singlestore-core/columns/common.cjs.map +1 -0
  498. package/singlestore-core/columns/common.d.cts +42 -0
  499. package/singlestore-core/columns/common.d.ts +42 -0
  500. package/singlestore-core/columns/common.js +55 -0
  501. package/singlestore-core/columns/common.js.map +1 -0
  502. package/singlestore-core/columns/custom.cjs +77 -0
  503. package/singlestore-core/columns/custom.cjs.map +1 -0
  504. package/singlestore-core/columns/custom.d.cts +156 -0
  505. package/singlestore-core/columns/custom.d.ts +156 -0
  506. package/singlestore-core/columns/custom.js +51 -0
  507. package/singlestore-core/columns/custom.js.map +1 -0
  508. package/singlestore-core/columns/date.cjs +93 -0
  509. package/singlestore-core/columns/date.cjs.map +1 -0
  510. package/singlestore-core/columns/date.common.cjs +48 -0
  511. package/singlestore-core/columns/date.common.cjs.map +1 -0
  512. package/singlestore-core/columns/date.common.d.cts +16 -0
  513. package/singlestore-core/columns/date.common.d.ts +16 -0
  514. package/singlestore-core/columns/date.common.js +23 -0
  515. package/singlestore-core/columns/date.common.js.map +1 -0
  516. package/singlestore-core/columns/date.d.cts +53 -0
  517. package/singlestore-core/columns/date.d.ts +53 -0
  518. package/singlestore-core/columns/date.js +65 -0
  519. package/singlestore-core/columns/date.js.map +1 -0
  520. package/singlestore-core/columns/datetime.cjs +106 -0
  521. package/singlestore-core/columns/datetime.cjs.map +1 -0
  522. package/singlestore-core/columns/datetime.d.cts +54 -0
  523. package/singlestore-core/columns/datetime.d.ts +54 -0
  524. package/singlestore-core/columns/datetime.js +78 -0
  525. package/singlestore-core/columns/datetime.js.map +1 -0
  526. package/singlestore-core/columns/decimal.cjs +76 -0
  527. package/singlestore-core/columns/decimal.cjs.map +1 -0
  528. package/singlestore-core/columns/decimal.d.cts +32 -0
  529. package/singlestore-core/columns/decimal.d.ts +32 -0
  530. package/singlestore-core/columns/decimal.js +50 -0
  531. package/singlestore-core/columns/decimal.js.map +1 -0
  532. package/singlestore-core/columns/double.cjs +72 -0
  533. package/singlestore-core/columns/double.cjs.map +1 -0
  534. package/singlestore-core/columns/double.d.cts +32 -0
  535. package/singlestore-core/columns/double.d.ts +32 -0
  536. package/singlestore-core/columns/double.js +46 -0
  537. package/singlestore-core/columns/double.js.map +1 -0
  538. package/singlestore-core/columns/enum.cjs +67 -0
  539. package/singlestore-core/columns/enum.cjs.map +1 -0
  540. package/singlestore-core/columns/enum.d.cts +31 -0
  541. package/singlestore-core/columns/enum.d.ts +31 -0
  542. package/singlestore-core/columns/enum.js +41 -0
  543. package/singlestore-core/columns/enum.js.map +1 -0
  544. package/singlestore-core/columns/float.cjs +72 -0
  545. package/singlestore-core/columns/float.cjs.map +1 -0
  546. package/singlestore-core/columns/float.d.cts +32 -0
  547. package/singlestore-core/columns/float.d.ts +32 -0
  548. package/singlestore-core/columns/float.js +46 -0
  549. package/singlestore-core/columns/float.js.map +1 -0
  550. package/singlestore-core/columns/index.cjs +71 -0
  551. package/singlestore-core/columns/index.cjs.map +1 -0
  552. package/singlestore-core/columns/index.d.cts +25 -0
  553. package/singlestore-core/columns/index.d.ts +25 -0
  554. package/singlestore-core/columns/index.js +26 -0
  555. package/singlestore-core/columns/index.js.map +1 -0
  556. package/singlestore-core/columns/int.cjs +65 -0
  557. package/singlestore-core/columns/int.cjs.map +1 -0
  558. package/singlestore-core/columns/int.d.cts +28 -0
  559. package/singlestore-core/columns/int.d.ts +28 -0
  560. package/singlestore-core/columns/int.js +39 -0
  561. package/singlestore-core/columns/int.js.map +1 -0
  562. package/singlestore-core/columns/json.cjs +59 -0
  563. package/singlestore-core/columns/json.cjs.map +1 -0
  564. package/singlestore-core/columns/json.d.cts +24 -0
  565. package/singlestore-core/columns/json.d.ts +24 -0
  566. package/singlestore-core/columns/json.js +33 -0
  567. package/singlestore-core/columns/json.js.map +1 -0
  568. package/singlestore-core/columns/mediumint.cjs +65 -0
  569. package/singlestore-core/columns/mediumint.cjs.map +1 -0
  570. package/singlestore-core/columns/mediumint.d.cts +26 -0
  571. package/singlestore-core/columns/mediumint.d.ts +26 -0
  572. package/singlestore-core/columns/mediumint.js +39 -0
  573. package/singlestore-core/columns/mediumint.js.map +1 -0
  574. package/singlestore-core/columns/real.cjs +68 -0
  575. package/singlestore-core/columns/real.cjs.map +1 -0
  576. package/singlestore-core/columns/real.d.cts +30 -0
  577. package/singlestore-core/columns/real.d.ts +30 -0
  578. package/singlestore-core/columns/real.js +42 -0
  579. package/singlestore-core/columns/real.js.map +1 -0
  580. package/singlestore-core/columns/serial.cjs +64 -0
  581. package/singlestore-core/columns/serial.cjs.map +1 -0
  582. package/singlestore-core/columns/serial.d.cts +24 -0
  583. package/singlestore-core/columns/serial.d.ts +24 -0
  584. package/singlestore-core/columns/serial.js +38 -0
  585. package/singlestore-core/columns/serial.js.map +1 -0
  586. package/singlestore-core/columns/smallint.cjs +65 -0
  587. package/singlestore-core/columns/smallint.cjs.map +1 -0
  588. package/singlestore-core/columns/smallint.d.cts +26 -0
  589. package/singlestore-core/columns/smallint.d.ts +26 -0
  590. package/singlestore-core/columns/smallint.js +39 -0
  591. package/singlestore-core/columns/smallint.js.map +1 -0
  592. package/singlestore-core/columns/text.cjs +80 -0
  593. package/singlestore-core/columns/text.cjs.map +1 -0
  594. package/singlestore-core/columns/text.d.cts +46 -0
  595. package/singlestore-core/columns/text.d.ts +46 -0
  596. package/singlestore-core/columns/text.js +51 -0
  597. package/singlestore-core/columns/text.js.map +1 -0
  598. package/singlestore-core/columns/time.cjs +56 -0
  599. package/singlestore-core/columns/time.cjs.map +1 -0
  600. package/singlestore-core/columns/time.d.cts +23 -0
  601. package/singlestore-core/columns/time.d.ts +23 -0
  602. package/singlestore-core/columns/time.js +30 -0
  603. package/singlestore-core/columns/time.js.map +1 -0
  604. package/singlestore-core/columns/timestamp.cjs +97 -0
  605. package/singlestore-core/columns/timestamp.cjs.map +1 -0
  606. package/singlestore-core/columns/timestamp.d.cts +49 -0
  607. package/singlestore-core/columns/timestamp.d.ts +49 -0
  608. package/singlestore-core/columns/timestamp.js +69 -0
  609. package/singlestore-core/columns/timestamp.js.map +1 -0
  610. package/singlestore-core/columns/tinyint.cjs +65 -0
  611. package/singlestore-core/columns/tinyint.cjs.map +1 -0
  612. package/singlestore-core/columns/tinyint.d.cts +26 -0
  613. package/singlestore-core/columns/tinyint.d.ts +26 -0
  614. package/singlestore-core/columns/tinyint.js +39 -0
  615. package/singlestore-core/columns/tinyint.js.map +1 -0
  616. package/singlestore-core/columns/varbinary.cjs +61 -0
  617. package/singlestore-core/columns/varbinary.cjs.map +1 -0
  618. package/singlestore-core/columns/varbinary.d.cts +26 -0
  619. package/singlestore-core/columns/varbinary.d.ts +26 -0
  620. package/singlestore-core/columns/varbinary.js +35 -0
  621. package/singlestore-core/columns/varbinary.js.map +1 -0
  622. package/singlestore-core/columns/varchar.cjs +63 -0
  623. package/singlestore-core/columns/varchar.cjs.map +1 -0
  624. package/singlestore-core/columns/varchar.d.cts +29 -0
  625. package/singlestore-core/columns/varchar.d.ts +29 -0
  626. package/singlestore-core/columns/varchar.js +37 -0
  627. package/singlestore-core/columns/varchar.js.map +1 -0
  628. package/singlestore-core/columns/year.cjs +56 -0
  629. package/singlestore-core/columns/year.cjs.map +1 -0
  630. package/singlestore-core/columns/year.d.cts +23 -0
  631. package/singlestore-core/columns/year.d.ts +23 -0
  632. package/singlestore-core/columns/year.js +30 -0
  633. package/singlestore-core/columns/year.js.map +1 -0
  634. package/singlestore-core/db.cjs +261 -0
  635. package/singlestore-core/db.cjs.map +1 -0
  636. package/singlestore-core/db.d.cts +231 -0
  637. package/singlestore-core/db.d.ts +231 -0
  638. package/singlestore-core/db.js +242 -0
  639. package/singlestore-core/db.js.map +1 -0
  640. package/singlestore-core/dialect.cjs +607 -0
  641. package/singlestore-core/dialect.cjs.map +1 -0
  642. package/singlestore-core/dialect.d.cts +64 -0
  643. package/singlestore-core/dialect.d.ts +64 -0
  644. package/singlestore-core/dialect.js +589 -0
  645. package/singlestore-core/dialect.js.map +1 -0
  646. package/singlestore-core/expressions.cjs +49 -0
  647. package/singlestore-core/expressions.cjs.map +1 -0
  648. package/singlestore-core/expressions.d.cts +8 -0
  649. package/singlestore-core/expressions.d.ts +8 -0
  650. package/singlestore-core/expressions.js +22 -0
  651. package/singlestore-core/expressions.js.map +1 -0
  652. package/singlestore-core/index.cjs +47 -0
  653. package/singlestore-core/index.cjs.map +1 -0
  654. package/singlestore-core/index.d.cts +13 -0
  655. package/singlestore-core/index.d.ts +13 -0
  656. package/singlestore-core/index.js +14 -0
  657. package/singlestore-core/index.js.map +1 -0
  658. package/singlestore-core/indexes.cjs +88 -0
  659. package/singlestore-core/indexes.cjs.map +1 -0
  660. package/singlestore-core/indexes.d.cts +62 -0
  661. package/singlestore-core/indexes.d.ts +62 -0
  662. package/singlestore-core/indexes.js +60 -0
  663. package/singlestore-core/indexes.js.map +1 -0
  664. package/singlestore-core/primary-keys.cjs +68 -0
  665. package/singlestore-core/primary-keys.cjs.map +1 -0
  666. package/singlestore-core/primary-keys.d.cts +30 -0
  667. package/singlestore-core/primary-keys.d.ts +30 -0
  668. package/singlestore-core/primary-keys.js +42 -0
  669. package/singlestore-core/primary-keys.js.map +1 -0
  670. package/singlestore-core/query-builders/count.cjs +73 -0
  671. package/singlestore-core/query-builders/count.cjs.map +1 -0
  672. package/singlestore-core/query-builders/count.d.cts +25 -0
  673. package/singlestore-core/query-builders/count.d.ts +25 -0
  674. package/singlestore-core/query-builders/count.js +49 -0
  675. package/singlestore-core/query-builders/count.js.map +1 -0
  676. package/singlestore-core/query-builders/delete.cjs +123 -0
  677. package/singlestore-core/query-builders/delete.cjs.map +1 -0
  678. package/singlestore-core/query-builders/delete.d.cts +83 -0
  679. package/singlestore-core/query-builders/delete.d.ts +83 -0
  680. package/singlestore-core/query-builders/delete.js +99 -0
  681. package/singlestore-core/query-builders/delete.js.map +1 -0
  682. package/singlestore-core/query-builders/index.cjs +33 -0
  683. package/singlestore-core/query-builders/index.cjs.map +1 -0
  684. package/singlestore-core/query-builders/index.d.cts +6 -0
  685. package/singlestore-core/query-builders/index.d.ts +6 -0
  686. package/singlestore-core/query-builders/index.js +7 -0
  687. package/singlestore-core/query-builders/index.js.map +1 -0
  688. package/singlestore-core/query-builders/insert.cjs +146 -0
  689. package/singlestore-core/query-builders/insert.cjs.map +1 -0
  690. package/singlestore-core/query-builders/insert.d.cts +106 -0
  691. package/singlestore-core/query-builders/insert.d.ts +106 -0
  692. package/singlestore-core/query-builders/insert.js +121 -0
  693. package/singlestore-core/query-builders/insert.js.map +1 -0
  694. package/singlestore-core/query-builders/query-builder.cjs +99 -0
  695. package/singlestore-core/query-builders/query-builder.cjs.map +1 -0
  696. package/singlestore-core/query-builders/query-builder.d.cts +33 -0
  697. package/singlestore-core/query-builders/query-builder.d.ts +33 -0
  698. package/singlestore-core/query-builders/query-builder.js +75 -0
  699. package/singlestore-core/query-builders/query-builder.js.map +1 -0
  700. package/{mysql-core/query-builders/_query.cjs → singlestore-core/query-builders/query.cjs} +18 -41
  701. package/singlestore-core/query-builders/query.cjs.map +1 -0
  702. package/singlestore-core/query-builders/query.d.cts +42 -0
  703. package/singlestore-core/query-builders/query.d.ts +42 -0
  704. package/{mysql-core/query-builders/_query.js → singlestore-core/query-builders/query.js} +18 -29
  705. package/singlestore-core/query-builders/query.js.map +1 -0
  706. package/singlestore-core/query-builders/select.cjs +687 -0
  707. package/singlestore-core/query-builders/select.cjs.map +1 -0
  708. package/singlestore-core/query-builders/select.d.cts +585 -0
  709. package/singlestore-core/query-builders/select.d.ts +585 -0
  710. package/singlestore-core/query-builders/select.js +662 -0
  711. package/singlestore-core/query-builders/select.js.map +1 -0
  712. package/singlestore-core/query-builders/select.types.cjs +17 -0
  713. package/singlestore-core/query-builders/select.types.cjs.map +1 -0
  714. package/singlestore-core/query-builders/select.types.d.cts +137 -0
  715. package/singlestore-core/query-builders/select.types.d.ts +137 -0
  716. package/singlestore-core/query-builders/select.types.js +1 -0
  717. package/singlestore-core/query-builders/select.types.js.map +1 -0
  718. package/singlestore-core/query-builders/update.cjs +147 -0
  719. package/singlestore-core/query-builders/update.cjs.map +1 -0
  720. package/singlestore-core/query-builders/update.d.cts +102 -0
  721. package/singlestore-core/query-builders/update.d.ts +102 -0
  722. package/singlestore-core/query-builders/update.js +122 -0
  723. package/singlestore-core/query-builders/update.js.map +1 -0
  724. package/singlestore-core/schema.cjs +56 -0
  725. package/singlestore-core/schema.cjs.map +1 -0
  726. package/singlestore-core/schema.d.cts +22 -0
  727. package/singlestore-core/schema.d.ts +22 -0
  728. package/singlestore-core/schema.js +29 -0
  729. package/singlestore-core/schema.js.map +1 -0
  730. package/singlestore-core/session.cjs +87 -0
  731. package/singlestore-core/session.cjs.map +1 -0
  732. package/singlestore-core/session.d.cts +66 -0
  733. package/singlestore-core/session.d.ts +66 -0
  734. package/singlestore-core/session.js +61 -0
  735. package/singlestore-core/session.js.map +1 -0
  736. package/singlestore-core/subquery.cjs +17 -0
  737. package/singlestore-core/subquery.cjs.map +1 -0
  738. package/singlestore-core/subquery.d.cts +5 -0
  739. package/singlestore-core/subquery.d.ts +5 -0
  740. package/singlestore-core/subquery.js +1 -0
  741. package/singlestore-core/subquery.js.map +1 -0
  742. package/singlestore-core/table.cjs +73 -0
  743. package/singlestore-core/table.cjs.map +1 -0
  744. package/singlestore-core/table.d.cts +40 -0
  745. package/singlestore-core/table.d.ts +40 -0
  746. package/singlestore-core/table.js +46 -0
  747. package/singlestore-core/table.js.map +1 -0
  748. package/singlestore-core/unique-constraint.cjs +82 -0
  749. package/singlestore-core/unique-constraint.cjs.map +1 -0
  750. package/singlestore-core/unique-constraint.d.cts +24 -0
  751. package/singlestore-core/unique-constraint.d.ts +24 -0
  752. package/singlestore-core/unique-constraint.js +54 -0
  753. package/singlestore-core/unique-constraint.js.map +1 -0
  754. package/singlestore-core/utils.cjs +65 -0
  755. package/singlestore-core/utils.cjs.map +1 -0
  756. package/singlestore-core/utils.d.cts +13 -0
  757. package/singlestore-core/utils.d.ts +13 -0
  758. package/singlestore-core/utils.js +41 -0
  759. package/singlestore-core/utils.js.map +1 -0
  760. package/singlestore-core/view-base.cjs +33 -0
  761. package/singlestore-core/view-base.cjs.map +1 -0
  762. package/singlestore-core/view-base.d.cts +9 -0
  763. package/singlestore-core/view-base.d.ts +9 -0
  764. package/singlestore-core/view-base.js +9 -0
  765. package/singlestore-core/view-base.js.map +1 -0
  766. package/singlestore-core/view-common.cjs +29 -0
  767. package/singlestore-core/view-common.cjs.map +1 -0
  768. package/singlestore-core/view-common.d.cts +1 -0
  769. package/singlestore-core/view-common.d.ts +1 -0
  770. package/singlestore-core/view-common.js +5 -0
  771. package/singlestore-core/view-common.js.map +1 -0
  772. package/singlestore-core/view.cjs +146 -0
  773. package/singlestore-core/view.cjs.map +1 -0
  774. package/singlestore-core/view.d.cts +65 -0
  775. package/singlestore-core/view.d.ts +65 -0
  776. package/singlestore-core/view.js +119 -0
  777. package/singlestore-core/view.js.map +1 -0
  778. package/singlestore-proxy/driver.cjs +62 -0
  779. package/singlestore-proxy/driver.cjs.map +1 -0
  780. package/singlestore-proxy/driver.d.cts +13 -0
  781. package/singlestore-proxy/driver.d.ts +13 -0
  782. package/singlestore-proxy/driver.js +42 -0
  783. package/singlestore-proxy/driver.js.map +1 -0
  784. package/singlestore-proxy/index.cjs +25 -0
  785. package/singlestore-proxy/index.cjs.map +1 -0
  786. package/singlestore-proxy/index.d.cts +2 -0
  787. package/singlestore-proxy/index.d.ts +2 -0
  788. package/singlestore-proxy/index.js +3 -0
  789. package/singlestore-proxy/index.js.map +1 -0
  790. package/singlestore-proxy/migrator.cjs +60 -0
  791. package/singlestore-proxy/migrator.cjs.map +1 -0
  792. package/singlestore-proxy/migrator.d.cts +4 -0
  793. package/singlestore-proxy/migrator.d.ts +4 -0
  794. package/singlestore-proxy/migrator.js +36 -0
  795. package/singlestore-proxy/migrator.js.map +1 -0
  796. package/singlestore-proxy/session.cjs +127 -0
  797. package/singlestore-proxy/session.cjs.map +1 -0
  798. package/singlestore-proxy/session.d.cts +50 -0
  799. package/singlestore-proxy/session.d.ts +50 -0
  800. package/singlestore-proxy/session.js +101 -0
  801. package/singlestore-proxy/session.js.map +1 -0
  802. package/sql/sql.cjs.map +1 -1
  803. package/sql/sql.d.cts +4 -4
  804. package/sql/sql.d.ts +4 -4
  805. package/sql/sql.js.map +1 -1
  806. package/sql-js/driver.cjs +5 -16
  807. package/sql-js/driver.cjs.map +1 -1
  808. package/sql-js/driver.d.cts +2 -3
  809. package/sql-js/driver.d.ts +2 -3
  810. package/sql-js/driver.js +8 -6
  811. package/sql-js/driver.js.map +1 -1
  812. package/sql-js/migrator.cjs.map +1 -1
  813. package/sql-js/migrator.d.cts +1 -2
  814. package/sql-js/migrator.d.ts +1 -2
  815. package/sql-js/migrator.js.map +1 -1
  816. package/sql-js/session.cjs +4 -58
  817. package/sql-js/session.cjs.map +1 -1
  818. package/sql-js/session.d.cts +8 -14
  819. package/sql-js/session.d.ts +8 -14
  820. package/sql-js/session.js +4 -58
  821. package/sql-js/session.js.map +1 -1
  822. package/sqlite-core/columns/blob.cjs +16 -2
  823. package/sqlite-core/columns/blob.cjs.map +1 -1
  824. package/sqlite-core/columns/blob.d.cts +2 -2
  825. package/sqlite-core/columns/blob.d.ts +2 -2
  826. package/sqlite-core/columns/blob.js +16 -2
  827. package/sqlite-core/columns/blob.js.map +1 -1
  828. package/sqlite-core/db.cjs +14 -35
  829. package/sqlite-core/db.cjs.map +1 -1
  830. package/sqlite-core/db.d.cts +8 -15
  831. package/sqlite-core/db.d.ts +8 -15
  832. package/sqlite-core/db.js +13 -34
  833. package/sqlite-core/db.js.map +1 -1
  834. package/sqlite-core/dialect.cjs +7 -164
  835. package/sqlite-core/dialect.cjs.map +1 -1
  836. package/sqlite-core/dialect.d.cts +9 -25
  837. package/sqlite-core/dialect.d.ts +9 -25
  838. package/sqlite-core/dialect.js +13 -161
  839. package/sqlite-core/dialect.js.map +1 -1
  840. package/sqlite-core/query-builders/count.cjs.map +1 -1
  841. package/sqlite-core/query-builders/count.d.cts +1 -1
  842. package/sqlite-core/query-builders/count.d.ts +1 -1
  843. package/sqlite-core/query-builders/count.js.map +1 -1
  844. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  845. package/sqlite-core/query-builders/delete.d.cts +1 -1
  846. package/sqlite-core/query-builders/delete.d.ts +1 -1
  847. package/sqlite-core/query-builders/delete.js.map +1 -1
  848. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  849. package/sqlite-core/query-builders/insert.d.cts +3 -3
  850. package/sqlite-core/query-builders/insert.d.ts +3 -3
  851. package/sqlite-core/query-builders/insert.js.map +1 -1
  852. package/sqlite-core/query-builders/query.cjs +48 -30
  853. package/sqlite-core/query-builders/query.cjs.map +1 -1
  854. package/sqlite-core/query-builders/query.d.cts +16 -14
  855. package/sqlite-core/query-builders/query.d.ts +16 -14
  856. package/sqlite-core/query-builders/query.js +48 -30
  857. package/sqlite-core/query-builders/query.js.map +1 -1
  858. package/sqlite-core/query-builders/select.cjs.map +1 -1
  859. package/sqlite-core/query-builders/select.d.cts +3 -3
  860. package/sqlite-core/query-builders/select.d.ts +3 -3
  861. package/sqlite-core/query-builders/select.js.map +1 -1
  862. package/sqlite-core/query-builders/update.cjs.map +1 -1
  863. package/sqlite-core/query-builders/update.d.cts +3 -3
  864. package/sqlite-core/query-builders/update.d.ts +3 -3
  865. package/sqlite-core/query-builders/update.js.map +1 -1
  866. package/sqlite-core/session.cjs +2 -6
  867. package/sqlite-core/session.cjs.map +1 -1
  868. package/sqlite-core/session.d.cts +6 -14
  869. package/sqlite-core/session.d.ts +6 -14
  870. package/sqlite-core/session.js +2 -6
  871. package/sqlite-core/session.js.map +1 -1
  872. package/sqlite-proxy/driver.cjs +5 -22
  873. package/sqlite-proxy/driver.cjs.map +1 -1
  874. package/sqlite-proxy/driver.d.cts +3 -4
  875. package/sqlite-proxy/driver.d.ts +3 -4
  876. package/sqlite-proxy/driver.js +5 -12
  877. package/sqlite-proxy/driver.js.map +1 -1
  878. package/sqlite-proxy/migrator.cjs.map +1 -1
  879. package/sqlite-proxy/migrator.d.cts +1 -2
  880. package/sqlite-proxy/migrator.d.ts +1 -2
  881. package/sqlite-proxy/migrator.js.map +1 -1
  882. package/sqlite-proxy/session.cjs +4 -47
  883. package/sqlite-proxy/session.cjs.map +1 -1
  884. package/sqlite-proxy/session.d.cts +8 -14
  885. package/sqlite-proxy/session.d.ts +8 -14
  886. package/sqlite-proxy/session.js +4 -47
  887. package/sqlite-proxy/session.js.map +1 -1
  888. package/table.cjs.map +1 -1
  889. package/table.d.cts +1 -1
  890. package/table.d.ts +1 -1
  891. package/table.js.map +1 -1
  892. package/tidb-serverless/driver.cjs +5 -22
  893. package/tidb-serverless/driver.cjs.map +1 -1
  894. package/tidb-serverless/driver.d.cts +6 -7
  895. package/tidb-serverless/driver.d.ts +6 -7
  896. package/tidb-serverless/driver.js +8 -12
  897. package/tidb-serverless/driver.js.map +1 -1
  898. package/tidb-serverless/migrator.cjs.map +1 -1
  899. package/tidb-serverless/migrator.d.cts +1 -2
  900. package/tidb-serverless/migrator.d.ts +1 -2
  901. package/tidb-serverless/migrator.js.map +1 -1
  902. package/tidb-serverless/session.cjs +5 -62
  903. package/tidb-serverless/session.cjs.map +1 -1
  904. package/tidb-serverless/session.d.cts +9 -14
  905. package/tidb-serverless/session.d.ts +9 -14
  906. package/tidb-serverless/session.js +5 -62
  907. package/tidb-serverless/session.js.map +1 -1
  908. package/utils.cjs +2 -2
  909. package/utils.cjs.map +1 -1
  910. package/utils.d.cts +2 -3
  911. package/utils.d.ts +2 -3
  912. package/utils.js +2 -2
  913. package/utils.js.map +1 -1
  914. package/vercel-postgres/driver.cjs +7 -23
  915. package/vercel-postgres/driver.cjs.map +1 -1
  916. package/vercel-postgres/driver.d.cts +8 -9
  917. package/vercel-postgres/driver.d.ts +8 -9
  918. package/vercel-postgres/driver.js +10 -13
  919. package/vercel-postgres/driver.js.map +1 -1
  920. package/vercel-postgres/migrator.cjs.map +1 -1
  921. package/vercel-postgres/migrator.d.cts +1 -2
  922. package/vercel-postgres/migrator.d.ts +1 -2
  923. package/vercel-postgres/migrator.js.map +1 -1
  924. package/vercel-postgres/session.cjs +4 -34
  925. package/vercel-postgres/session.cjs.map +1 -1
  926. package/vercel-postgres/session.d.cts +8 -13
  927. package/vercel-postgres/session.d.ts +8 -13
  928. package/vercel-postgres/session.js +4 -34
  929. package/vercel-postgres/session.js.map +1 -1
  930. package/version.cjs +1 -1
  931. package/version.d.cts +1 -1
  932. package/version.d.ts +1 -1
  933. package/version.js +1 -1
  934. package/xata-http/driver.cjs +5 -17
  935. package/xata-http/driver.cjs.map +1 -1
  936. package/xata-http/driver.d.cts +4 -5
  937. package/xata-http/driver.d.ts +4 -5
  938. package/xata-http/driver.js +5 -7
  939. package/xata-http/driver.js.map +1 -1
  940. package/xata-http/migrator.cjs.map +1 -1
  941. package/xata-http/migrator.d.cts +1 -2
  942. package/xata-http/migrator.d.ts +1 -2
  943. package/xata-http/migrator.js.map +1 -1
  944. package/xata-http/session.cjs +2 -30
  945. package/xata-http/session.cjs.map +1 -1
  946. package/xata-http/session.d.cts +8 -13
  947. package/xata-http/session.d.ts +8 -13
  948. package/xata-http/session.js +2 -30
  949. package/xata-http/session.js.map +1 -1
  950. package/_relations.cjs +0 -328
  951. package/_relations.cjs.map +0 -1
  952. package/_relations.d.cts +0 -215
  953. package/_relations.d.ts +0 -215
  954. package/_relations.js +0 -316
  955. package/_relations.js.map +0 -1
  956. package/mysql-core/query-builders/_query.cjs.map +0 -1
  957. package/mysql-core/query-builders/_query.d.cts +0 -44
  958. package/mysql-core/query-builders/_query.d.ts +0 -44
  959. package/mysql-core/query-builders/_query.js.map +0 -1
  960. package/pg-core/query-builders/_query.cjs +0 -155
  961. package/pg-core/query-builders/_query.cjs.map +0 -1
  962. package/pg-core/query-builders/_query.d.cts +0 -47
  963. package/pg-core/query-builders/_query.d.ts +0 -47
  964. package/pg-core/query-builders/_query.js +0 -120
  965. package/pg-core/query-builders/_query.js.map +0 -1
  966. package/sqlite-core/query-builders/_query.cjs +0 -187
  967. package/sqlite-core/query-builders/_query.cjs.map +0 -1
  968. package/sqlite-core/query-builders/_query.d.cts +0 -55
  969. package/sqlite-core/query-builders/_query.d.ts +0 -55
  970. package/sqlite-core/query-builders/_query.js +0 -151
  971. package/sqlite-core/query-builders/_query.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/column-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Column } from './column.ts';\nimport type { MySqlColumn } from './mysql-core/index.ts';\nimport type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from './pg-core/index.ts';\nimport type { SQL } from './sql/sql.ts';\nimport type { SQLiteColumn } from './sqlite-core/index.ts';\nimport type { Assume, Simplify } from './utils.ts';\n\nexport type ColumnDataType =\n\t| 'string'\n\t| 'number'\n\t| 'boolean'\n\t| 'array'\n\t| 'json'\n\t| 'date'\n\t| 'bigint'\n\t| 'custom'\n\t| 'buffer';\n\nexport type Dialect = 'pg' | 'mysql' | 'sqlite' | 'common';\n\nexport type GeneratedStorageMode = 'virtual' | 'stored';\n\nexport type GeneratedType = 'always' | 'byDefault';\n\nexport type GeneratedColumnConfig<TDataType> = {\n\tas: TDataType | SQL | (() => SQL);\n\ttype?: GeneratedType;\n\tmode?: GeneratedStorageMode;\n};\n\nexport type GeneratedIdentityConfig = {\n\tsequenceName?: string;\n\tsequenceOptions?: PgSequenceOptions;\n\ttype: 'always' | 'byDefault';\n};\n\nexport interface ColumnBuilderBaseConfig<TDataType extends ColumnDataType, TColumnType extends string> {\n\tname: string;\n\tdataType: TDataType;\n\tcolumnType: TColumnType;\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: string[] | undefined;\n}\n\nexport type MakeColumnConfig<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTableName extends string,\n\tTData = T extends { $type: infer U } ? U : T['data'],\n> = {\n\tname: T['name'];\n\ttableName: TTableName;\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: TData;\n\tdriverParam: T['driverParam'];\n\tnotNull: T extends { notNull: true } ? true : false;\n\thasDefault: T extends { hasDefault: true } ? true : false;\n\tisPrimaryKey: T extends { isPrimaryKey: true } ? true : false;\n\tisAutoincrement: T extends { isAutoincrement: true } ? true : false;\n\thasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn<TTableName, U, 'common'>\n\t\t: never;\n\tidentity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;\n\tgenerated: T extends { generated: infer G } ? unknown extends G ? undefined\n\t\t: G extends undefined ? undefined\n\t\t: G\n\t\t: undefined;\n} & {};\n\nexport type ColumnBuilderTypeConfig<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> = Simplify<\n\t& {\n\t\tbrand: 'ColumnBuilder';\n\t\tname: T['name'];\n\t\tdataType: T['dataType'];\n\t\tcolumnType: T['columnType'];\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverParam'];\n\t\tnotNull: T extends { notNull: infer U } ? U : boolean;\n\t\thasDefault: T extends { hasDefault: infer U } ? U : boolean;\n\t\tenumValues: T['enumValues'];\n\t\tidentity: T extends { identity: infer U } ? U : unknown;\n\t\tgenerated: T extends { generated: infer G } ? G extends undefined ? unknown : G : unknown;\n\t}\n\t& TTypeConfig\n>;\n\nexport type ColumnBuilderRuntimeConfig<TData, TRuntimeConfig extends object = object> = {\n\tname: string;\n\tkeyAsName: boolean;\n\tnotNull: boolean;\n\tdefault: TData | SQL | undefined;\n\tdefaultFn: (() => TData | SQL) | undefined;\n\tonUpdateFn: (() => TData | SQL) | undefined;\n\thasDefault: boolean;\n\tprimaryKey: boolean;\n\tisUnique: boolean;\n\tuniqueName: string | undefined;\n\tuniqueType: string | undefined;\n\tdataType: string;\n\tcolumnType: string;\n\tgenerated: GeneratedColumnConfig<TData> | undefined;\n\tgeneratedIdentity: GeneratedIdentityConfig | undefined;\n} & TRuntimeConfig;\n\nexport interface ColumnBuilderExtraConfig {\n\tprimaryKeyHasDefault?: boolean;\n}\n\nexport type NotNull<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tnotNull: true;\n\t};\n};\n\nexport type HasDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasDefault: true;\n\t};\n};\n\nexport type IsPrimaryKey<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisPrimaryKey: true;\n\t};\n};\n\nexport type IsAutoincrement<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisAutoincrement: true;\n\t};\n};\n\nexport type HasRuntimeDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasRuntimeDefault: true;\n\t};\n};\n\nexport type $Type<T extends ColumnBuilderBase, TType> = T & {\n\t_: {\n\t\t$type: TType;\n\t};\n};\n\nexport type HasGenerated<T extends ColumnBuilderBase, TGenerated extends {} = {}> = T & {\n\t_: {\n\t\thasDefault: true;\n\t\tgenerated: TGenerated;\n\t};\n};\n\nexport type IsIdentity<\n\tT extends ColumnBuilderBase,\n\tTType extends 'always' | 'byDefault',\n> = T & {\n\t_: {\n\t\tnotNull: true;\n\t\thasDefault: true;\n\t\tidentity: TType;\n\t};\n};\nexport interface ColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> {\n\t_: ColumnBuilderTypeConfig<T, TTypeConfig>;\n}\n\n// To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.\nexport abstract class ColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> implements ColumnBuilderBase<T, TTypeConfig> {\n\tstatic readonly [entityKind]: string = 'ColumnBuilder';\n\n\tdeclare _: ColumnBuilderTypeConfig<T, TTypeConfig>;\n\n\tprotected config: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tkeyAsName: name === '',\n\t\t\tnotNull: false,\n\t\t\tdefault: undefined,\n\t\t\thasDefault: false,\n\t\t\tprimaryKey: false,\n\t\t\tisUnique: false,\n\t\t\tuniqueName: undefined,\n\t\t\tuniqueType: undefined,\n\t\t\tdataType,\n\t\t\tcolumnType,\n\t\t\tgenerated: undefined,\n\t\t} as ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\t}\n\n\t/**\n\t * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n\t *\n\t * @example\n\t * ```ts\n\t * const users = pgTable('users', {\n\t * \tid: integer('id').$type<UserId>().primaryKey(),\n\t * \tdetails: json('details').$type<UserDetails>().notNull(),\n\t * });\n\t * ```\n\t */\n\t$type<TType>(): $Type<this, TType> {\n\t\treturn this as $Type<this, TType>;\n\t}\n\n\t/**\n\t * Adds a `not null` clause to the column definition.\n\t *\n\t * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n\t */\n\tnotNull(): NotNull<this> {\n\t\tthis.config.notNull = true;\n\t\treturn this as NotNull<this>;\n\t}\n\n\t/**\n\t * Adds a `default <value>` clause to the column definition.\n\t *\n\t * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n\t *\n\t * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n\t */\n\tdefault(value: (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL): HasDefault<this> {\n\t\tthis.config.default = value;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Adds a dynamic default value to the column.\n\t * The function will be called when the row is inserted, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$defaultFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasRuntimeDefault<HasDefault<this>> {\n\t\tthis.config.defaultFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasRuntimeDefault<HasDefault<this>>;\n\t}\n\n\t/**\n\t * Alias for {@link $defaultFn}.\n\t */\n\t$default = this.$defaultFn;\n\n\t/**\n\t * Adds a dynamic update value to the column.\n\t * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n\t * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$onUpdateFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasDefault<this> {\n\t\tthis.config.onUpdateFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Alias for {@link $onUpdateFn}.\n\t */\n\t$onUpdate = this.$onUpdateFn;\n\n\t/**\n\t * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n\t *\n\t * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n\t */\n\tprimaryKey(): TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t: IsPrimaryKey<NotNull<this>>\n\t{\n\t\tthis.config.primaryKey = true;\n\t\tthis.config.notNull = true;\n\t\treturn this as TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t\t: IsPrimaryKey<NotNull<this>>;\n\t}\n\n\tabstract generatedAlwaysAs(\n\t\tas: SQL | T['data'] | (() => SQL),\n\t\tconfig?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, {\n\t\ttype: 'always';\n\t}>;\n\n\t/** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n\tsetName(name: string) {\n\t\tif (this.config.name !== '') return;\n\t\tthis.config.name = name;\n\t}\n}\n\nexport type BuildColumn<\n\tTTableName extends string,\n\tTBuilder extends ColumnBuilderBase,\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: never;\n\nexport type BuildIndexColumn<\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? ExtraConfigColumn : never;\n\n// TODO\n// try to make sql as well + indexRaw\n\n// optional after everything will be working as expected\n// also try to leave only needed methods for extraConfig\n// make an error if I pass .asc() to fk and so on\n\nexport type BuildColumns<\n\tTTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildColumn<TTableName, {\n\t\t\t_:\n\t\t\t\t& Omit<TConfigMap[Key]['_'], 'name'>\n\t\t\t\t& { name: TConfigMap[Key]['_']['name'] extends '' ? Assume<Key, string> : TConfigMap[Key]['_']['name'] };\n\t\t}, TDialect>;\n\t}\n\t& {};\n\nexport type BuildExtraConfigColumns<\n\t_TTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildIndexColumn<TDialect>;\n\t}\n\t& {};\n\nexport type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> =\n\tTDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: never;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAgLpB,MAAe,cAKyB;AAAA,EAC9C,QAAiB,wBAAU,IAAY;AAAA,EAI7B;AAAA,EAEV,YAAY,MAAiB,UAAyB,YAA6B;AAClF,SAAK,SAAS;AAAA,MACb;AAAA,MACA,WAAW,SAAS;AAAA,MACpB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,WAAW;AAAA,IACZ;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,QAAmC;AAClC,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAyB;AACxB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAAQ,OAA+F;AACtG,SAAK,OAAO,UAAU;AACtB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,WACC,IACsC;AACtC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,YACC,IACmB;AACnB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjB,aAEA;AACC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EAER;AAAA;AAAA,EAUA,QAAQ,MAAc;AACrB,QAAI,KAAK,OAAO,SAAS;AAAI;AAC7B,SAAK,OAAO,OAAO;AAAA,EACpB;AACD;","names":[]}
1
+ {"version":3,"sources":["../src/column-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Column } from './column.ts';\nimport type { MySqlColumn } from './mysql-core/index.ts';\nimport type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from './pg-core/index.ts';\nimport type { SingleStoreColumn } from './singlestore-core/index.ts';\nimport type { SQL } from './sql/sql.ts';\nimport type { SQLiteColumn } from './sqlite-core/index.ts';\nimport type { Assume, Simplify } from './utils.ts';\n\nexport type ColumnDataType =\n\t| 'string'\n\t| 'number'\n\t| 'boolean'\n\t| 'array'\n\t| 'json'\n\t| 'date'\n\t| 'bigint'\n\t| 'custom'\n\t| 'buffer';\n\nexport type Dialect = 'pg' | 'mysql' | 'sqlite' | 'singlestore' | 'common';\n\nexport type GeneratedStorageMode = 'virtual' | 'stored';\n\nexport type GeneratedType = 'always' | 'byDefault';\n\nexport type GeneratedColumnConfig<TDataType> = {\n\tas: TDataType | SQL | (() => SQL);\n\ttype?: GeneratedType;\n\tmode?: GeneratedStorageMode;\n};\n\nexport type GeneratedIdentityConfig = {\n\tsequenceName?: string;\n\tsequenceOptions?: PgSequenceOptions;\n\ttype: 'always' | 'byDefault';\n};\n\nexport interface ColumnBuilderBaseConfig<TDataType extends ColumnDataType, TColumnType extends string> {\n\tname: string;\n\tdataType: TDataType;\n\tcolumnType: TColumnType;\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: string[] | undefined;\n}\n\nexport type MakeColumnConfig<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTableName extends string,\n\tTData = T extends { $type: infer U } ? U : T['data'],\n> = {\n\tname: T['name'];\n\ttableName: TTableName;\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: TData;\n\tdriverParam: T['driverParam'];\n\tnotNull: T extends { notNull: true } ? true : false;\n\thasDefault: T extends { hasDefault: true } ? true : false;\n\tisPrimaryKey: T extends { isPrimaryKey: true } ? true : false;\n\tisAutoincrement: T extends { isAutoincrement: true } ? true : false;\n\thasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn<TTableName, U, 'common'>\n\t\t: never;\n\tidentity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;\n\tgenerated: T extends { generated: infer G } ? unknown extends G ? undefined\n\t\t: G extends undefined ? undefined\n\t\t: G\n\t\t: undefined;\n} & {};\n\nexport type ColumnBuilderTypeConfig<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> = Simplify<\n\t& {\n\t\tbrand: 'ColumnBuilder';\n\t\tname: T['name'];\n\t\tdataType: T['dataType'];\n\t\tcolumnType: T['columnType'];\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverParam'];\n\t\tnotNull: T extends { notNull: infer U } ? U : boolean;\n\t\thasDefault: T extends { hasDefault: infer U } ? U : boolean;\n\t\tenumValues: T['enumValues'];\n\t\tidentity: T extends { identity: infer U } ? U : unknown;\n\t\tgenerated: T extends { generated: infer G } ? G extends undefined ? unknown : G : unknown;\n\t}\n\t& TTypeConfig\n>;\n\nexport type ColumnBuilderRuntimeConfig<TData, TRuntimeConfig extends object = object> = {\n\tname: string;\n\tkeyAsName: boolean;\n\tnotNull: boolean;\n\tdefault: TData | SQL | undefined;\n\tdefaultFn: (() => TData | SQL) | undefined;\n\tonUpdateFn: (() => TData | SQL) | undefined;\n\thasDefault: boolean;\n\tprimaryKey: boolean;\n\tisUnique: boolean;\n\tuniqueName: string | undefined;\n\tuniqueType: string | undefined;\n\tdataType: string;\n\tcolumnType: string;\n\tgenerated: GeneratedColumnConfig<TData> | undefined;\n\tgeneratedIdentity: GeneratedIdentityConfig | undefined;\n} & TRuntimeConfig;\n\nexport interface ColumnBuilderExtraConfig {\n\tprimaryKeyHasDefault?: boolean;\n}\n\nexport type NotNull<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tnotNull: true;\n\t};\n};\n\nexport type HasDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasDefault: true;\n\t};\n};\n\nexport type IsPrimaryKey<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisPrimaryKey: true;\n\t};\n};\n\nexport type IsAutoincrement<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisAutoincrement: true;\n\t};\n};\n\nexport type HasRuntimeDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasRuntimeDefault: true;\n\t};\n};\n\nexport type $Type<T extends ColumnBuilderBase, TType> = T & {\n\t_: {\n\t\t$type: TType;\n\t};\n};\n\nexport type HasGenerated<T extends ColumnBuilderBase, TGenerated extends {} = {}> = T & {\n\t_: {\n\t\thasDefault: true;\n\t\tgenerated: TGenerated;\n\t};\n};\n\nexport type IsIdentity<\n\tT extends ColumnBuilderBase,\n\tTType extends 'always' | 'byDefault',\n> = T & {\n\t_: {\n\t\tnotNull: true;\n\t\thasDefault: true;\n\t\tidentity: TType;\n\t};\n};\nexport interface ColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> {\n\t_: ColumnBuilderTypeConfig<T, TTypeConfig>;\n}\n\n// To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.\nexport abstract class ColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> implements ColumnBuilderBase<T, TTypeConfig> {\n\tstatic readonly [entityKind]: string = 'ColumnBuilder';\n\n\tdeclare _: ColumnBuilderTypeConfig<T, TTypeConfig>;\n\n\tprotected config: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tkeyAsName: name === '',\n\t\t\tnotNull: false,\n\t\t\tdefault: undefined,\n\t\t\thasDefault: false,\n\t\t\tprimaryKey: false,\n\t\t\tisUnique: false,\n\t\t\tuniqueName: undefined,\n\t\t\tuniqueType: undefined,\n\t\t\tdataType,\n\t\t\tcolumnType,\n\t\t\tgenerated: undefined,\n\t\t} as ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\t}\n\n\t/**\n\t * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n\t *\n\t * @example\n\t * ```ts\n\t * const users = pgTable('users', {\n\t * \tid: integer('id').$type<UserId>().primaryKey(),\n\t * \tdetails: json('details').$type<UserDetails>().notNull(),\n\t * });\n\t * ```\n\t */\n\t$type<TType>(): $Type<this, TType> {\n\t\treturn this as $Type<this, TType>;\n\t}\n\n\t/**\n\t * Adds a `not null` clause to the column definition.\n\t *\n\t * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n\t */\n\tnotNull(): NotNull<this> {\n\t\tthis.config.notNull = true;\n\t\treturn this as NotNull<this>;\n\t}\n\n\t/**\n\t * Adds a `default <value>` clause to the column definition.\n\t *\n\t * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n\t *\n\t * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n\t */\n\tdefault(value: (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL): HasDefault<this> {\n\t\tthis.config.default = value;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Adds a dynamic default value to the column.\n\t * The function will be called when the row is inserted, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$defaultFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasRuntimeDefault<HasDefault<this>> {\n\t\tthis.config.defaultFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasRuntimeDefault<HasDefault<this>>;\n\t}\n\n\t/**\n\t * Alias for {@link $defaultFn}.\n\t */\n\t$default = this.$defaultFn;\n\n\t/**\n\t * Adds a dynamic update value to the column.\n\t * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n\t * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$onUpdateFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasDefault<this> {\n\t\tthis.config.onUpdateFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Alias for {@link $onUpdateFn}.\n\t */\n\t$onUpdate = this.$onUpdateFn;\n\n\t/**\n\t * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n\t *\n\t * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n\t */\n\tprimaryKey(): TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t: IsPrimaryKey<NotNull<this>>\n\t{\n\t\tthis.config.primaryKey = true;\n\t\tthis.config.notNull = true;\n\t\treturn this as TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t\t: IsPrimaryKey<NotNull<this>>;\n\t}\n\n\tabstract generatedAlwaysAs(\n\t\tas: SQL | T['data'] | (() => SQL),\n\t\tconfig?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, {\n\t\ttype: 'always';\n\t}>;\n\n\t/** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n\tsetName(name: string) {\n\t\tif (this.config.name !== '') return;\n\t\tthis.config.name = name;\n\t}\n}\n\nexport type BuildColumn<\n\tTTableName extends string,\n\tTBuilder extends ColumnBuilderBase,\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: never;\n\nexport type BuildIndexColumn<\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? ExtraConfigColumn : never;\n\n// TODO\n// try to make sql as well + indexRaw\n\n// optional after everything will be working as expected\n// also try to leave only needed methods for extraConfig\n// make an error if I pass .asc() to fk and so on\n\nexport type BuildColumns<\n\tTTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildColumn<TTableName, {\n\t\t\t_:\n\t\t\t\t& Omit<TConfigMap[Key]['_'], 'name'>\n\t\t\t\t& { name: TConfigMap[Key]['_']['name'] extends '' ? Assume<Key, string> : TConfigMap[Key]['_']['name'] };\n\t\t}, TDialect>;\n\t}\n\t& {};\n\nexport type BuildExtraConfigColumns<\n\t_TTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildIndexColumn<TDialect>;\n\t}\n\t& {};\n\nexport type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> =\n\tTDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: never;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAiLpB,MAAe,cAKyB;AAAA,EAC9C,QAAiB,wBAAU,IAAY;AAAA,EAI7B;AAAA,EAEV,YAAY,MAAiB,UAAyB,YAA6B;AAClF,SAAK,SAAS;AAAA,MACb;AAAA,MACA,WAAW,SAAS;AAAA,MACpB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,WAAW;AAAA,IACZ;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,QAAmC;AAClC,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAyB;AACxB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAAQ,OAA+F;AACtG,SAAK,OAAO,UAAU;AACtB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,WACC,IACsC;AACtC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,YACC,IACmB;AACnB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjB,aAEA;AACC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EAER;AAAA;AAAA,EAUA,QAAQ,MAAc;AACrB,QAAI,KAAK,OAAO,SAAS;AAAI;AAC7B,SAAK,OAAO,OAAO;AAAA,EACpB;AACD;","names":[]}
@@ -2,11 +2,12 @@ import { entityKind } from "./entity.cjs";
2
2
  import type { Column } from "./column.cjs";
3
3
  import type { MySqlColumn } from "./mysql-core/index.cjs";
4
4
  import type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from "./pg-core/index.cjs";
5
+ import type { SingleStoreColumn } from "./singlestore-core/index.cjs";
5
6
  import type { SQL } from "./sql/sql.cjs";
6
7
  import type { SQLiteColumn } from "./sqlite-core/index.cjs";
7
8
  import type { Assume, Simplify } from "./utils.cjs";
8
9
  export type ColumnDataType = 'string' | 'number' | 'boolean' | 'array' | 'json' | 'date' | 'bigint' | 'custom' | 'buffer';
9
- export type Dialect = 'pg' | 'mysql' | 'sqlite' | 'common';
10
+ export type Dialect = 'pg' | 'mysql' | 'sqlite' | 'singlestore' | 'common';
10
11
  export type GeneratedStorageMode = 'virtual' | 'stored';
11
12
  export type GeneratedType = 'always' | 'byDefault';
12
13
  export type GeneratedColumnConfig<TDataType> = {
@@ -225,7 +226,7 @@ export declare abstract class ColumnBuilder<T extends ColumnBuilderBaseConfig<Co
225
226
  type: 'always';
226
227
  }>;
227
228
  }
228
- export type BuildColumn<TTableName extends string, TBuilder extends ColumnBuilderBase, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>> : never;
229
+ export type BuildColumn<TTableName extends string, TBuilder extends ColumnBuilderBase, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>> : never;
229
230
  export type BuildIndexColumn<TDialect extends Dialect> = TDialect extends 'pg' ? ExtraConfigColumn : never;
230
231
  export type BuildColumns<TTableName extends string, TConfigMap extends Record<string, ColumnBuilderBase>, TDialect extends Dialect> = {
231
232
  [Key in keyof TConfigMap]: BuildColumn<TTableName, {
@@ -237,4 +238,4 @@ export type BuildColumns<TTableName extends string, TConfigMap extends Record<st
237
238
  export type BuildExtraConfigColumns<_TTableName extends string, TConfigMap extends Record<string, ColumnBuilderBase>, TDialect extends Dialect> = {
238
239
  [Key in keyof TConfigMap]: BuildIndexColumn<TDialect>;
239
240
  } & {};
240
- export type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>> : never;
241
+ export type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>> : never;
@@ -2,11 +2,12 @@ import { entityKind } from "./entity.js";
2
2
  import type { Column } from "./column.js";
3
3
  import type { MySqlColumn } from "./mysql-core/index.js";
4
4
  import type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from "./pg-core/index.js";
5
+ import type { SingleStoreColumn } from "./singlestore-core/index.js";
5
6
  import type { SQL } from "./sql/sql.js";
6
7
  import type { SQLiteColumn } from "./sqlite-core/index.js";
7
8
  import type { Assume, Simplify } from "./utils.js";
8
9
  export type ColumnDataType = 'string' | 'number' | 'boolean' | 'array' | 'json' | 'date' | 'bigint' | 'custom' | 'buffer';
9
- export type Dialect = 'pg' | 'mysql' | 'sqlite' | 'common';
10
+ export type Dialect = 'pg' | 'mysql' | 'sqlite' | 'singlestore' | 'common';
10
11
  export type GeneratedStorageMode = 'virtual' | 'stored';
11
12
  export type GeneratedType = 'always' | 'byDefault';
12
13
  export type GeneratedColumnConfig<TDataType> = {
@@ -225,7 +226,7 @@ export declare abstract class ColumnBuilder<T extends ColumnBuilderBaseConfig<Co
225
226
  type: 'always';
226
227
  }>;
227
228
  }
228
- export type BuildColumn<TTableName extends string, TBuilder extends ColumnBuilderBase, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>> : never;
229
+ export type BuildColumn<TTableName extends string, TBuilder extends ColumnBuilderBase, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>> : TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>> : never;
229
230
  export type BuildIndexColumn<TDialect extends Dialect> = TDialect extends 'pg' ? ExtraConfigColumn : never;
230
231
  export type BuildColumns<TTableName extends string, TConfigMap extends Record<string, ColumnBuilderBase>, TDialect extends Dialect> = {
231
232
  [Key in keyof TConfigMap]: BuildColumn<TTableName, {
@@ -237,4 +238,4 @@ export type BuildColumns<TTableName extends string, TConfigMap extends Record<st
237
238
  export type BuildExtraConfigColumns<_TTableName extends string, TConfigMap extends Record<string, ColumnBuilderBase>, TDialect extends Dialect> = {
238
239
  [Key in keyof TConfigMap]: BuildIndexColumn<TDialect>;
239
240
  } & {};
240
- export type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>> : never;
241
+ export type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TColumn['_'], TAlias>> : TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>> : never;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/column-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Column } from './column.ts';\nimport type { MySqlColumn } from './mysql-core/index.ts';\nimport type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from './pg-core/index.ts';\nimport type { SQL } from './sql/sql.ts';\nimport type { SQLiteColumn } from './sqlite-core/index.ts';\nimport type { Assume, Simplify } from './utils.ts';\n\nexport type ColumnDataType =\n\t| 'string'\n\t| 'number'\n\t| 'boolean'\n\t| 'array'\n\t| 'json'\n\t| 'date'\n\t| 'bigint'\n\t| 'custom'\n\t| 'buffer';\n\nexport type Dialect = 'pg' | 'mysql' | 'sqlite' | 'common';\n\nexport type GeneratedStorageMode = 'virtual' | 'stored';\n\nexport type GeneratedType = 'always' | 'byDefault';\n\nexport type GeneratedColumnConfig<TDataType> = {\n\tas: TDataType | SQL | (() => SQL);\n\ttype?: GeneratedType;\n\tmode?: GeneratedStorageMode;\n};\n\nexport type GeneratedIdentityConfig = {\n\tsequenceName?: string;\n\tsequenceOptions?: PgSequenceOptions;\n\ttype: 'always' | 'byDefault';\n};\n\nexport interface ColumnBuilderBaseConfig<TDataType extends ColumnDataType, TColumnType extends string> {\n\tname: string;\n\tdataType: TDataType;\n\tcolumnType: TColumnType;\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: string[] | undefined;\n}\n\nexport type MakeColumnConfig<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTableName extends string,\n\tTData = T extends { $type: infer U } ? U : T['data'],\n> = {\n\tname: T['name'];\n\ttableName: TTableName;\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: TData;\n\tdriverParam: T['driverParam'];\n\tnotNull: T extends { notNull: true } ? true : false;\n\thasDefault: T extends { hasDefault: true } ? true : false;\n\tisPrimaryKey: T extends { isPrimaryKey: true } ? true : false;\n\tisAutoincrement: T extends { isAutoincrement: true } ? true : false;\n\thasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn<TTableName, U, 'common'>\n\t\t: never;\n\tidentity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;\n\tgenerated: T extends { generated: infer G } ? unknown extends G ? undefined\n\t\t: G extends undefined ? undefined\n\t\t: G\n\t\t: undefined;\n} & {};\n\nexport type ColumnBuilderTypeConfig<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> = Simplify<\n\t& {\n\t\tbrand: 'ColumnBuilder';\n\t\tname: T['name'];\n\t\tdataType: T['dataType'];\n\t\tcolumnType: T['columnType'];\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverParam'];\n\t\tnotNull: T extends { notNull: infer U } ? U : boolean;\n\t\thasDefault: T extends { hasDefault: infer U } ? U : boolean;\n\t\tenumValues: T['enumValues'];\n\t\tidentity: T extends { identity: infer U } ? U : unknown;\n\t\tgenerated: T extends { generated: infer G } ? G extends undefined ? unknown : G : unknown;\n\t}\n\t& TTypeConfig\n>;\n\nexport type ColumnBuilderRuntimeConfig<TData, TRuntimeConfig extends object = object> = {\n\tname: string;\n\tkeyAsName: boolean;\n\tnotNull: boolean;\n\tdefault: TData | SQL | undefined;\n\tdefaultFn: (() => TData | SQL) | undefined;\n\tonUpdateFn: (() => TData | SQL) | undefined;\n\thasDefault: boolean;\n\tprimaryKey: boolean;\n\tisUnique: boolean;\n\tuniqueName: string | undefined;\n\tuniqueType: string | undefined;\n\tdataType: string;\n\tcolumnType: string;\n\tgenerated: GeneratedColumnConfig<TData> | undefined;\n\tgeneratedIdentity: GeneratedIdentityConfig | undefined;\n} & TRuntimeConfig;\n\nexport interface ColumnBuilderExtraConfig {\n\tprimaryKeyHasDefault?: boolean;\n}\n\nexport type NotNull<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tnotNull: true;\n\t};\n};\n\nexport type HasDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasDefault: true;\n\t};\n};\n\nexport type IsPrimaryKey<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisPrimaryKey: true;\n\t};\n};\n\nexport type IsAutoincrement<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisAutoincrement: true;\n\t};\n};\n\nexport type HasRuntimeDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasRuntimeDefault: true;\n\t};\n};\n\nexport type $Type<T extends ColumnBuilderBase, TType> = T & {\n\t_: {\n\t\t$type: TType;\n\t};\n};\n\nexport type HasGenerated<T extends ColumnBuilderBase, TGenerated extends {} = {}> = T & {\n\t_: {\n\t\thasDefault: true;\n\t\tgenerated: TGenerated;\n\t};\n};\n\nexport type IsIdentity<\n\tT extends ColumnBuilderBase,\n\tTType extends 'always' | 'byDefault',\n> = T & {\n\t_: {\n\t\tnotNull: true;\n\t\thasDefault: true;\n\t\tidentity: TType;\n\t};\n};\nexport interface ColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> {\n\t_: ColumnBuilderTypeConfig<T, TTypeConfig>;\n}\n\n// To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.\nexport abstract class ColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> implements ColumnBuilderBase<T, TTypeConfig> {\n\tstatic readonly [entityKind]: string = 'ColumnBuilder';\n\n\tdeclare _: ColumnBuilderTypeConfig<T, TTypeConfig>;\n\n\tprotected config: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tkeyAsName: name === '',\n\t\t\tnotNull: false,\n\t\t\tdefault: undefined,\n\t\t\thasDefault: false,\n\t\t\tprimaryKey: false,\n\t\t\tisUnique: false,\n\t\t\tuniqueName: undefined,\n\t\t\tuniqueType: undefined,\n\t\t\tdataType,\n\t\t\tcolumnType,\n\t\t\tgenerated: undefined,\n\t\t} as ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\t}\n\n\t/**\n\t * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n\t *\n\t * @example\n\t * ```ts\n\t * const users = pgTable('users', {\n\t * \tid: integer('id').$type<UserId>().primaryKey(),\n\t * \tdetails: json('details').$type<UserDetails>().notNull(),\n\t * });\n\t * ```\n\t */\n\t$type<TType>(): $Type<this, TType> {\n\t\treturn this as $Type<this, TType>;\n\t}\n\n\t/**\n\t * Adds a `not null` clause to the column definition.\n\t *\n\t * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n\t */\n\tnotNull(): NotNull<this> {\n\t\tthis.config.notNull = true;\n\t\treturn this as NotNull<this>;\n\t}\n\n\t/**\n\t * Adds a `default <value>` clause to the column definition.\n\t *\n\t * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n\t *\n\t * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n\t */\n\tdefault(value: (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL): HasDefault<this> {\n\t\tthis.config.default = value;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Adds a dynamic default value to the column.\n\t * The function will be called when the row is inserted, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$defaultFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasRuntimeDefault<HasDefault<this>> {\n\t\tthis.config.defaultFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasRuntimeDefault<HasDefault<this>>;\n\t}\n\n\t/**\n\t * Alias for {@link $defaultFn}.\n\t */\n\t$default = this.$defaultFn;\n\n\t/**\n\t * Adds a dynamic update value to the column.\n\t * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n\t * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$onUpdateFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasDefault<this> {\n\t\tthis.config.onUpdateFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Alias for {@link $onUpdateFn}.\n\t */\n\t$onUpdate = this.$onUpdateFn;\n\n\t/**\n\t * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n\t *\n\t * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n\t */\n\tprimaryKey(): TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t: IsPrimaryKey<NotNull<this>>\n\t{\n\t\tthis.config.primaryKey = true;\n\t\tthis.config.notNull = true;\n\t\treturn this as TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t\t: IsPrimaryKey<NotNull<this>>;\n\t}\n\n\tabstract generatedAlwaysAs(\n\t\tas: SQL | T['data'] | (() => SQL),\n\t\tconfig?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, {\n\t\ttype: 'always';\n\t}>;\n\n\t/** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n\tsetName(name: string) {\n\t\tif (this.config.name !== '') return;\n\t\tthis.config.name = name;\n\t}\n}\n\nexport type BuildColumn<\n\tTTableName extends string,\n\tTBuilder extends ColumnBuilderBase,\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: never;\n\nexport type BuildIndexColumn<\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? ExtraConfigColumn : never;\n\n// TODO\n// try to make sql as well + indexRaw\n\n// optional after everything will be working as expected\n// also try to leave only needed methods for extraConfig\n// make an error if I pass .asc() to fk and so on\n\nexport type BuildColumns<\n\tTTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildColumn<TTableName, {\n\t\t\t_:\n\t\t\t\t& Omit<TConfigMap[Key]['_'], 'name'>\n\t\t\t\t& { name: TConfigMap[Key]['_']['name'] extends '' ? Assume<Key, string> : TConfigMap[Key]['_']['name'] };\n\t\t}, TDialect>;\n\t}\n\t& {};\n\nexport type BuildExtraConfigColumns<\n\t_TTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildIndexColumn<TDialect>;\n\t}\n\t& {};\n\nexport type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> =\n\tTDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: never;\n"],"mappings":"AAAA,SAAS,kBAAkB;AAgLpB,MAAe,cAKyB;AAAA,EAC9C,QAAiB,UAAU,IAAY;AAAA,EAI7B;AAAA,EAEV,YAAY,MAAiB,UAAyB,YAA6B;AAClF,SAAK,SAAS;AAAA,MACb;AAAA,MACA,WAAW,SAAS;AAAA,MACpB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,WAAW;AAAA,IACZ;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,QAAmC;AAClC,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAyB;AACxB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAAQ,OAA+F;AACtG,SAAK,OAAO,UAAU;AACtB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,WACC,IACsC;AACtC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,YACC,IACmB;AACnB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjB,aAEA;AACC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EAER;AAAA;AAAA,EAUA,QAAQ,MAAc;AACrB,QAAI,KAAK,OAAO,SAAS;AAAI;AAC7B,SAAK,OAAO,OAAO;AAAA,EACpB;AACD;","names":[]}
1
+ {"version":3,"sources":["../src/column-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Column } from './column.ts';\nimport type { MySqlColumn } from './mysql-core/index.ts';\nimport type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from './pg-core/index.ts';\nimport type { SingleStoreColumn } from './singlestore-core/index.ts';\nimport type { SQL } from './sql/sql.ts';\nimport type { SQLiteColumn } from './sqlite-core/index.ts';\nimport type { Assume, Simplify } from './utils.ts';\n\nexport type ColumnDataType =\n\t| 'string'\n\t| 'number'\n\t| 'boolean'\n\t| 'array'\n\t| 'json'\n\t| 'date'\n\t| 'bigint'\n\t| 'custom'\n\t| 'buffer';\n\nexport type Dialect = 'pg' | 'mysql' | 'sqlite' | 'singlestore' | 'common';\n\nexport type GeneratedStorageMode = 'virtual' | 'stored';\n\nexport type GeneratedType = 'always' | 'byDefault';\n\nexport type GeneratedColumnConfig<TDataType> = {\n\tas: TDataType | SQL | (() => SQL);\n\ttype?: GeneratedType;\n\tmode?: GeneratedStorageMode;\n};\n\nexport type GeneratedIdentityConfig = {\n\tsequenceName?: string;\n\tsequenceOptions?: PgSequenceOptions;\n\ttype: 'always' | 'byDefault';\n};\n\nexport interface ColumnBuilderBaseConfig<TDataType extends ColumnDataType, TColumnType extends string> {\n\tname: string;\n\tdataType: TDataType;\n\tcolumnType: TColumnType;\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: string[] | undefined;\n}\n\nexport type MakeColumnConfig<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTableName extends string,\n\tTData = T extends { $type: infer U } ? U : T['data'],\n> = {\n\tname: T['name'];\n\ttableName: TTableName;\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: TData;\n\tdriverParam: T['driverParam'];\n\tnotNull: T extends { notNull: true } ? true : false;\n\thasDefault: T extends { hasDefault: true } ? true : false;\n\tisPrimaryKey: T extends { isPrimaryKey: true } ? true : false;\n\tisAutoincrement: T extends { isAutoincrement: true } ? true : false;\n\thasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn<TTableName, U, 'common'>\n\t\t: never;\n\tidentity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;\n\tgenerated: T extends { generated: infer G } ? unknown extends G ? undefined\n\t\t: G extends undefined ? undefined\n\t\t: G\n\t\t: undefined;\n} & {};\n\nexport type ColumnBuilderTypeConfig<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> = Simplify<\n\t& {\n\t\tbrand: 'ColumnBuilder';\n\t\tname: T['name'];\n\t\tdataType: T['dataType'];\n\t\tcolumnType: T['columnType'];\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverParam'];\n\t\tnotNull: T extends { notNull: infer U } ? U : boolean;\n\t\thasDefault: T extends { hasDefault: infer U } ? U : boolean;\n\t\tenumValues: T['enumValues'];\n\t\tidentity: T extends { identity: infer U } ? U : unknown;\n\t\tgenerated: T extends { generated: infer G } ? G extends undefined ? unknown : G : unknown;\n\t}\n\t& TTypeConfig\n>;\n\nexport type ColumnBuilderRuntimeConfig<TData, TRuntimeConfig extends object = object> = {\n\tname: string;\n\tkeyAsName: boolean;\n\tnotNull: boolean;\n\tdefault: TData | SQL | undefined;\n\tdefaultFn: (() => TData | SQL) | undefined;\n\tonUpdateFn: (() => TData | SQL) | undefined;\n\thasDefault: boolean;\n\tprimaryKey: boolean;\n\tisUnique: boolean;\n\tuniqueName: string | undefined;\n\tuniqueType: string | undefined;\n\tdataType: string;\n\tcolumnType: string;\n\tgenerated: GeneratedColumnConfig<TData> | undefined;\n\tgeneratedIdentity: GeneratedIdentityConfig | undefined;\n} & TRuntimeConfig;\n\nexport interface ColumnBuilderExtraConfig {\n\tprimaryKeyHasDefault?: boolean;\n}\n\nexport type NotNull<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tnotNull: true;\n\t};\n};\n\nexport type HasDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasDefault: true;\n\t};\n};\n\nexport type IsPrimaryKey<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisPrimaryKey: true;\n\t};\n};\n\nexport type IsAutoincrement<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\tisAutoincrement: true;\n\t};\n};\n\nexport type HasRuntimeDefault<T extends ColumnBuilderBase> = T & {\n\t_: {\n\t\thasRuntimeDefault: true;\n\t};\n};\n\nexport type $Type<T extends ColumnBuilderBase, TType> = T & {\n\t_: {\n\t\t$type: TType;\n\t};\n};\n\nexport type HasGenerated<T extends ColumnBuilderBase, TGenerated extends {} = {}> = T & {\n\t_: {\n\t\thasDefault: true;\n\t\tgenerated: TGenerated;\n\t};\n};\n\nexport type IsIdentity<\n\tT extends ColumnBuilderBase,\n\tTType extends 'always' | 'byDefault',\n> = T & {\n\t_: {\n\t\tnotNull: true;\n\t\thasDefault: true;\n\t\tidentity: TType;\n\t};\n};\nexport interface ColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> {\n\t_: ColumnBuilderTypeConfig<T, TTypeConfig>;\n}\n\n// To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.\nexport abstract class ColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> implements ColumnBuilderBase<T, TTypeConfig> {\n\tstatic readonly [entityKind]: string = 'ColumnBuilder';\n\n\tdeclare _: ColumnBuilderTypeConfig<T, TTypeConfig>;\n\n\tprotected config: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tkeyAsName: name === '',\n\t\t\tnotNull: false,\n\t\t\tdefault: undefined,\n\t\t\thasDefault: false,\n\t\t\tprimaryKey: false,\n\t\t\tisUnique: false,\n\t\t\tuniqueName: undefined,\n\t\t\tuniqueType: undefined,\n\t\t\tdataType,\n\t\t\tcolumnType,\n\t\t\tgenerated: undefined,\n\t\t} as ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>;\n\t}\n\n\t/**\n\t * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n\t *\n\t * @example\n\t * ```ts\n\t * const users = pgTable('users', {\n\t * \tid: integer('id').$type<UserId>().primaryKey(),\n\t * \tdetails: json('details').$type<UserDetails>().notNull(),\n\t * });\n\t * ```\n\t */\n\t$type<TType>(): $Type<this, TType> {\n\t\treturn this as $Type<this, TType>;\n\t}\n\n\t/**\n\t * Adds a `not null` clause to the column definition.\n\t *\n\t * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n\t */\n\tnotNull(): NotNull<this> {\n\t\tthis.config.notNull = true;\n\t\treturn this as NotNull<this>;\n\t}\n\n\t/**\n\t * Adds a `default <value>` clause to the column definition.\n\t *\n\t * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n\t *\n\t * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n\t */\n\tdefault(value: (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL): HasDefault<this> {\n\t\tthis.config.default = value;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Adds a dynamic default value to the column.\n\t * The function will be called when the row is inserted, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$defaultFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasRuntimeDefault<HasDefault<this>> {\n\t\tthis.config.defaultFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasRuntimeDefault<HasDefault<this>>;\n\t}\n\n\t/**\n\t * Alias for {@link $defaultFn}.\n\t */\n\t$default = this.$defaultFn;\n\n\t/**\n\t * Adds a dynamic update value to the column.\n\t * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n\t * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$onUpdateFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasDefault<this> {\n\t\tthis.config.onUpdateFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n\n\t/**\n\t * Alias for {@link $onUpdateFn}.\n\t */\n\t$onUpdate = this.$onUpdateFn;\n\n\t/**\n\t * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n\t *\n\t * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n\t */\n\tprimaryKey(): TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t: IsPrimaryKey<NotNull<this>>\n\t{\n\t\tthis.config.primaryKey = true;\n\t\tthis.config.notNull = true;\n\t\treturn this as TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey<HasDefault<NotNull<this>>>\n\t\t\t: IsPrimaryKey<NotNull<this>>;\n\t}\n\n\tabstract generatedAlwaysAs(\n\t\tas: SQL | T['data'] | (() => SQL),\n\t\tconfig?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, {\n\t\ttype: 'always';\n\t}>;\n\n\t/** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n\tsetName(name: string) {\n\t\tif (this.config.name !== '') return;\n\t\tthis.config.name = name;\n\t}\n}\n\nexport type BuildColumn<\n\tTTableName extends string,\n\tTBuilder extends ColumnBuilderBase,\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? PgColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: TDialect extends 'common' ? Column<MakeColumnConfig<TBuilder['_'], TTableName>>\n\t: never;\n\nexport type BuildIndexColumn<\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? ExtraConfigColumn : never;\n\n// TODO\n// try to make sql as well + indexRaw\n\n// optional after everything will be working as expected\n// also try to leave only needed methods for extraConfig\n// make an error if I pass .asc() to fk and so on\n\nexport type BuildColumns<\n\tTTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildColumn<TTableName, {\n\t\t\t_:\n\t\t\t\t& Omit<TConfigMap[Key]['_'], 'name'>\n\t\t\t\t& { name: TConfigMap[Key]['_']['name'] extends '' ? Assume<Key, string> : TConfigMap[Key]['_']['name'] };\n\t\t}, TDialect>;\n\t}\n\t& {};\n\nexport type BuildExtraConfigColumns<\n\t_TTableName extends string,\n\tTConfigMap extends Record<string, ColumnBuilderBase>,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildIndexColumn<TDialect>;\n\t}\n\t& {};\n\nexport type ChangeColumnTableName<TColumn extends Column, TAlias extends string, TDialect extends Dialect> =\n\tTDialect extends 'pg' ? PgColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'mysql' ? MySqlColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'singlestore' ? SingleStoreColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: TDialect extends 'sqlite' ? SQLiteColumn<MakeColumnConfig<TColumn['_'], TAlias>>\n\t\t: never;\n"],"mappings":"AAAA,SAAS,kBAAkB;AAiLpB,MAAe,cAKyB;AAAA,EAC9C,QAAiB,UAAU,IAAY;AAAA,EAI7B;AAAA,EAEV,YAAY,MAAiB,UAAyB,YAA6B;AAClF,SAAK,SAAS;AAAA,MACb;AAAA,MACA,WAAW,SAAS;AAAA,MACpB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,WAAW;AAAA,IACZ;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,QAAmC;AAClC,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAyB;AACxB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAAQ,OAA+F;AACtG,SAAK,OAAO,UAAU;AACtB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,WACC,IACsC;AACtC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,YACC,IACmB;AACnB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjB,aAEA;AACC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AACtB,WAAO;AAAA,EAER;AAAA;AAAA,EAUA,QAAQ,MAAc;AACrB,QAAI,KAAK,OAAO,SAAS;AAAI;AAC7B,SAAK,OAAO,OAAO;AAAA,EACpB;AACD;","names":[]}
package/d1/driver.cjs CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var driver_exports = {};
30
20
  __export(driver_exports, {
@@ -32,9 +22,9 @@ __export(driver_exports, {
32
22
  drizzle: () => drizzle
33
23
  });
34
24
  module.exports = __toCommonJS(driver_exports);
35
- var V1 = __toESM(require("../_relations.cjs"), 1);
36
25
  var import_entity = require("../entity.cjs");
37
26
  var import_logger = require("../logger.cjs");
27
+ var import_relations = require("../relations.cjs");
38
28
  var import_db = require("../sqlite-core/db.cjs");
39
29
  var import_dialect = require("../sqlite-core/dialect.cjs");
40
30
  var import_session = require("./session.cjs");
@@ -54,9 +44,9 @@ function drizzle(client, config = {}) {
54
44
  }
55
45
  let schema;
56
46
  if (config.schema) {
57
- const tablesConfig = V1.extractTablesRelationalConfig(
47
+ const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(
58
48
  config.schema,
59
- V1.createTableRelationsHelpers
49
+ import_relations.createTableRelationsHelpers
60
50
  );
61
51
  schema = {
62
52
  fullSchema: config.schema,
@@ -64,15 +54,8 @@ function drizzle(client, config = {}) {
64
54
  tableNamesMap: tablesConfig.tableNamesMap
65
55
  };
66
56
  }
67
- const relations = config.relations;
68
- const session = new import_session.SQLiteD1Session(client, dialect, relations, schema, { logger });
69
- const db = new DrizzleD1Database(
70
- "async",
71
- dialect,
72
- session,
73
- relations,
74
- schema
75
- );
57
+ const session = new import_session.SQLiteD1Session(client, dialect, schema, { logger });
58
+ const db = new DrizzleD1Database("async", dialect, session, schema);
76
59
  db.$client = client;
77
60
  return db;
78
61
  }
package/d1/driver.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport type { D1Database as MiniflareD1Database } from '@miniflare/d1';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations, ExtractTablesWithRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig, IfNotImported } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport type AnyD1Database = IfNotImported<\n\tD1Database,\n\tMiniflareD1Database,\n\tD1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>\n>;\n\nexport class DrizzleD1Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'D1Database';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteD1Session<\n\t\tTSchema,\n\t\tTRelations,\n\t\tExtractTablesWithRelations<TRelations>,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyD1Database = AnyD1Database,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): DrizzleD1Database<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations;\n\tconst session = new SQLiteD1Session(client as D1Database, dialect, relations, schema, { logger });\n\tconst db = new DrizzleD1Database(\n\t\t'async',\n\t\tdialect,\n\t\tsession as SQLiteD1Session<\n\t\t\tTSchema,\n\t\t\tTRelations,\n\t\t\tExtractTablesWithRelations<TRelations>,\n\t\t\tV1.ExtractTablesWithRelations<TSchema>\n\t\t>,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as DrizzleD1Database<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,SAAoB;AAEpB,oBAA2B;AAC3B,oBAA8B;AAE9B,gBAAmC;AACnC,qBAAmC;AAEnC,qBAAgC;AAQzB,MAAM,0BAGH,6BAA2D;AAAA,EACpE,QAA0B,wBAAU,IAAY;AAAA,EAUhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAKf,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,kCAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,UAAU,IAAI,+BAAgB,QAAsB,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AAChG,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IAMA;AAAA,IACA;AAAA,EACD;AAIA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/d1/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport type { D1Database as MiniflareD1Database } from '@miniflare/d1';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig, IfNotImported } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport type AnyD1Database = IfNotImported<\n\tD1Database,\n\tMiniflareD1Database,\n\tD1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>\n>;\n\nexport class DrizzleD1Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Database';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteD1Session<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends AnyD1Database = AnyD1Database,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): DrizzleD1Database<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteD1Session(client as D1Database, dialect, schema, { logger });\n\tconst db = new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAMO;AACP,gBAAmC;AACnC,qBAAmC;AAEnC,qBAAgC;AAQzB,MAAM,0BAEH,6BAA+C;AAAA,EACxD,QAA0B,wBAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAIf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,kCAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,+BAAgB,QAAsB,SAAS,QAAQ,EAAE,OAAO,CAAC;AACrF,QAAM,KAAK,IAAI,kBAAkB,SAAS,SAAS,SAAS,MAAM;AAClE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
package/d1/driver.d.cts CHANGED
@@ -1,14 +1,13 @@
1
1
  import type { D1Database as MiniflareD1Database } from '@miniflare/d1';
2
2
  import type { BatchItem, BatchResponse } from "../batch.cjs";
3
3
  import { entityKind } from "../entity.cjs";
4
- import type { AnyRelations, EmptyRelations } from "../relations.cjs";
5
4
  import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
6
5
  import type { DrizzleConfig, IfNotImported } from "../utils.cjs";
7
6
  export type AnyD1Database = IfNotImported<D1Database, MiniflareD1Database, D1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>>;
8
- export declare class DrizzleD1Database<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends BaseSQLiteDatabase<'async', D1Result, TSchema, TRelations> {
7
+ export declare class DrizzleD1Database<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {
9
8
  static readonly [entityKind]: string;
10
9
  batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
11
10
  }
12
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends AnyD1Database = AnyD1Database>(client: TClient, config?: DrizzleConfig<TSchema, TRelations>): DrizzleD1Database<TSchema, TRelations> & {
11
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends AnyD1Database = AnyD1Database>(client: TClient, config?: DrizzleConfig<TSchema>): DrizzleD1Database<TSchema> & {
13
12
  $client: TClient;
14
13
  };
package/d1/driver.d.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  import type { D1Database as MiniflareD1Database } from '@miniflare/d1';
2
2
  import type { BatchItem, BatchResponse } from "../batch.js";
3
3
  import { entityKind } from "../entity.js";
4
- import type { AnyRelations, EmptyRelations } from "../relations.js";
5
4
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
6
5
  import type { DrizzleConfig, IfNotImported } from "../utils.js";
7
6
  export type AnyD1Database = IfNotImported<D1Database, MiniflareD1Database, D1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>>;
8
- export declare class DrizzleD1Database<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends BaseSQLiteDatabase<'async', D1Result, TSchema, TRelations> {
7
+ export declare class DrizzleD1Database<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {
9
8
  static readonly [entityKind]: string;
10
9
  batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
11
10
  }
12
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends AnyD1Database = AnyD1Database>(client: TClient, config?: DrizzleConfig<TSchema, TRelations>): DrizzleD1Database<TSchema, TRelations> & {
11
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends AnyD1Database = AnyD1Database>(client: TClient, config?: DrizzleConfig<TSchema>): DrizzleD1Database<TSchema> & {
13
12
  $client: TClient;
14
13
  };
package/d1/driver.js CHANGED
@@ -1,6 +1,9 @@
1
- import * as V1 from "../_relations.js";
2
1
  import { entityKind } from "../entity.js";
3
2
  import { DefaultLogger } from "../logger.js";
3
+ import {
4
+ createTableRelationsHelpers,
5
+ extractTablesRelationalConfig
6
+ } from "../relations.js";
4
7
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
5
8
  import { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
6
9
  import { SQLiteD1Session } from "./session.js";
@@ -20,9 +23,9 @@ function drizzle(client, config = {}) {
20
23
  }
21
24
  let schema;
22
25
  if (config.schema) {
23
- const tablesConfig = V1.extractTablesRelationalConfig(
26
+ const tablesConfig = extractTablesRelationalConfig(
24
27
  config.schema,
25
- V1.createTableRelationsHelpers
28
+ createTableRelationsHelpers
26
29
  );
27
30
  schema = {
28
31
  fullSchema: config.schema,
@@ -30,15 +33,8 @@ function drizzle(client, config = {}) {
30
33
  tableNamesMap: tablesConfig.tableNamesMap
31
34
  };
32
35
  }
33
- const relations = config.relations;
34
- const session = new SQLiteD1Session(client, dialect, relations, schema, { logger });
35
- const db = new DrizzleD1Database(
36
- "async",
37
- dialect,
38
- session,
39
- relations,
40
- schema
41
- );
36
+ const session = new SQLiteD1Session(client, dialect, schema, { logger });
37
+ const db = new DrizzleD1Database("async", dialect, session, schema);
42
38
  db.$client = client;
43
39
  return db;
44
40
  }
package/d1/driver.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport type { D1Database as MiniflareD1Database } from '@miniflare/d1';\nimport * as V1 from '~/_relations.ts';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations, ExtractTablesWithRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig, IfNotImported } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport type AnyD1Database = IfNotImported<\n\tD1Database,\n\tMiniflareD1Database,\n\tD1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>\n>;\n\nexport class DrizzleD1Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'D1Database';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteD1Session<\n\t\tTSchema,\n\t\tTRelations,\n\t\tExtractTablesWithRelations<TRelations>,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyD1Database = AnyD1Database,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): DrizzleD1Database<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations;\n\tconst session = new SQLiteD1Session(client as D1Database, dialect, relations, schema, { logger });\n\tconst db = new DrizzleD1Database(\n\t\t'async',\n\t\tdialect,\n\t\tsession as SQLiteD1Session<\n\t\t\tTSchema,\n\t\t\tTRelations,\n\t\t\tExtractTablesWithRelations<TRelations>,\n\t\t\tV1.ExtractTablesWithRelations<TSchema>\n\t\t>,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as DrizzleD1Database<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AAEA,YAAY,QAAQ;AAEpB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAE9B,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAQzB,MAAM,0BAGH,mBAA2D;AAAA,EACpE,QAA0B,UAAU,IAAY;AAAA,EAUhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAKf,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,UAAU,IAAI,gBAAgB,QAAsB,SAAS,WAAW,QAAQ,EAAE,OAAO,CAAC;AAChG,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IAMA;AAAA,IACA;AAAA,EACD;AAIA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/d1/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\nimport type { D1Database as MiniflareD1Database } from '@miniflare/d1';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig, IfNotImported } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport type AnyD1Database = IfNotImported<\n\tD1Database,\n\tMiniflareD1Database,\n\tD1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>\n>;\n\nexport class DrizzleD1Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Database';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteD1Session<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends AnyD1Database = AnyD1Database,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): DrizzleD1Database<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteD1Session(client as D1Database, dialect, schema, { logger });\n\tconst db = new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AAGA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAQzB,MAAM,0BAEH,mBAA+C;AAAA,EACxD,QAA0B,UAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAIf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,gBAAgB,QAAsB,SAAS,QAAQ,EAAE,OAAO,CAAC;AACrF,QAAM,KAAK,IAAI,kBAAkB,SAAS,SAAS,SAAS,MAAM;AAClE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: DrizzleD1Database<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric\n\t\t)\n\t`;\n\tawait db.session.run(migrationTableCreate);\n\n\tconst dbMigrations = await db.values<[number, string, string]>(\n\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\n\tconst statementToBatch = [];\n\n\tfor (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t\t}\n\n\t\t\tstatementToBatch.push(\n\t\t\t\tdb.run(\n\t\t\t\t\tsql`INSERT INTO ${sql.identifier(migrationsTable)} (\"hash\", \"created_at\") VALUES(${\n\t\t\t\t\t\tsql.raw(`'${migration.hash}'`)\n\t\t\t\t\t}, ${sql.raw(`${migration.folderMillis}`)})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAmC;AAEnC,iBAAoB;AAGpB,eAAsB,QACrB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,mBAAmB;AAElD,QAAM,uBAAuB;AAAA,+BACC,eAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,IAAI,oBAAoB;AAEzC,QAAM,eAAe,MAAM,GAAG;AAAA,IAC7B,kDAAuC,eAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC,KAAK;AAE3C,QAAM,mBAAmB,CAAC;AAE1B,aAAW,aAAa,YAAY;AACnC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,CAAC,CAAC,IAAK,UAAU,cAAc;AAC7E,iBAAW,QAAQ,UAAU,KAAK;AACjC,yBAAiB,KAAK,GAAG,IAAI,eAAI,IAAI,IAAI,CAAC,CAAC;AAAA,MAC5C;AAEA,uBAAiB;AAAA,QAChB,GAAG;AAAA,UACF,6BAAkB,eAAI,WAAW,eAAe,CAAC,kCAChD,eAAI,IAAI,IAAI,UAAU,IAAI,GAAG,CAC9B,KAAK,eAAI,IAAI,GAAG,UAAU,YAAY,EAAE,CAAC;AAAA,QAC1C;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAI,iBAAiB,SAAS,GAAG;AAChC,UAAM,GAAG,QAAQ,MAAM,gBAAgB;AAAA,EACxC;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: DrizzleD1Database<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric\n\t\t)\n\t`;\n\tawait db.session.run(migrationTableCreate);\n\n\tconst dbMigrations = await db.values<[number, string, string]>(\n\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\n\tconst statementToBatch = [];\n\n\tfor (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t\t}\n\n\t\t\tstatementToBatch.push(\n\t\t\t\tdb.run(\n\t\t\t\t\tsql`INSERT INTO ${sql.identifier(migrationsTable)} (\"hash\", \"created_at\") VALUES(${\n\t\t\t\t\t\tsql.raw(`'${migration.hash}'`)\n\t\t\t\t\t}, ${sql.raw(`${migration.folderMillis}`)})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAmC;AACnC,iBAAoB;AAGpB,eAAsB,QACrB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,mBAAmB;AAElD,QAAM,uBAAuB;AAAA,+BACC,eAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,IAAI,oBAAoB;AAEzC,QAAM,eAAe,MAAM,GAAG;AAAA,IAC7B,kDAAuC,eAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC,KAAK;AAE3C,QAAM,mBAAmB,CAAC;AAE1B,aAAW,aAAa,YAAY;AACnC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,CAAC,CAAC,IAAK,UAAU,cAAc;AAC7E,iBAAW,QAAQ,UAAU,KAAK;AACjC,yBAAiB,KAAK,GAAG,IAAI,eAAI,IAAI,IAAI,CAAC,CAAC;AAAA,MAC5C;AAEA,uBAAiB;AAAA,QAChB,GAAG;AAAA,UACF,6BAAkB,eAAI,WAAW,eAAe,CAAC,kCAChD,eAAI,IAAI,IAAI,UAAU,IAAI,GAAG,CAC9B,KAAK,eAAI,IAAI,GAAG,UAAU,YAAY,EAAE,CAAC;AAAA,QAC1C;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAI,iBAAiB,SAAS,GAAG;AAChC,UAAM,GAAG,QAAQ,MAAM,gBAAgB;AAAA,EACxC;AACD;","names":[]}
package/d1/migrator.d.cts CHANGED
@@ -1,4 +1,3 @@
1
1
  import type { MigrationConfig } from "../migrator.cjs";
2
- import type { AnyRelations } from "../relations.cjs";
3
2
  import type { DrizzleD1Database } from "./driver.cjs";
4
- export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: DrizzleD1Database<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
3
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: DrizzleD1Database<TSchema>, config: MigrationConfig): Promise<void>;
package/d1/migrator.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  import type { MigrationConfig } from "../migrator.js";
2
- import type { AnyRelations } from "../relations.js";
3
2
  import type { DrizzleD1Database } from "./driver.js";
4
- export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: DrizzleD1Database<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
3
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: DrizzleD1Database<TSchema>, config: MigrationConfig): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: DrizzleD1Database<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric\n\t\t)\n\t`;\n\tawait db.session.run(migrationTableCreate);\n\n\tconst dbMigrations = await db.values<[number, string, string]>(\n\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\n\tconst statementToBatch = [];\n\n\tfor (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t\t}\n\n\t\t\tstatementToBatch.push(\n\t\t\t\tdb.run(\n\t\t\t\t\tsql`INSERT INTO ${sql.identifier(migrationsTable)} (\"hash\", \"created_at\") VALUES(${\n\t\t\t\t\t\tsql.raw(`'${migration.hash}'`)\n\t\t\t\t\t}, ${sql.raw(`${migration.folderMillis}`)})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AAEnC,SAAS,WAAW;AAGpB,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,mBAAmB;AAElD,QAAM,uBAAuB;AAAA,+BACC,IAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,IAAI,oBAAoB;AAEzC,QAAM,eAAe,MAAM,GAAG;AAAA,IAC7B,uCAAuC,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC,KAAK;AAE3C,QAAM,mBAAmB,CAAC;AAE1B,aAAW,aAAa,YAAY;AACnC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,CAAC,CAAC,IAAK,UAAU,cAAc;AAC7E,iBAAW,QAAQ,UAAU,KAAK;AACjC,yBAAiB,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;AAAA,MAC5C;AAEA,uBAAiB;AAAA,QAChB,GAAG;AAAA,UACF,kBAAkB,IAAI,WAAW,eAAe,CAAC,kCAChD,IAAI,IAAI,IAAI,UAAU,IAAI,GAAG,CAC9B,KAAK,IAAI,IAAI,GAAG,UAAU,YAAY,EAAE,CAAC;AAAA,QAC1C;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAI,iBAAiB,SAAS,GAAG;AAChC,UAAM,GAAG,QAAQ,MAAM,gBAAgB;AAAA,EACxC;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: DrizzleD1Database<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric\n\t\t)\n\t`;\n\tawait db.session.run(migrationTableCreate);\n\n\tconst dbMigrations = await db.values<[number, string, string]>(\n\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\n\tconst statementToBatch = [];\n\n\tfor (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t\t}\n\n\t\t\tstatementToBatch.push(\n\t\t\t\tdb.run(\n\t\t\t\t\tsql`INSERT INTO ${sql.identifier(migrationsTable)} (\"hash\", \"created_at\") VALUES(${\n\t\t\t\t\t\tsql.raw(`'${migration.hash}'`)\n\t\t\t\t\t}, ${sql.raw(`${migration.folderMillis}`)})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AACnC,SAAS,WAAW;AAGpB,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,mBAAmB;AAElD,QAAM,uBAAuB;AAAA,+BACC,IAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,IAAI,oBAAoB;AAEzC,QAAM,eAAe,MAAM,GAAG;AAAA,IAC7B,uCAAuC,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC,KAAK;AAE3C,QAAM,mBAAmB,CAAC;AAE1B,aAAW,aAAa,YAAY;AACnC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,CAAC,CAAC,IAAK,UAAU,cAAc;AAC7E,iBAAW,QAAQ,UAAU,KAAK;AACjC,yBAAiB,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;AAAA,MAC5C;AAEA,uBAAiB;AAAA,QAChB,GAAG;AAAA,UACF,kBAAkB,IAAI,WAAW,eAAe,CAAC,kCAChD,IAAI,IAAI,IAAI,UAAU,IAAI,GAAG,CAC9B,KAAK,IAAI,IAAI,GAAG,UAAU,YAAY,EAAE,CAAC;AAAA,QAC1C;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAI,iBAAiB,SAAS,GAAG;AAChC,UAAM,GAAG,QAAQ,MAAM,gBAAgB;AAAA,EACxC;AACD;","names":[]}
package/d1/session.cjs CHANGED
@@ -30,10 +30,9 @@ var import_sqlite_core = require("../sqlite-core/index.cjs");
30
30
  var import_session = require("../sqlite-core/session.cjs");
31
31
  var import_utils = require("../utils.cjs");
32
32
  class SQLiteD1Session extends import_session.SQLiteSession {
33
- constructor(client, dialect, relations, schema, options = {}) {
33
+ constructor(client, dialect, schema, options = {}) {
34
34
  super(dialect);
35
35
  this.client = client;
36
- this.relations = relations;
37
36
  this.schema = schema;
38
37
  this.options = options;
39
38
  this.logger = options.logger ?? new import_logger.NoopLogger();
@@ -52,19 +51,6 @@ class SQLiteD1Session extends import_session.SQLiteSession {
52
51
  customResultMapper
53
52
  );
54
53
  }
55
- prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
56
- const stmt = this.client.prepare(query.sql);
57
- return new D1PreparedQuery(
58
- stmt,
59
- query,
60
- this.logger,
61
- fields,
62
- executeMethod,
63
- false,
64
- customResultMapper,
65
- true
66
- );
67
- }
68
54
  async batch(queries) {
69
55
  const preparedQueries = [];
70
56
  const builtQueries = [];
@@ -94,7 +80,7 @@ class SQLiteD1Session extends import_session.SQLiteSession {
94
80
  return d1ToRawMapping(result.results);
95
81
  }
96
82
  async transaction(transaction, config) {
97
- const tx = new D1Transaction("async", this.dialect, this, this.relations, this.schema);
83
+ const tx = new D1Transaction("async", this.dialect, this, this.schema);
98
84
  await this.run(import_sql.sql.raw(`begin${config?.behavior ? " " + config.behavior : ""}`));
99
85
  try {
100
86
  const result = await transaction(tx);
@@ -110,14 +96,7 @@ class D1Transaction extends import_sqlite_core.SQLiteTransaction {
110
96
  static [import_entity.entityKind] = "D1Transaction";
111
97
  async transaction(transaction) {
112
98
  const savepointName = `sp${this.nestedIndex}`;
113
- const tx = new D1Transaction(
114
- "async",
115
- this.dialect,
116
- this.session,
117
- this.relations,
118
- this.schema,
119
- this.nestedIndex + 1
120
- );
99
+ const tx = new D1Transaction("async", this.dialect, this.session, this.schema, this.nestedIndex + 1);
121
100
  await this.session.run(import_sql.sql.raw(`savepoint ${savepointName}`));
122
101
  try {
123
102
  const result = await transaction(tx);
@@ -138,17 +117,18 @@ function d1ToRawMapping(results) {
138
117
  return rows;
139
118
  }
140
119
  class D1PreparedQuery extends import_session.SQLitePreparedQuery {
141
- constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
120
+ constructor(stmt, query, logger, fields, executeMethod, _isResponseInArrayMode, customResultMapper) {
142
121
  super("async", executeMethod, query);
143
122
  this.logger = logger;
144
123
  this._isResponseInArrayMode = _isResponseInArrayMode;
145
124
  this.customResultMapper = customResultMapper;
146
- this.isRqbV2Query = isRqbV2Query;
147
125
  this.fields = fields;
148
126
  this.stmt = stmt;
149
127
  }
150
128
  static [import_entity.entityKind] = "D1PreparedQuery";
151
129
  /** @internal */
130
+ customResultMapper;
131
+ /** @internal */
152
132
  fields;
153
133
  /** @internal */
154
134
  stmt;
@@ -158,8 +138,6 @@ class D1PreparedQuery extends import_session.SQLitePreparedQuery {
158
138
  return this.stmt.bind(...params).run();
159
139
  }
160
140
  async all(placeholderValues) {
161
- if (this.isRqbV2Query)
162
- return this.allRqbV2(placeholderValues);
163
141
  const { fields, query, logger, stmt, customResultMapper } = this;
164
142
  if (!fields && !customResultMapper) {
165
143
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -169,14 +147,6 @@ class D1PreparedQuery extends import_session.SQLitePreparedQuery {
169
147
  const rows = await this.values(placeholderValues);
170
148
  return this.mapAllResult(rows);
171
149
  }
172
- async allRqbV2(placeholderValues) {
173
- const { query, logger, stmt, customResultMapper } = this;
174
- const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
175
- logger.logQuery(query.sql, params);
176
- return stmt.bind(...params).all().then(
177
- ({ results }) => customResultMapper(results)
178
- );
179
- }
180
150
  mapAllResult(rows, isFromBatch) {
181
151
  if (isFromBatch) {
182
152
  rows = d1ToRawMapping(rows.results);
@@ -190,8 +160,6 @@ class D1PreparedQuery extends import_session.SQLitePreparedQuery {
190
160
  return rows.map((row) => (0, import_utils.mapResultRow)(this.fields, row, this.joinsNotNullableMap));
191
161
  }
192
162
  async get(placeholderValues) {
193
- if (this.isRqbV2Query)
194
- return this.getRqbV2(placeholderValues);
195
163
  const { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;
196
164
  if (!fields && !customResultMapper) {
197
165
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -207,16 +175,6 @@ class D1PreparedQuery extends import_session.SQLitePreparedQuery {
207
175
  }
208
176
  return (0, import_utils.mapResultRow)(fields, rows[0], joinsNotNullableMap);
209
177
  }
210
- async getRqbV2(placeholderValues) {
211
- const { query, logger, stmt, customResultMapper } = this;
212
- const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
213
- logger.logQuery(query.sql, params);
214
- const { results: rows } = await stmt.bind(...params).all();
215
- if (!rows[0]) {
216
- return void 0;
217
- }
218
- return customResultMapper(rows);
219
- }
220
178
  mapGetResult(result, isFromBatch) {
221
179
  if (isFromBatch) {
222
180
  result = d1ToRawMapping(result.results)[0];