drizzle-orm 0.33.0 → 0.34.0-06c725b

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 (864) hide show
  1. package/aws-data-api/pg/driver.cjs +12 -9
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +5 -3
  4. package/aws-data-api/pg/driver.d.ts +5 -3
  5. package/aws-data-api/pg/driver.js +6 -3
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/migrator.cjs.map +1 -1
  8. package/aws-data-api/pg/migrator.d.cts +1 -1
  9. package/aws-data-api/pg/migrator.d.ts +1 -1
  10. package/aws-data-api/pg/migrator.js.map +1 -1
  11. package/better-sqlite3/driver.cjs +10 -2
  12. package/better-sqlite3/driver.cjs.map +1 -1
  13. package/better-sqlite3/driver.d.cts +7 -2
  14. package/better-sqlite3/driver.d.ts +7 -2
  15. package/better-sqlite3/driver.js +9 -2
  16. package/better-sqlite3/driver.js.map +1 -1
  17. package/better-sqlite3/migrator.cjs.map +1 -1
  18. package/better-sqlite3/migrator.d.cts +1 -1
  19. package/better-sqlite3/migrator.d.ts +1 -1
  20. package/better-sqlite3/migrator.js.map +1 -1
  21. package/bun-sqlite/driver.cjs +10 -2
  22. package/bun-sqlite/driver.cjs.map +1 -1
  23. package/bun-sqlite/driver.d.cts +7 -2
  24. package/bun-sqlite/driver.d.ts +7 -2
  25. package/bun-sqlite/driver.js +9 -2
  26. package/bun-sqlite/driver.js.map +1 -1
  27. package/bun-sqlite/migrator.cjs.map +1 -1
  28. package/bun-sqlite/migrator.d.cts +1 -1
  29. package/bun-sqlite/migrator.d.ts +1 -1
  30. package/bun-sqlite/migrator.js.map +1 -1
  31. package/casing.cjs +85 -0
  32. package/casing.cjs.map +1 -0
  33. package/casing.d.cts +14 -0
  34. package/casing.d.ts +14 -0
  35. package/casing.js +59 -0
  36. package/casing.js.map +1 -0
  37. package/column-builder.cjs +7 -0
  38. package/column-builder.cjs.map +1 -1
  39. package/column-builder.d.cts +7 -2
  40. package/column-builder.d.ts +7 -2
  41. package/column-builder.js +7 -0
  42. package/column-builder.js.map +1 -1
  43. package/column.cjs +3 -0
  44. package/column.cjs.map +1 -1
  45. package/column.js +3 -0
  46. package/column.js.map +1 -1
  47. package/connect.cjs +25 -0
  48. package/connect.cjs.map +1 -0
  49. package/connect.d.cts +2 -0
  50. package/connect.d.ts +2 -0
  51. package/connect.js +3 -0
  52. package/connect.js.map +1 -0
  53. package/d1/driver.cjs +4 -2
  54. package/d1/driver.cjs.map +1 -1
  55. package/d1/driver.d.cts +6 -2
  56. package/d1/driver.d.ts +6 -2
  57. package/d1/driver.js +4 -2
  58. package/d1/driver.js.map +1 -1
  59. package/d1/migrator.cjs +1 -1
  60. package/d1/migrator.cjs.map +1 -1
  61. package/d1/migrator.d.cts +1 -1
  62. package/d1/migrator.d.ts +1 -1
  63. package/d1/migrator.js +1 -1
  64. package/d1/migrator.js.map +1 -1
  65. package/expo-sqlite/driver.cjs +10 -2
  66. package/expo-sqlite/driver.cjs.map +1 -1
  67. package/expo-sqlite/driver.d.cts +7 -2
  68. package/expo-sqlite/driver.d.ts +7 -2
  69. package/expo-sqlite/driver.js +9 -2
  70. package/expo-sqlite/driver.js.map +1 -1
  71. package/expo-sqlite/query.cjs +8 -6
  72. package/expo-sqlite/query.cjs.map +1 -1
  73. package/expo-sqlite/query.js +3 -1
  74. package/expo-sqlite/query.js.map +1 -1
  75. package/libsql/driver.cjs +4 -2
  76. package/libsql/driver.cjs.map +1 -1
  77. package/libsql/driver.d.cts +3 -1
  78. package/libsql/driver.d.ts +3 -1
  79. package/libsql/driver.js +4 -2
  80. package/libsql/driver.js.map +1 -1
  81. package/libsql/migrator.cjs +2 -2
  82. package/libsql/migrator.cjs.map +1 -1
  83. package/libsql/migrator.js +2 -2
  84. package/libsql/migrator.js.map +1 -1
  85. package/libsql/session.cjs +12 -0
  86. package/libsql/session.cjs.map +1 -1
  87. package/libsql/session.d.cts +1 -0
  88. package/libsql/session.d.ts +1 -0
  89. package/libsql/session.js +12 -0
  90. package/libsql/session.js.map +1 -1
  91. package/migrator.cjs +1 -12
  92. package/migrator.cjs.map +1 -1
  93. package/migrator.d.cts +1 -1
  94. package/migrator.d.ts +1 -1
  95. package/migrator.js +1 -12
  96. package/migrator.js.map +1 -1
  97. package/monodriver.cjs +283 -0
  98. package/monodriver.cjs.map +1 -0
  99. package/monodriver.d.cts +194 -0
  100. package/monodriver.d.ts +194 -0
  101. package/monodriver.js +249 -0
  102. package/monodriver.js.map +1 -0
  103. package/monomigrator.cjs +99 -0
  104. package/monomigrator.cjs.map +1 -0
  105. package/monomigrator.d.cts +16 -0
  106. package/monomigrator.d.ts +16 -0
  107. package/monomigrator.js +65 -0
  108. package/monomigrator.js.map +1 -0
  109. package/mysql-core/columns/all.cjs +80 -0
  110. package/mysql-core/columns/all.cjs.map +1 -0
  111. package/mysql-core/columns/all.d.cts +51 -0
  112. package/mysql-core/columns/all.d.ts +51 -0
  113. package/mysql-core/columns/all.js +56 -0
  114. package/mysql-core/columns/all.js.map +1 -0
  115. package/mysql-core/columns/bigint.cjs +3 -1
  116. package/mysql-core/columns/bigint.cjs.map +1 -1
  117. package/mysql-core/columns/bigint.d.cts +2 -2
  118. package/mysql-core/columns/bigint.d.ts +2 -2
  119. package/mysql-core/columns/bigint.js +3 -1
  120. package/mysql-core/columns/bigint.js.map +1 -1
  121. package/mysql-core/columns/binary.cjs +3 -1
  122. package/mysql-core/columns/binary.cjs.map +1 -1
  123. package/mysql-core/columns/binary.d.cts +2 -0
  124. package/mysql-core/columns/binary.d.ts +2 -0
  125. package/mysql-core/columns/binary.js +3 -1
  126. package/mysql-core/columns/binary.js.map +1 -1
  127. package/mysql-core/columns/boolean.cjs +1 -1
  128. package/mysql-core/columns/boolean.cjs.map +1 -1
  129. package/mysql-core/columns/boolean.d.cts +1 -0
  130. package/mysql-core/columns/boolean.d.ts +1 -0
  131. package/mysql-core/columns/boolean.js +1 -1
  132. package/mysql-core/columns/boolean.js.map +1 -1
  133. package/mysql-core/columns/char.cjs +3 -1
  134. package/mysql-core/columns/char.cjs.map +1 -1
  135. package/mysql-core/columns/char.d.cts +4 -2
  136. package/mysql-core/columns/char.d.ts +4 -2
  137. package/mysql-core/columns/char.js +3 -1
  138. package/mysql-core/columns/char.js.map +1 -1
  139. package/mysql-core/columns/custom.cjs +4 -2
  140. package/mysql-core/columns/custom.cjs.map +1 -1
  141. package/mysql-core/columns/custom.d.cts +10 -3
  142. package/mysql-core/columns/custom.d.ts +10 -3
  143. package/mysql-core/columns/custom.js +4 -2
  144. package/mysql-core/columns/custom.js.map +1 -1
  145. package/mysql-core/columns/date.cjs +4 -2
  146. package/mysql-core/columns/date.cjs.map +1 -1
  147. package/mysql-core/columns/date.d.cts +3 -1
  148. package/mysql-core/columns/date.d.ts +3 -1
  149. package/mysql-core/columns/date.js +4 -2
  150. package/mysql-core/columns/date.js.map +1 -1
  151. package/mysql-core/columns/datetime.cjs +4 -2
  152. package/mysql-core/columns/datetime.cjs.map +1 -1
  153. package/mysql-core/columns/datetime.d.cts +3 -1
  154. package/mysql-core/columns/datetime.d.ts +3 -1
  155. package/mysql-core/columns/datetime.js +4 -2
  156. package/mysql-core/columns/datetime.js.map +1 -1
  157. package/mysql-core/columns/decimal.cjs +3 -1
  158. package/mysql-core/columns/decimal.cjs.map +1 -1
  159. package/mysql-core/columns/decimal.d.cts +2 -0
  160. package/mysql-core/columns/decimal.d.ts +2 -0
  161. package/mysql-core/columns/decimal.js +3 -1
  162. package/mysql-core/columns/decimal.js.map +1 -1
  163. package/mysql-core/columns/double.cjs +3 -1
  164. package/mysql-core/columns/double.cjs.map +1 -1
  165. package/mysql-core/columns/double.d.cts +2 -0
  166. package/mysql-core/columns/double.d.ts +2 -0
  167. package/mysql-core/columns/double.js +3 -1
  168. package/mysql-core/columns/double.js.map +1 -1
  169. package/mysql-core/columns/enum.cjs +3 -1
  170. package/mysql-core/columns/enum.cjs.map +1 -1
  171. package/mysql-core/columns/enum.d.cts +2 -1
  172. package/mysql-core/columns/enum.d.ts +2 -1
  173. package/mysql-core/columns/enum.js +3 -1
  174. package/mysql-core/columns/enum.js.map +1 -1
  175. package/mysql-core/columns/float.cjs +1 -1
  176. package/mysql-core/columns/float.cjs.map +1 -1
  177. package/mysql-core/columns/float.d.cts +1 -0
  178. package/mysql-core/columns/float.d.ts +1 -0
  179. package/mysql-core/columns/float.js +1 -1
  180. package/mysql-core/columns/float.js.map +1 -1
  181. package/mysql-core/columns/int.cjs +3 -1
  182. package/mysql-core/columns/int.cjs.map +1 -1
  183. package/mysql-core/columns/int.d.cts +2 -0
  184. package/mysql-core/columns/int.d.ts +2 -0
  185. package/mysql-core/columns/int.js +3 -1
  186. package/mysql-core/columns/int.js.map +1 -1
  187. package/mysql-core/columns/json.cjs +1 -1
  188. package/mysql-core/columns/json.cjs.map +1 -1
  189. package/mysql-core/columns/json.d.cts +1 -0
  190. package/mysql-core/columns/json.d.ts +1 -0
  191. package/mysql-core/columns/json.js +1 -1
  192. package/mysql-core/columns/json.js.map +1 -1
  193. package/mysql-core/columns/mediumint.cjs +3 -1
  194. package/mysql-core/columns/mediumint.cjs.map +1 -1
  195. package/mysql-core/columns/mediumint.d.cts +2 -0
  196. package/mysql-core/columns/mediumint.d.ts +2 -0
  197. package/mysql-core/columns/mediumint.js +3 -1
  198. package/mysql-core/columns/mediumint.js.map +1 -1
  199. package/mysql-core/columns/real.cjs +3 -1
  200. package/mysql-core/columns/real.cjs.map +1 -1
  201. package/mysql-core/columns/real.d.cts +2 -0
  202. package/mysql-core/columns/real.d.ts +2 -0
  203. package/mysql-core/columns/real.js +3 -1
  204. package/mysql-core/columns/real.js.map +1 -1
  205. package/mysql-core/columns/serial.cjs +1 -1
  206. package/mysql-core/columns/serial.cjs.map +1 -1
  207. package/mysql-core/columns/serial.d.cts +1 -0
  208. package/mysql-core/columns/serial.d.ts +1 -0
  209. package/mysql-core/columns/serial.js +1 -1
  210. package/mysql-core/columns/serial.js.map +1 -1
  211. package/mysql-core/columns/smallint.cjs +3 -1
  212. package/mysql-core/columns/smallint.cjs.map +1 -1
  213. package/mysql-core/columns/smallint.d.cts +2 -0
  214. package/mysql-core/columns/smallint.d.ts +2 -0
  215. package/mysql-core/columns/smallint.js +3 -1
  216. package/mysql-core/columns/smallint.js.map +1 -1
  217. package/mysql-core/columns/text.cjs +9 -4
  218. package/mysql-core/columns/text.cjs.map +1 -1
  219. package/mysql-core/columns/text.d.cts +10 -2
  220. package/mysql-core/columns/text.d.ts +10 -2
  221. package/mysql-core/columns/text.js +9 -4
  222. package/mysql-core/columns/text.js.map +1 -1
  223. package/mysql-core/columns/time.cjs +3 -1
  224. package/mysql-core/columns/time.cjs.map +1 -1
  225. package/mysql-core/columns/time.d.cts +2 -0
  226. package/mysql-core/columns/time.d.ts +2 -0
  227. package/mysql-core/columns/time.js +3 -1
  228. package/mysql-core/columns/time.js.map +1 -1
  229. package/mysql-core/columns/timestamp.cjs +4 -2
  230. package/mysql-core/columns/timestamp.cjs.map +1 -1
  231. package/mysql-core/columns/timestamp.d.cts +3 -1
  232. package/mysql-core/columns/timestamp.d.ts +3 -1
  233. package/mysql-core/columns/timestamp.js +4 -2
  234. package/mysql-core/columns/timestamp.js.map +1 -1
  235. package/mysql-core/columns/tinyint.cjs +3 -1
  236. package/mysql-core/columns/tinyint.cjs.map +1 -1
  237. package/mysql-core/columns/tinyint.d.cts +2 -0
  238. package/mysql-core/columns/tinyint.d.ts +2 -0
  239. package/mysql-core/columns/tinyint.js +3 -1
  240. package/mysql-core/columns/tinyint.js.map +1 -1
  241. package/mysql-core/columns/varbinary.cjs +4 -2
  242. package/mysql-core/columns/varbinary.cjs.map +1 -1
  243. package/mysql-core/columns/varbinary.d.cts +2 -1
  244. package/mysql-core/columns/varbinary.d.ts +2 -1
  245. package/mysql-core/columns/varbinary.js +4 -2
  246. package/mysql-core/columns/varbinary.js.map +1 -1
  247. package/mysql-core/columns/varchar.cjs +3 -1
  248. package/mysql-core/columns/varchar.cjs.map +1 -1
  249. package/mysql-core/columns/varchar.d.cts +3 -2
  250. package/mysql-core/columns/varchar.d.ts +3 -2
  251. package/mysql-core/columns/varchar.js +3 -1
  252. package/mysql-core/columns/varchar.js.map +1 -1
  253. package/mysql-core/columns/year.cjs +1 -1
  254. package/mysql-core/columns/year.cjs.map +1 -1
  255. package/mysql-core/columns/year.d.cts +1 -0
  256. package/mysql-core/columns/year.d.ts +1 -0
  257. package/mysql-core/columns/year.js +1 -1
  258. package/mysql-core/columns/year.js.map +1 -1
  259. package/mysql-core/db.cjs +8 -2
  260. package/mysql-core/db.cjs.map +1 -1
  261. package/mysql-core/db.d.cts +5 -2
  262. package/mysql-core/db.d.ts +5 -2
  263. package/mysql-core/db.js +8 -2
  264. package/mysql-core/db.js.map +1 -1
  265. package/mysql-core/dialect.cjs +14 -7
  266. package/mysql-core/dialect.cjs.map +1 -1
  267. package/mysql-core/dialect.d.cts +5 -1
  268. package/mysql-core/dialect.d.ts +5 -1
  269. package/mysql-core/dialect.js +14 -7
  270. package/mysql-core/dialect.js.map +1 -1
  271. package/mysql-core/foreign-keys.cjs +3 -3
  272. package/mysql-core/foreign-keys.cjs.map +1 -1
  273. package/mysql-core/foreign-keys.d.cts +1 -1
  274. package/mysql-core/foreign-keys.d.ts +1 -1
  275. package/mysql-core/foreign-keys.js +3 -3
  276. package/mysql-core/foreign-keys.js.map +1 -1
  277. package/mysql-core/query-builders/count.cjs +73 -0
  278. package/mysql-core/query-builders/count.cjs.map +1 -0
  279. package/mysql-core/query-builders/count.d.cts +26 -0
  280. package/mysql-core/query-builders/count.d.ts +26 -0
  281. package/mysql-core/query-builders/count.js +49 -0
  282. package/mysql-core/query-builders/count.js.map +1 -0
  283. package/mysql-core/query-builders/query-builder.cjs +6 -1
  284. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  285. package/mysql-core/query-builders/query-builder.d.cts +4 -0
  286. package/mysql-core/query-builders/query-builder.d.ts +4 -0
  287. package/mysql-core/query-builders/query-builder.js +7 -2
  288. package/mysql-core/query-builders/query-builder.js.map +1 -1
  289. package/mysql-core/session.cjs +6 -0
  290. package/mysql-core/session.cjs.map +1 -1
  291. package/mysql-core/session.d.cts +1 -0
  292. package/mysql-core/session.d.ts +1 -0
  293. package/mysql-core/session.js +6 -0
  294. package/mysql-core/session.js.map +1 -1
  295. package/mysql-core/table.cjs +4 -1
  296. package/mysql-core/table.cjs.map +1 -1
  297. package/mysql-core/table.d.cts +8 -1
  298. package/mysql-core/table.d.ts +8 -1
  299. package/mysql-core/table.js +4 -1
  300. package/mysql-core/table.js.map +1 -1
  301. package/mysql-core/unique-constraint.cjs +2 -2
  302. package/mysql-core/unique-constraint.cjs.map +1 -1
  303. package/mysql-core/unique-constraint.d.cts +1 -1
  304. package/mysql-core/unique-constraint.d.ts +1 -1
  305. package/mysql-core/unique-constraint.js +2 -2
  306. package/mysql-core/unique-constraint.js.map +1 -1
  307. package/mysql-proxy/driver.cjs +8 -2
  308. package/mysql-proxy/driver.cjs.map +1 -1
  309. package/mysql-proxy/driver.d.cts +4 -1
  310. package/mysql-proxy/driver.d.ts +4 -1
  311. package/mysql-proxy/driver.js +7 -2
  312. package/mysql-proxy/driver.js.map +1 -1
  313. package/mysql2/driver.cjs +13 -8
  314. package/mysql2/driver.cjs.map +1 -1
  315. package/mysql2/driver.d.cts +6 -2
  316. package/mysql2/driver.d.ts +6 -2
  317. package/mysql2/driver.js +11 -7
  318. package/mysql2/driver.js.map +1 -1
  319. package/neon-http/driver.cjs +4 -2
  320. package/neon-http/driver.cjs.map +1 -1
  321. package/neon-http/driver.d.cts +3 -1
  322. package/neon-http/driver.d.ts +3 -1
  323. package/neon-http/driver.js +4 -2
  324. package/neon-http/driver.js.map +1 -1
  325. package/neon-http/migrator.cjs +2 -2
  326. package/neon-http/migrator.cjs.map +1 -1
  327. package/neon-http/migrator.d.cts +1 -1
  328. package/neon-http/migrator.d.ts +1 -1
  329. package/neon-http/migrator.js +2 -2
  330. package/neon-http/migrator.js.map +1 -1
  331. package/neon-http/session.cjs +6 -0
  332. package/neon-http/session.cjs.map +1 -1
  333. package/neon-http/session.d.cts +2 -1
  334. package/neon-http/session.d.ts +2 -1
  335. package/neon-http/session.js +6 -0
  336. package/neon-http/session.js.map +1 -1
  337. package/neon-serverless/driver.cjs +9 -2
  338. package/neon-serverless/driver.cjs.map +1 -1
  339. package/neon-serverless/driver.d.cts +6 -2
  340. package/neon-serverless/driver.d.ts +6 -2
  341. package/neon-serverless/driver.js +8 -2
  342. package/neon-serverless/driver.js.map +1 -1
  343. package/neon-serverless/migrator.cjs.map +1 -1
  344. package/neon-serverless/migrator.d.cts +1 -1
  345. package/neon-serverless/migrator.d.ts +1 -1
  346. package/neon-serverless/migrator.js.map +1 -1
  347. package/node-postgres/driver.cjs +9 -2
  348. package/node-postgres/driver.cjs.map +1 -1
  349. package/node-postgres/driver.d.cts +6 -2
  350. package/node-postgres/driver.d.ts +6 -2
  351. package/node-postgres/driver.js +8 -2
  352. package/node-postgres/driver.js.map +1 -1
  353. package/node-postgres/migrator.cjs.map +1 -1
  354. package/node-postgres/migrator.d.cts +1 -1
  355. package/node-postgres/migrator.d.ts +1 -1
  356. package/node-postgres/migrator.js.map +1 -1
  357. package/node-postgres/session.cjs +6 -0
  358. package/node-postgres/session.cjs.map +1 -1
  359. package/node-postgres/session.d.cts +2 -1
  360. package/node-postgres/session.d.ts +2 -1
  361. package/node-postgres/session.js +6 -0
  362. package/node-postgres/session.js.map +1 -1
  363. package/op-sqlite/driver.cjs +10 -2
  364. package/op-sqlite/driver.cjs.map +1 -1
  365. package/op-sqlite/driver.d.cts +7 -2
  366. package/op-sqlite/driver.d.ts +7 -2
  367. package/op-sqlite/driver.js +9 -2
  368. package/op-sqlite/driver.js.map +1 -1
  369. package/operations.cjs.map +1 -1
  370. package/package.json +184 -51
  371. package/pg-core/columns/all.cjs +96 -0
  372. package/pg-core/columns/all.cjs.map +1 -0
  373. package/pg-core/columns/all.d.cts +67 -0
  374. package/pg-core/columns/all.d.ts +67 -0
  375. package/pg-core/columns/all.js +72 -0
  376. package/pg-core/columns/all.js.map +1 -0
  377. package/pg-core/columns/bigint.cjs +3 -1
  378. package/pg-core/columns/bigint.cjs.map +1 -1
  379. package/pg-core/columns/bigint.d.cts +2 -2
  380. package/pg-core/columns/bigint.d.ts +2 -2
  381. package/pg-core/columns/bigint.js +3 -1
  382. package/pg-core/columns/bigint.js.map +1 -1
  383. package/pg-core/columns/bigserial.cjs +4 -2
  384. package/pg-core/columns/bigserial.cjs.map +1 -1
  385. package/pg-core/columns/bigserial.d.cts +2 -2
  386. package/pg-core/columns/bigserial.d.ts +2 -2
  387. package/pg-core/columns/bigserial.js +4 -2
  388. package/pg-core/columns/bigserial.js.map +1 -1
  389. package/pg-core/columns/boolean.cjs +1 -1
  390. package/pg-core/columns/boolean.cjs.map +1 -1
  391. package/pg-core/columns/boolean.d.cts +1 -0
  392. package/pg-core/columns/boolean.d.ts +1 -0
  393. package/pg-core/columns/boolean.js +1 -1
  394. package/pg-core/columns/boolean.js.map +1 -1
  395. package/pg-core/columns/char.cjs +3 -1
  396. package/pg-core/columns/char.cjs.map +1 -1
  397. package/pg-core/columns/char.d.cts +5 -3
  398. package/pg-core/columns/char.d.ts +5 -3
  399. package/pg-core/columns/char.js +3 -1
  400. package/pg-core/columns/char.js.map +1 -1
  401. package/pg-core/columns/cidr.cjs +1 -1
  402. package/pg-core/columns/cidr.cjs.map +1 -1
  403. package/pg-core/columns/cidr.d.cts +1 -0
  404. package/pg-core/columns/cidr.d.ts +1 -0
  405. package/pg-core/columns/cidr.js +1 -1
  406. package/pg-core/columns/cidr.js.map +1 -1
  407. package/pg-core/columns/common.cjs.map +1 -1
  408. package/pg-core/columns/common.d.cts +1 -1
  409. package/pg-core/columns/common.d.ts +1 -1
  410. package/pg-core/columns/common.js.map +1 -1
  411. package/pg-core/columns/custom.cjs +4 -2
  412. package/pg-core/columns/custom.cjs.map +1 -1
  413. package/pg-core/columns/custom.d.cts +10 -3
  414. package/pg-core/columns/custom.d.ts +10 -3
  415. package/pg-core/columns/custom.js +4 -2
  416. package/pg-core/columns/custom.js.map +1 -1
  417. package/pg-core/columns/date.cjs +3 -1
  418. package/pg-core/columns/date.cjs.map +1 -1
  419. package/pg-core/columns/date.d.cts +7 -6
  420. package/pg-core/columns/date.d.ts +7 -6
  421. package/pg-core/columns/date.js +3 -1
  422. package/pg-core/columns/date.js.map +1 -1
  423. package/pg-core/columns/double-precision.cjs +1 -1
  424. package/pg-core/columns/double-precision.cjs.map +1 -1
  425. package/pg-core/columns/double-precision.d.cts +1 -0
  426. package/pg-core/columns/double-precision.d.ts +1 -0
  427. package/pg-core/columns/double-precision.js +1 -1
  428. package/pg-core/columns/double-precision.js.map +1 -1
  429. package/pg-core/columns/enum.cjs +1 -1
  430. package/pg-core/columns/enum.cjs.map +1 -1
  431. package/pg-core/columns/enum.d.cts +3 -1
  432. package/pg-core/columns/enum.d.ts +3 -1
  433. package/pg-core/columns/enum.js +1 -1
  434. package/pg-core/columns/enum.js.map +1 -1
  435. package/pg-core/columns/index.cjs +2 -0
  436. package/pg-core/columns/index.cjs.map +1 -1
  437. package/pg-core/columns/index.d.cts +1 -0
  438. package/pg-core/columns/index.d.ts +1 -0
  439. package/pg-core/columns/index.js +1 -0
  440. package/pg-core/columns/index.js.map +1 -1
  441. package/pg-core/columns/inet.cjs +1 -1
  442. package/pg-core/columns/inet.cjs.map +1 -1
  443. package/pg-core/columns/inet.d.cts +1 -0
  444. package/pg-core/columns/inet.d.ts +1 -0
  445. package/pg-core/columns/inet.js +1 -1
  446. package/pg-core/columns/inet.js.map +1 -1
  447. package/pg-core/columns/integer.cjs +1 -1
  448. package/pg-core/columns/integer.cjs.map +1 -1
  449. package/pg-core/columns/integer.d.cts +1 -0
  450. package/pg-core/columns/integer.d.ts +1 -0
  451. package/pg-core/columns/integer.js +1 -1
  452. package/pg-core/columns/integer.js.map +1 -1
  453. package/pg-core/columns/interval.cjs +3 -1
  454. package/pg-core/columns/interval.cjs.map +1 -1
  455. package/pg-core/columns/interval.d.cts +2 -0
  456. package/pg-core/columns/interval.d.ts +2 -0
  457. package/pg-core/columns/interval.js +3 -1
  458. package/pg-core/columns/interval.js.map +1 -1
  459. package/pg-core/columns/json.cjs +1 -1
  460. package/pg-core/columns/json.cjs.map +1 -1
  461. package/pg-core/columns/json.d.cts +1 -0
  462. package/pg-core/columns/json.d.ts +1 -0
  463. package/pg-core/columns/json.js +1 -1
  464. package/pg-core/columns/json.js.map +1 -1
  465. package/pg-core/columns/jsonb.cjs +1 -1
  466. package/pg-core/columns/jsonb.cjs.map +1 -1
  467. package/pg-core/columns/jsonb.d.cts +1 -0
  468. package/pg-core/columns/jsonb.d.ts +1 -0
  469. package/pg-core/columns/jsonb.js +1 -1
  470. package/pg-core/columns/jsonb.js.map +1 -1
  471. package/pg-core/columns/line.cjs +3 -1
  472. package/pg-core/columns/line.cjs.map +1 -1
  473. package/pg-core/columns/line.d.cts +3 -1
  474. package/pg-core/columns/line.d.ts +3 -1
  475. package/pg-core/columns/line.js +3 -1
  476. package/pg-core/columns/line.js.map +1 -1
  477. package/pg-core/columns/macaddr.cjs +1 -1
  478. package/pg-core/columns/macaddr.cjs.map +1 -1
  479. package/pg-core/columns/macaddr.d.cts +1 -0
  480. package/pg-core/columns/macaddr.d.ts +1 -0
  481. package/pg-core/columns/macaddr.js +1 -1
  482. package/pg-core/columns/macaddr.js.map +1 -1
  483. package/pg-core/columns/macaddr8.cjs +1 -1
  484. package/pg-core/columns/macaddr8.cjs.map +1 -1
  485. package/pg-core/columns/macaddr8.d.cts +1 -0
  486. package/pg-core/columns/macaddr8.d.ts +1 -0
  487. package/pg-core/columns/macaddr8.js +1 -1
  488. package/pg-core/columns/macaddr8.js.map +1 -1
  489. package/pg-core/columns/numeric.cjs +3 -1
  490. package/pg-core/columns/numeric.cjs.map +1 -1
  491. package/pg-core/columns/numeric.d.cts +6 -3
  492. package/pg-core/columns/numeric.d.ts +6 -3
  493. package/pg-core/columns/numeric.js +3 -1
  494. package/pg-core/columns/numeric.js.map +1 -1
  495. package/pg-core/columns/point.cjs +3 -1
  496. package/pg-core/columns/point.cjs.map +1 -1
  497. package/pg-core/columns/point.d.cts +5 -3
  498. package/pg-core/columns/point.d.ts +5 -3
  499. package/pg-core/columns/point.js +3 -1
  500. package/pg-core/columns/point.js.map +1 -1
  501. package/pg-core/columns/postgis_extension/geometry.cjs +6 -4
  502. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  503. package/pg-core/columns/postgis_extension/geometry.d.cts +4 -3
  504. package/pg-core/columns/postgis_extension/geometry.d.ts +4 -3
  505. package/pg-core/columns/postgis_extension/geometry.js +3 -1
  506. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  507. package/pg-core/columns/real.cjs +1 -1
  508. package/pg-core/columns/real.cjs.map +1 -1
  509. package/pg-core/columns/real.d.cts +2 -1
  510. package/pg-core/columns/real.d.ts +2 -1
  511. package/pg-core/columns/real.js +1 -1
  512. package/pg-core/columns/real.js.map +1 -1
  513. package/pg-core/columns/serial.cjs +1 -1
  514. package/pg-core/columns/serial.cjs.map +1 -1
  515. package/pg-core/columns/serial.d.cts +2 -1
  516. package/pg-core/columns/serial.d.ts +2 -1
  517. package/pg-core/columns/serial.js +1 -1
  518. package/pg-core/columns/serial.js.map +1 -1
  519. package/pg-core/columns/smallint.cjs +1 -1
  520. package/pg-core/columns/smallint.cjs.map +1 -1
  521. package/pg-core/columns/smallint.d.cts +1 -0
  522. package/pg-core/columns/smallint.d.ts +1 -0
  523. package/pg-core/columns/smallint.js +1 -1
  524. package/pg-core/columns/smallint.js.map +1 -1
  525. package/pg-core/columns/smallserial.cjs +1 -1
  526. package/pg-core/columns/smallserial.cjs.map +1 -1
  527. package/pg-core/columns/smallserial.d.cts +2 -1
  528. package/pg-core/columns/smallserial.d.ts +2 -1
  529. package/pg-core/columns/smallserial.js +1 -1
  530. package/pg-core/columns/smallserial.js.map +1 -1
  531. package/pg-core/columns/text.cjs +3 -1
  532. package/pg-core/columns/text.cjs.map +1 -1
  533. package/pg-core/columns/text.d.cts +4 -2
  534. package/pg-core/columns/text.d.ts +4 -2
  535. package/pg-core/columns/text.js +3 -1
  536. package/pg-core/columns/text.js.map +1 -1
  537. package/pg-core/columns/time.cjs +3 -1
  538. package/pg-core/columns/time.cjs.map +1 -1
  539. package/pg-core/columns/time.d.cts +2 -0
  540. package/pg-core/columns/time.d.ts +2 -0
  541. package/pg-core/columns/time.js +3 -1
  542. package/pg-core/columns/time.js.map +1 -1
  543. package/pg-core/columns/timestamp.cjs +5 -3
  544. package/pg-core/columns/timestamp.cjs.map +1 -1
  545. package/pg-core/columns/timestamp.d.cts +5 -3
  546. package/pg-core/columns/timestamp.d.ts +5 -3
  547. package/pg-core/columns/timestamp.js +5 -3
  548. package/pg-core/columns/timestamp.js.map +1 -1
  549. package/pg-core/columns/uuid.cjs +1 -1
  550. package/pg-core/columns/uuid.cjs.map +1 -1
  551. package/pg-core/columns/uuid.d.cts +1 -0
  552. package/pg-core/columns/uuid.d.ts +1 -0
  553. package/pg-core/columns/uuid.js +1 -1
  554. package/pg-core/columns/uuid.js.map +1 -1
  555. package/pg-core/columns/varchar.cjs +3 -1
  556. package/pg-core/columns/varchar.cjs.map +1 -1
  557. package/pg-core/columns/varchar.d.cts +5 -3
  558. package/pg-core/columns/varchar.d.ts +5 -3
  559. package/pg-core/columns/varchar.js +3 -1
  560. package/pg-core/columns/varchar.js.map +1 -1
  561. package/pg-core/columns/vector_extension/bit.cjs +3 -1
  562. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  563. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  564. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  565. package/pg-core/columns/vector_extension/bit.js +3 -1
  566. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  567. package/pg-core/columns/vector_extension/halfvec.cjs +3 -1
  568. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  569. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  570. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  571. package/pg-core/columns/vector_extension/halfvec.js +3 -1
  572. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  573. package/pg-core/columns/vector_extension/sparsevec.cjs +3 -1
  574. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  575. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  576. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  577. package/pg-core/columns/vector_extension/sparsevec.js +3 -1
  578. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  579. package/pg-core/columns/vector_extension/vector.cjs +3 -1
  580. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  581. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  582. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  583. package/pg-core/columns/vector_extension/vector.js +3 -1
  584. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  585. package/pg-core/db.cjs +10 -4
  586. package/pg-core/db.cjs.map +1 -1
  587. package/pg-core/db.d.cts +6 -3
  588. package/pg-core/db.d.ts +6 -3
  589. package/pg-core/db.js +10 -4
  590. package/pg-core/db.js.map +1 -1
  591. package/pg-core/dialect.cjs +13 -4
  592. package/pg-core/dialect.cjs.map +1 -1
  593. package/pg-core/dialect.d.cts +5 -1
  594. package/pg-core/dialect.d.ts +5 -1
  595. package/pg-core/dialect.js +13 -4
  596. package/pg-core/dialect.js.map +1 -1
  597. package/pg-core/foreign-keys.cjs +3 -3
  598. package/pg-core/foreign-keys.cjs.map +1 -1
  599. package/pg-core/foreign-keys.d.cts +1 -1
  600. package/pg-core/foreign-keys.d.ts +1 -1
  601. package/pg-core/foreign-keys.js +3 -3
  602. package/pg-core/foreign-keys.js.map +1 -1
  603. package/pg-core/query-builders/count.cjs +73 -0
  604. package/pg-core/query-builders/count.cjs.map +1 -0
  605. package/pg-core/query-builders/count.d.cts +25 -0
  606. package/pg-core/query-builders/count.d.ts +25 -0
  607. package/pg-core/query-builders/count.js +49 -0
  608. package/pg-core/query-builders/count.js.map +1 -0
  609. package/pg-core/query-builders/insert.cjs +2 -2
  610. package/pg-core/query-builders/insert.cjs.map +1 -1
  611. package/pg-core/query-builders/insert.js +2 -2
  612. package/pg-core/query-builders/insert.js.map +1 -1
  613. package/pg-core/query-builders/query-builder.cjs +6 -1
  614. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  615. package/pg-core/query-builders/query-builder.d.cts +4 -0
  616. package/pg-core/query-builders/query-builder.d.ts +4 -0
  617. package/pg-core/query-builders/query-builder.js +7 -2
  618. package/pg-core/query-builders/query-builder.js.map +1 -1
  619. package/pg-core/session.cjs +6 -0
  620. package/pg-core/session.cjs.map +1 -1
  621. package/pg-core/session.d.cts +1 -0
  622. package/pg-core/session.d.ts +1 -0
  623. package/pg-core/session.js +6 -0
  624. package/pg-core/session.js.map +1 -1
  625. package/pg-core/table.cjs +6 -2
  626. package/pg-core/table.cjs.map +1 -1
  627. package/pg-core/table.d.cts +7 -0
  628. package/pg-core/table.d.ts +7 -0
  629. package/pg-core/table.js +6 -2
  630. package/pg-core/table.js.map +1 -1
  631. package/pg-core/unique-constraint.cjs +2 -2
  632. package/pg-core/unique-constraint.cjs.map +1 -1
  633. package/pg-core/unique-constraint.d.cts +1 -1
  634. package/pg-core/unique-constraint.d.ts +1 -1
  635. package/pg-core/unique-constraint.js +2 -2
  636. package/pg-core/unique-constraint.js.map +1 -1
  637. package/pg-proxy/driver.cjs +8 -2
  638. package/pg-proxy/driver.cjs.map +1 -1
  639. package/pg-proxy/driver.d.cts +4 -1
  640. package/pg-proxy/driver.d.ts +4 -1
  641. package/pg-proxy/driver.js +7 -2
  642. package/pg-proxy/driver.js.map +1 -1
  643. package/pg-proxy/migrator.cjs.map +1 -1
  644. package/pg-proxy/migrator.d.cts +1 -1
  645. package/pg-proxy/migrator.d.ts +1 -1
  646. package/pg-proxy/migrator.js.map +1 -1
  647. package/pg-proxy/session.cjs.map +1 -1
  648. package/pg-proxy/session.js.map +1 -1
  649. package/pglite/driver.cjs +9 -2
  650. package/pglite/driver.cjs.map +1 -1
  651. package/pglite/driver.d.cts +6 -2
  652. package/pglite/driver.d.ts +6 -2
  653. package/pglite/driver.js +8 -2
  654. package/pglite/driver.js.map +1 -1
  655. package/pglite/migrator.cjs.map +1 -1
  656. package/pglite/migrator.d.cts +1 -1
  657. package/pglite/migrator.d.ts +1 -1
  658. package/pglite/migrator.js.map +1 -1
  659. package/pglite/session.cjs +6 -0
  660. package/pglite/session.cjs.map +1 -1
  661. package/pglite/session.d.cts +2 -1
  662. package/pglite/session.d.ts +2 -1
  663. package/pglite/session.js +6 -0
  664. package/pglite/session.js.map +1 -1
  665. package/planetscale-serverless/driver.cjs +10 -2
  666. package/planetscale-serverless/driver.cjs.map +1 -1
  667. package/planetscale-serverless/driver.d.cts +7 -2
  668. package/planetscale-serverless/driver.d.ts +7 -2
  669. package/planetscale-serverless/driver.js +9 -2
  670. package/planetscale-serverless/driver.js.map +1 -1
  671. package/planetscale-serverless/migrator.cjs.map +1 -1
  672. package/planetscale-serverless/migrator.js.map +1 -1
  673. package/planetscale-serverless/session.cjs +6 -0
  674. package/planetscale-serverless/session.cjs.map +1 -1
  675. package/planetscale-serverless/session.d.cts +1 -0
  676. package/planetscale-serverless/session.d.ts +1 -0
  677. package/planetscale-serverless/session.js +6 -0
  678. package/planetscale-serverless/session.js.map +1 -1
  679. package/postgres-js/driver.cjs +10 -2
  680. package/postgres-js/driver.cjs.map +1 -1
  681. package/postgres-js/driver.d.cts +7 -2
  682. package/postgres-js/driver.d.ts +7 -2
  683. package/postgres-js/driver.js +9 -2
  684. package/postgres-js/driver.js.map +1 -1
  685. package/postgres-js/migrator.cjs.map +1 -1
  686. package/postgres-js/migrator.d.cts +1 -1
  687. package/postgres-js/migrator.d.ts +1 -1
  688. package/postgres-js/migrator.js.map +1 -1
  689. package/sql/functions/vector.cjs.map +1 -1
  690. package/sql/functions/vector.d.cts +1 -1
  691. package/sql/functions/vector.d.ts +1 -1
  692. package/sql/functions/vector.js.map +1 -1
  693. package/sql/sql.cjs +4 -2
  694. package/sql/sql.cjs.map +1 -1
  695. package/sql/sql.d.cts +2 -0
  696. package/sql/sql.d.ts +2 -0
  697. package/sql/sql.js +4 -2
  698. package/sql/sql.js.map +1 -1
  699. package/sql-js/driver.cjs +1 -1
  700. package/sql-js/driver.cjs.map +1 -1
  701. package/sql-js/driver.js +1 -1
  702. package/sql-js/driver.js.map +1 -1
  703. package/sql-js/migrator.cjs.map +1 -1
  704. package/sql-js/migrator.d.cts +1 -1
  705. package/sql-js/migrator.d.ts +1 -1
  706. package/sql-js/migrator.js.map +1 -1
  707. package/sqlite-core/columns/all.cjs +44 -0
  708. package/sqlite-core/columns/all.cjs.map +1 -0
  709. package/sqlite-core/columns/all.d.cts +15 -0
  710. package/sqlite-core/columns/all.d.ts +15 -0
  711. package/sqlite-core/columns/all.js +20 -0
  712. package/sqlite-core/columns/all.js.map +1 -0
  713. package/sqlite-core/columns/blob.cjs +3 -1
  714. package/sqlite-core/columns/blob.cjs.map +1 -1
  715. package/sqlite-core/columns/blob.d.cts +3 -1
  716. package/sqlite-core/columns/blob.d.ts +3 -1
  717. package/sqlite-core/columns/blob.js +3 -1
  718. package/sqlite-core/columns/blob.js.map +1 -1
  719. package/sqlite-core/columns/custom.cjs +5 -3
  720. package/sqlite-core/columns/custom.cjs.map +1 -1
  721. package/sqlite-core/columns/custom.d.cts +10 -3
  722. package/sqlite-core/columns/custom.d.ts +10 -3
  723. package/sqlite-core/columns/custom.js +5 -3
  724. package/sqlite-core/columns/custom.js.map +1 -1
  725. package/sqlite-core/columns/integer.cjs +3 -1
  726. package/sqlite-core/columns/integer.cjs.map +1 -1
  727. package/sqlite-core/columns/integer.d.cts +3 -1
  728. package/sqlite-core/columns/integer.d.ts +3 -1
  729. package/sqlite-core/columns/integer.js +3 -1
  730. package/sqlite-core/columns/integer.js.map +1 -1
  731. package/sqlite-core/columns/numeric.cjs +1 -1
  732. package/sqlite-core/columns/numeric.cjs.map +1 -1
  733. package/sqlite-core/columns/numeric.d.cts +1 -0
  734. package/sqlite-core/columns/numeric.d.ts +1 -0
  735. package/sqlite-core/columns/numeric.js +1 -1
  736. package/sqlite-core/columns/numeric.js.map +1 -1
  737. package/sqlite-core/columns/real.cjs +1 -1
  738. package/sqlite-core/columns/real.cjs.map +1 -1
  739. package/sqlite-core/columns/real.d.cts +1 -0
  740. package/sqlite-core/columns/real.d.ts +1 -0
  741. package/sqlite-core/columns/real.js +1 -1
  742. package/sqlite-core/columns/real.js.map +1 -1
  743. package/sqlite-core/columns/text.cjs +7 -2
  744. package/sqlite-core/columns/text.cjs.map +1 -1
  745. package/sqlite-core/columns/text.d.cts +4 -2
  746. package/sqlite-core/columns/text.d.ts +4 -2
  747. package/sqlite-core/columns/text.js +7 -2
  748. package/sqlite-core/columns/text.js.map +1 -1
  749. package/sqlite-core/db.cjs +23 -17
  750. package/sqlite-core/db.cjs.map +1 -1
  751. package/sqlite-core/db.d.cts +8 -5
  752. package/sqlite-core/db.d.ts +8 -5
  753. package/sqlite-core/db.js +23 -17
  754. package/sqlite-core/db.js.map +1 -1
  755. package/sqlite-core/dialect.cjs +14 -8
  756. package/sqlite-core/dialect.cjs.map +1 -1
  757. package/sqlite-core/dialect.d.cts +5 -1
  758. package/sqlite-core/dialect.d.ts +5 -1
  759. package/sqlite-core/dialect.js +14 -8
  760. package/sqlite-core/dialect.js.map +1 -1
  761. package/sqlite-core/foreign-keys.cjs +3 -3
  762. package/sqlite-core/foreign-keys.cjs.map +1 -1
  763. package/sqlite-core/foreign-keys.d.cts +1 -1
  764. package/sqlite-core/foreign-keys.d.ts +1 -1
  765. package/sqlite-core/foreign-keys.js +3 -3
  766. package/sqlite-core/foreign-keys.js.map +1 -1
  767. package/sqlite-core/query-builders/count.cjs +72 -0
  768. package/sqlite-core/query-builders/count.cjs.map +1 -0
  769. package/sqlite-core/query-builders/count.d.cts +26 -0
  770. package/sqlite-core/query-builders/count.d.ts +26 -0
  771. package/sqlite-core/query-builders/count.js +48 -0
  772. package/sqlite-core/query-builders/count.js.map +1 -0
  773. package/sqlite-core/query-builders/query-builder.cjs +6 -1
  774. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  775. package/sqlite-core/query-builders/query-builder.d.cts +4 -0
  776. package/sqlite-core/query-builders/query-builder.d.ts +4 -0
  777. package/sqlite-core/query-builders/query-builder.js +8 -3
  778. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  779. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  780. package/sqlite-core/query-builders/raw.d.cts +2 -2
  781. package/sqlite-core/query-builders/raw.d.ts +2 -2
  782. package/sqlite-core/query-builders/raw.js.map +1 -1
  783. package/sqlite-core/session.cjs +4 -0
  784. package/sqlite-core/session.cjs.map +1 -1
  785. package/sqlite-core/session.d.cts +1 -0
  786. package/sqlite-core/session.d.ts +1 -0
  787. package/sqlite-core/session.js +4 -0
  788. package/sqlite-core/session.js.map +1 -1
  789. package/sqlite-core/table.cjs +4 -1
  790. package/sqlite-core/table.cjs.map +1 -1
  791. package/sqlite-core/table.d.cts +7 -0
  792. package/sqlite-core/table.d.ts +7 -0
  793. package/sqlite-core/table.js +4 -1
  794. package/sqlite-core/table.js.map +1 -1
  795. package/sqlite-core/unique-constraint.cjs +2 -2
  796. package/sqlite-core/unique-constraint.cjs.map +1 -1
  797. package/sqlite-core/unique-constraint.d.cts +1 -1
  798. package/sqlite-core/unique-constraint.d.ts +1 -1
  799. package/sqlite-core/unique-constraint.js +2 -2
  800. package/sqlite-core/unique-constraint.js.map +1 -1
  801. package/sqlite-proxy/driver.cjs +1 -1
  802. package/sqlite-proxy/driver.cjs.map +1 -1
  803. package/sqlite-proxy/driver.js +1 -1
  804. package/sqlite-proxy/driver.js.map +1 -1
  805. package/sqlite-proxy/migrator.cjs.map +1 -1
  806. package/sqlite-proxy/migrator.d.cts +1 -1
  807. package/sqlite-proxy/migrator.d.ts +1 -1
  808. package/sqlite-proxy/migrator.js.map +1 -1
  809. package/table.cjs +6 -8
  810. package/table.cjs.map +1 -1
  811. package/table.js +1 -2
  812. package/table.js.map +1 -1
  813. package/table.utils.cjs +29 -0
  814. package/table.utils.cjs.map +1 -0
  815. package/table.utils.d.cts +1 -0
  816. package/table.utils.d.ts +1 -0
  817. package/table.utils.js +5 -0
  818. package/table.utils.js.map +1 -0
  819. package/tidb-serverless/driver.cjs +10 -2
  820. package/tidb-serverless/driver.cjs.map +1 -1
  821. package/tidb-serverless/driver.d.cts +7 -2
  822. package/tidb-serverless/driver.d.ts +7 -2
  823. package/tidb-serverless/driver.js +9 -2
  824. package/tidb-serverless/driver.js.map +1 -1
  825. package/tidb-serverless/session.cjs +6 -0
  826. package/tidb-serverless/session.cjs.map +1 -1
  827. package/tidb-serverless/session.d.cts +1 -0
  828. package/tidb-serverless/session.d.ts +1 -0
  829. package/tidb-serverless/session.js +6 -0
  830. package/tidb-serverless/session.js.map +1 -1
  831. package/utils.cjs +8 -0
  832. package/utils.cjs.map +1 -1
  833. package/utils.d.cts +3 -0
  834. package/utils.d.ts +3 -0
  835. package/utils.js +7 -0
  836. package/utils.js.map +1 -1
  837. package/vercel-postgres/driver.cjs +9 -2
  838. package/vercel-postgres/driver.cjs.map +1 -1
  839. package/vercel-postgres/driver.d.cts +6 -2
  840. package/vercel-postgres/driver.d.ts +6 -2
  841. package/vercel-postgres/driver.js +8 -2
  842. package/vercel-postgres/driver.js.map +1 -1
  843. package/vercel-postgres/migrator.cjs.map +1 -1
  844. package/vercel-postgres/migrator.d.cts +1 -1
  845. package/vercel-postgres/migrator.d.ts +1 -1
  846. package/vercel-postgres/migrator.js.map +1 -1
  847. package/version.cjs +2 -2
  848. package/version.cjs.map +1 -1
  849. package/version.d.cts +2 -2
  850. package/version.d.ts +2 -2
  851. package/version.js +2 -2
  852. package/version.js.map +1 -1
  853. package/xata-http/driver.cjs +4 -2
  854. package/xata-http/driver.cjs.map +1 -1
  855. package/xata-http/driver.d.cts +3 -1
  856. package/xata-http/driver.d.ts +3 -1
  857. package/xata-http/driver.js +4 -2
  858. package/xata-http/driver.js.map +1 -1
  859. package/xata-http/migrator.cjs +1 -1
  860. package/xata-http/migrator.cjs.map +1 -1
  861. package/xata-http/migrator.d.cts +1 -1
  862. package/xata-http/migrator.d.ts +1 -1
  863. package/xata-http/migrator.js +1 -1
  864. package/xata-http/migrator.js.map +1 -1
package/d1/driver.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\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 } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport class DrizzleD1Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {\n\tstatic 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<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: D1Database,\n\tconfig: DrizzleConfig<TSchema> = {},\n): DrizzleD1Database<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect();\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, dialect, schema, { logger });\n\treturn new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAMO;AACP,gBAAmC;AACnC,qBAAmC;AAEnC,qBAAgC;AAEzB,MAAM,0BAEH,6BAA+C;AAAA,EACxD,QAAiB,wBAAU,IAAY;AAAA,EAKvC,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GACL;AAC7B,QAAM,UAAU,IAAI,kCAAmB;AACvC,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,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACvE,SAAO,IAAI,kBAAkB,SAAS,SAAS,SAAS,MAAM;AAC/D;","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 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,QAAiB,wBAAU,IAAY;AAAA,EAKvC,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,10 +1,14 @@
1
1
  /// <reference types="@cloudflare/workers-types" />
2
+ import type { D1Database as MiniflareD1Database } from '@miniflare/d1';
2
3
  import type { BatchItem, BatchResponse } from "../batch.cjs";
3
4
  import { entityKind } from "../entity.cjs";
4
5
  import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
5
- import type { DrizzleConfig } from "../utils.cjs";
6
+ import type { DrizzleConfig, IfNotImported } from "../utils.cjs";
7
+ export type AnyD1Database = IfNotImported<D1Database, MiniflareD1Database, D1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>>;
6
8
  export declare class DrizzleD1Database<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {
7
9
  static readonly [entityKind]: string;
8
10
  batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
9
11
  }
10
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: D1Database, config?: DrizzleConfig<TSchema>): DrizzleD1Database<TSchema>;
12
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends AnyD1Database = AnyD1Database>(client: TClient, config?: DrizzleConfig<TSchema>): DrizzleD1Database<TSchema> & {
13
+ $client: TClient;
14
+ };
package/d1/driver.d.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  /// <reference types="@cloudflare/workers-types" />
2
+ import type { D1Database as MiniflareD1Database } from '@miniflare/d1';
2
3
  import type { BatchItem, BatchResponse } from "../batch.js";
3
4
  import { entityKind } from "../entity.js";
4
5
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
5
- import type { DrizzleConfig } from "../utils.js";
6
+ import type { DrizzleConfig, IfNotImported } from "../utils.js";
7
+ export type AnyD1Database = IfNotImported<D1Database, MiniflareD1Database, D1Database | IfNotImported<MiniflareD1Database, never, MiniflareD1Database>>;
6
8
  export declare class DrizzleD1Database<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {
7
9
  static readonly [entityKind]: string;
8
10
  batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
9
11
  }
10
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: D1Database, config?: DrizzleConfig<TSchema>): DrizzleD1Database<TSchema>;
12
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends AnyD1Database = AnyD1Database>(client: TClient, config?: DrizzleConfig<TSchema>): DrizzleD1Database<TSchema> & {
13
+ $client: TClient;
14
+ };
package/d1/driver.js CHANGED
@@ -14,7 +14,7 @@ class DrizzleD1Database extends BaseSQLiteDatabase {
14
14
  }
15
15
  }
16
16
  function drizzle(client, config = {}) {
17
- const dialect = new SQLiteAsyncDialect();
17
+ const dialect = new SQLiteAsyncDialect({ casing: config.casing });
18
18
  let logger;
19
19
  if (config.logger === true) {
20
20
  logger = new DefaultLogger();
@@ -34,7 +34,9 @@ function drizzle(client, config = {}) {
34
34
  };
35
35
  }
36
36
  const session = new SQLiteD1Session(client, dialect, schema, { logger });
37
- return new DrizzleD1Database("async", dialect, session, schema);
37
+ const db = new DrizzleD1Database("async", dialect, session, schema);
38
+ db.$client = client;
39
+ return db;
38
40
  }
39
41
  export {
40
42
  DrizzleD1Database,
package/d1/driver.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/d1/driver.ts"],"sourcesContent":["/// <reference types=\"@cloudflare/workers-types\" />\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 } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport class DrizzleD1Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {\n\tstatic 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<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: D1Database,\n\tconfig: DrizzleConfig<TSchema> = {},\n): DrizzleD1Database<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect();\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, dialect, schema, { logger });\n\treturn new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database<TSchema>;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,MAAM,0BAEH,mBAA+C;AAAA,EACxD,QAAiB,UAAU,IAAY;AAAA,EAKvC,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GACL;AAC7B,QAAM,UAAU,IAAI,mBAAmB;AACvC,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,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACvE,SAAO,IAAI,kBAAkB,SAAS,SAAS,SAAS,MAAM;AAC/D;","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 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,QAAiB,UAAU,IAAY;AAAA,EAKvC,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":[]}
package/d1/migrator.cjs CHANGED
@@ -25,7 +25,7 @@ var import_migrator = require("../migrator.cjs");
25
25
  var import_sql = require("../sql/sql.cjs");
26
26
  async function migrate(db, config) {
27
27
  const migrations = (0, import_migrator.readMigrationFiles)(config);
28
- const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
28
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
29
29
  const migrationTableCreate = import_sql.sql`
30
30
  CREATE TABLE IF NOT EXISTS ${import_sql.sql.identifier(migrationsTable)} (
31
31
  id SERIAL PRIMARY KEY,
@@ -1 +1 @@
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: string | MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config === undefined\n\t\t? '__drizzle_migrations'\n\t\t: typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: 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,WAAW,SAChC,yBACA,OAAO,WAAW,WAClB,yBACA,OAAO,mBAAmB;AAE7B,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,3 +1,3 @@
1
1
  import type { MigrationConfig } from "../migrator.cjs";
2
2
  import type { DrizzleD1Database } from "./driver.cjs";
3
- export declare function migrate<TSchema extends Record<string, unknown>>(db: DrizzleD1Database<TSchema>, config: string | 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,3 +1,3 @@
1
1
  import type { MigrationConfig } from "../migrator.js";
2
2
  import type { DrizzleD1Database } from "./driver.js";
3
- export declare function migrate<TSchema extends Record<string, unknown>>(db: DrizzleD1Database<TSchema>, config: string | MigrationConfig): Promise<void>;
3
+ export declare function migrate<TSchema extends Record<string, unknown>>(db: DrizzleD1Database<TSchema>, config: MigrationConfig): Promise<void>;
package/d1/migrator.js CHANGED
@@ -2,7 +2,7 @@ import { readMigrationFiles } from "../migrator.js";
2
2
  import { sql } from "../sql/sql.js";
3
3
  async function migrate(db, config) {
4
4
  const migrations = readMigrationFiles(config);
5
- const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
5
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
6
6
  const migrationTableCreate = sql`
7
7
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
8
8
  id SERIAL PRIMARY KEY,
@@ -1 +1 @@
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: string | MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config === undefined\n\t\t? '__drizzle_migrations'\n\t\t: typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: 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,WAAW,SAChC,yBACA,OAAO,WAAW,WAClB,yBACA,OAAO,mBAAmB;AAE7B,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":[]}
@@ -18,16 +18,21 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var driver_exports = {};
20
20
  __export(driver_exports, {
21
+ ExpoSQLiteDatabase: () => ExpoSQLiteDatabase,
21
22
  drizzle: () => drizzle
22
23
  });
23
24
  module.exports = __toCommonJS(driver_exports);
25
+ var import_entity = require("../entity.cjs");
24
26
  var import_logger = require("../logger.cjs");
25
27
  var import_relations = require("../relations.cjs");
26
28
  var import_db = require("../sqlite-core/db.cjs");
27
29
  var import_dialect = require("../sqlite-core/dialect.cjs");
28
30
  var import_session = require("./session.cjs");
31
+ class ExpoSQLiteDatabase extends import_db.BaseSQLiteDatabase {
32
+ static [import_entity.entityKind] = "ExpoSQLiteDatabase";
33
+ }
29
34
  function drizzle(client, config = {}) {
30
- const dialect = new import_dialect.SQLiteSyncDialect();
35
+ const dialect = new import_dialect.SQLiteSyncDialect({ casing: config.casing });
31
36
  let logger;
32
37
  if (config.logger === true) {
33
38
  logger = new import_logger.DefaultLogger();
@@ -47,10 +52,13 @@ function drizzle(client, config = {}) {
47
52
  };
48
53
  }
49
54
  const session = new import_session.ExpoSQLiteSession(client, dialect, schema, { logger });
50
- return new import_db.BaseSQLiteDatabase("sync", dialect, session, schema);
55
+ const db = new ExpoSQLiteDatabase("sync", dialect, session, schema);
56
+ db.$client = client;
57
+ return db;
51
58
  }
52
59
  // Annotate the CommonJS export names for ESM import in node:
53
60
  0 && (module.exports = {
61
+ ExpoSQLiteDatabase,
54
62
  drizzle
55
63
  });
56
64
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport type ExpoSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema> = {},\n): ExpoSQLiteDatabase<TSchema> {\n\tconst dialect = new SQLiteSyncDialect();\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 ExpoSQLiteSession(client, dialect, schema, { logger });\n\treturn new BaseSQLiteDatabase('sync', dialect, session, schema) as ExpoSQLiteDatabase<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAkC;AAElC,qBAAkC;AAM3B,SAAS,QACf,QACA,SAAiC,CAAC,GACJ;AAC9B,QAAM,UAAU,IAAI,iCAAkB;AACtC,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,iCAAkB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACzE,SAAO,IAAI,6BAAmB,QAAQ,SAAS,SAAS,MAAM;AAC/D;","names":[]}
1
+ {"version":3,"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport class ExpoSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>\n{\n\tstatic readonly [entityKind]: string = 'ExpoSQLiteDatabase';\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema> = {},\n): ExpoSQLiteDatabase<TSchema> & {\n\t$client: SQLiteDatabase;\n} {\n\tconst dialect = new SQLiteSyncDialect({ 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 ExpoSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new ExpoSQLiteDatabase('sync', dialect, session, schema) as ExpoSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAkC;AAElC,qBAAkC;AAE3B,MAAM,2BACJ,6BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AACxC;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,iCAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,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,iCAAkB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACzE,QAAM,KAAK,IAAI,mBAAmB,QAAQ,SAAS,SAAS,MAAM;AAClE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -1,5 +1,10 @@
1
1
  import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';
2
+ import { entityKind } from "../entity.cjs";
2
3
  import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
3
4
  import type { DrizzleConfig } from "../utils.cjs";
4
- export type ExpoSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> = BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>;
5
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: SQLiteDatabase, config?: DrizzleConfig<TSchema>): ExpoSQLiteDatabase<TSchema>;
5
+ export declare class ExpoSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema> {
6
+ static readonly [entityKind]: string;
7
+ }
8
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: SQLiteDatabase, config?: DrizzleConfig<TSchema>): ExpoSQLiteDatabase<TSchema> & {
9
+ $client: SQLiteDatabase;
10
+ };
@@ -1,5 +1,10 @@
1
1
  import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';
2
+ import { entityKind } from "../entity.js";
2
3
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
3
4
  import type { DrizzleConfig } from "../utils.js";
4
- export type ExpoSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> = BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>;
5
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: SQLiteDatabase, config?: DrizzleConfig<TSchema>): ExpoSQLiteDatabase<TSchema>;
5
+ export declare class ExpoSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema> {
6
+ static readonly [entityKind]: string;
7
+ }
8
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: SQLiteDatabase, config?: DrizzleConfig<TSchema>): ExpoSQLiteDatabase<TSchema> & {
9
+ $client: SQLiteDatabase;
10
+ };
@@ -1,3 +1,4 @@
1
+ import { entityKind } from "../entity.js";
1
2
  import { DefaultLogger } from "../logger.js";
2
3
  import {
3
4
  createTableRelationsHelpers,
@@ -6,8 +7,11 @@ import {
6
7
  import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
7
8
  import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
8
9
  import { ExpoSQLiteSession } from "./session.js";
10
+ class ExpoSQLiteDatabase extends BaseSQLiteDatabase {
11
+ static [entityKind] = "ExpoSQLiteDatabase";
12
+ }
9
13
  function drizzle(client, config = {}) {
10
- const dialect = new SQLiteSyncDialect();
14
+ const dialect = new SQLiteSyncDialect({ casing: config.casing });
11
15
  let logger;
12
16
  if (config.logger === true) {
13
17
  logger = new DefaultLogger();
@@ -27,9 +31,12 @@ function drizzle(client, config = {}) {
27
31
  };
28
32
  }
29
33
  const session = new ExpoSQLiteSession(client, dialect, schema, { logger });
30
- return new BaseSQLiteDatabase("sync", dialect, session, schema);
34
+ const db = new ExpoSQLiteDatabase("sync", dialect, session, schema);
35
+ db.$client = client;
36
+ return db;
31
37
  }
32
38
  export {
39
+ ExpoSQLiteDatabase,
33
40
  drizzle
34
41
  };
35
42
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport type ExpoSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema> = {},\n): ExpoSQLiteDatabase<TSchema> {\n\tconst dialect = new SQLiteSyncDialect();\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 ExpoSQLiteSession(client, dialect, schema, { logger });\n\treturn new BaseSQLiteDatabase('sync', dialect, session, schema) as ExpoSQLiteDatabase<TSchema>;\n}\n"],"mappings":"AACA,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAElC,SAAS,yBAAyB;AAM3B,SAAS,QACf,QACA,SAAiC,CAAC,GACJ;AAC9B,QAAM,UAAU,IAAI,kBAAkB;AACtC,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,kBAAkB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACzE,SAAO,IAAI,mBAAmB,QAAQ,SAAS,SAAS,MAAM;AAC/D;","names":[]}
1
+ {"version":3,"sources":["../../src/expo-sqlite/driver.ts"],"sourcesContent":["import type { SQLiteDatabase, SQLiteRunResult } from 'expo-sqlite/next';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { ExpoSQLiteSession } from './session.ts';\n\nexport class ExpoSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', SQLiteRunResult, TSchema>\n{\n\tstatic readonly [entityKind]: string = 'ExpoSQLiteDatabase';\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: SQLiteDatabase,\n\tconfig: DrizzleConfig<TSchema> = {},\n): ExpoSQLiteDatabase<TSchema> & {\n\t$client: SQLiteDatabase;\n} {\n\tconst dialect = new SQLiteSyncDialect({ 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 ExpoSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new ExpoSQLiteDatabase('sync', dialect, session, schema) as ExpoSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAElC,SAAS,yBAAyB;AAE3B,MAAM,2BACJ,mBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AACxC;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,kBAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,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,kBAAkB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACzE,QAAM,KAAK,IAAI,mBAAmB,QAAQ,SAAS,SAAS,MAAM;AAClE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -23,18 +23,20 @@ __export(query_exports, {
23
23
  module.exports = __toCommonJS(query_exports);
24
24
  var import_next = require("expo-sqlite/next");
25
25
  var import_react = require("react");
26
- var import__ = require("../index.cjs");
26
+ var import_entity = require("../entity.cjs");
27
+ var import_sql = require("../sql/sql.cjs");
27
28
  var import_sqlite_core = require("../sqlite-core/index.cjs");
28
29
  var import_query = require("../sqlite-core/query-builders/query.cjs");
30
+ var import_subquery = require("../subquery.cjs");
29
31
  const useLiveQuery = (query, deps = []) => {
30
32
  const [data, setData] = (0, import_react.useState)(
31
- (0, import__.is)(query, import_query.SQLiteRelationalQuery) && query.mode === "first" ? void 0 : []
33
+ (0, import_entity.is)(query, import_query.SQLiteRelationalQuery) && query.mode === "first" ? void 0 : []
32
34
  );
33
35
  const [error, setError] = (0, import_react.useState)();
34
36
  const [updatedAt, setUpdatedAt] = (0, import_react.useState)();
35
37
  (0, import_react.useEffect)(() => {
36
- const entity = (0, import__.is)(query, import_query.SQLiteRelationalQuery) ? query.table : query.config.table;
37
- if ((0, import__.is)(entity, import__.Subquery) || (0, import__.is)(entity, import__.SQL)) {
38
+ const entity = (0, import_entity.is)(query, import_query.SQLiteRelationalQuery) ? query.table : query.config.table;
39
+ if ((0, import_entity.is)(entity, import_subquery.Subquery) || (0, import_entity.is)(entity, import_sql.SQL)) {
38
40
  setError(new Error("Selecting from subqueries and SQL are not supported in useLiveQuery"));
39
41
  return;
40
42
  }
@@ -44,8 +46,8 @@ const useLiveQuery = (query, deps = []) => {
44
46
  setUpdatedAt(/* @__PURE__ */ new Date());
45
47
  };
46
48
  query.then(handleData).catch(setError);
47
- if ((0, import__.is)(entity, import_sqlite_core.SQLiteTable) || (0, import__.is)(entity, import_sqlite_core.SQLiteView)) {
48
- const config = (0, import__.is)(entity, import_sqlite_core.SQLiteTable) ? (0, import_sqlite_core.getTableConfig)(entity) : (0, import_sqlite_core.getViewConfig)(entity);
49
+ if ((0, import_entity.is)(entity, import_sqlite_core.SQLiteTable) || (0, import_entity.is)(entity, import_sqlite_core.SQLiteView)) {
50
+ const config = (0, import_entity.is)(entity, import_sqlite_core.SQLiteTable) ? (0, import_sqlite_core.getTableConfig)(entity) : (0, import_sqlite_core.getViewConfig)(entity);
49
51
  listener = (0, import_next.addDatabaseChangeListener)(({ tableName }) => {
50
52
  if (config.name === tableName) {
51
53
  query.then(handleData).catch(setError);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expo-sqlite/query.ts"],"sourcesContent":["import { addDatabaseChangeListener } from 'expo-sqlite/next';\nimport { useEffect, useState } from 'react';\nimport { is, SQL, Subquery } from '~/index.ts';\nimport type { AnySQLiteSelect } from '~/sqlite-core/index.ts';\nimport { getTableConfig, getViewConfig, SQLiteTable, SQLiteView } from '~/sqlite-core/index.ts';\nimport { SQLiteRelationalQuery } from '~/sqlite-core/query-builders/query.ts';\n\nexport const useLiveQuery = <T extends Pick<AnySQLiteSelect, '_' | 'then'> | SQLiteRelationalQuery<'sync', unknown>>(\n\tquery: T,\n\tdeps: unknown[] = [],\n) => {\n\tconst [data, setData] = useState<Awaited<T>>(\n\t\t(is(query, SQLiteRelationalQuery) && query.mode === 'first' ? undefined : []) as Awaited<T>,\n\t);\n\tconst [error, setError] = useState<Error>();\n\tconst [updatedAt, setUpdatedAt] = useState<Date>();\n\n\tuseEffect(() => {\n\t\tconst entity = is(query, SQLiteRelationalQuery) ? query.table : (query as AnySQLiteSelect).config.table;\n\n\t\tif (is(entity, Subquery) || is(entity, SQL)) {\n\t\t\tsetError(new Error('Selecting from subqueries and SQL are not supported in useLiveQuery'));\n\t\t\treturn;\n\t\t}\n\n\t\tlet listener: ReturnType<typeof addDatabaseChangeListener> | undefined;\n\n\t\tconst handleData = (data: any) => {\n\t\t\tsetData(data);\n\t\t\tsetUpdatedAt(new Date());\n\t\t};\n\n\t\tquery.then(handleData).catch(setError);\n\n\t\tif (is(entity, SQLiteTable) || is(entity, SQLiteView)) {\n\t\t\tconst config = is(entity, SQLiteTable) ? getTableConfig(entity) : getViewConfig(entity);\n\t\t\tlistener = addDatabaseChangeListener(({ tableName }) => {\n\t\t\t\tif (config.name === tableName) {\n\t\t\t\t\tquery.then(handleData).catch(setError);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tlistener?.remove();\n\t\t};\n\t}, deps);\n\n\treturn {\n\t\tdata,\n\t\terror,\n\t\tupdatedAt,\n\t} as const;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0C;AAC1C,mBAAoC;AACpC,eAAkC;AAElC,yBAAuE;AACvE,mBAAsC;AAE/B,MAAM,eAAe,CAC3B,OACA,OAAkB,CAAC,MACf;AACJ,QAAM,CAAC,MAAM,OAAO,QAAI;AAAA,QACtB,aAAG,OAAO,kCAAqB,KAAK,MAAM,SAAS,UAAU,SAAY,CAAC;AAAA,EAC5E;AACA,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAgB;AAC1C,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAe;AAEjD,8BAAU,MAAM;AACf,UAAM,aAAS,aAAG,OAAO,kCAAqB,IAAI,MAAM,QAAS,MAA0B,OAAO;AAElG,YAAI,aAAG,QAAQ,iBAAQ,SAAK,aAAG,QAAQ,YAAG,GAAG;AAC5C,eAAS,IAAI,MAAM,qEAAqE,CAAC;AACzF;AAAA,IACD;AAEA,QAAI;AAEJ,UAAM,aAAa,CAACA,UAAc;AACjC,cAAQA,KAAI;AACZ,mBAAa,oBAAI,KAAK,CAAC;AAAA,IACxB;AAEA,UAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAErC,YAAI,aAAG,QAAQ,8BAAW,SAAK,aAAG,QAAQ,6BAAU,GAAG;AACtD,YAAM,aAAS,aAAG,QAAQ,8BAAW,QAAI,mCAAe,MAAM,QAAI,kCAAc,MAAM;AACtF,qBAAW,uCAA0B,CAAC,EAAE,UAAU,MAAM;AACvD,YAAI,OAAO,SAAS,WAAW;AAC9B,gBAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAAA,QACtC;AAAA,MACD,CAAC;AAAA,IACF;AAEA,WAAO,MAAM;AACZ,gBAAU,OAAO;AAAA,IAClB;AAAA,EACD,GAAG,IAAI;AAEP,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":["data"]}
1
+ {"version":3,"sources":["../../src/expo-sqlite/query.ts"],"sourcesContent":["import { addDatabaseChangeListener } from 'expo-sqlite/next';\nimport { useEffect, useState } from 'react';\nimport { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport type { AnySQLiteSelect } from '~/sqlite-core/index.ts';\nimport { getTableConfig, getViewConfig, SQLiteTable, SQLiteView } from '~/sqlite-core/index.ts';\nimport { SQLiteRelationalQuery } from '~/sqlite-core/query-builders/query.ts';\nimport { Subquery } from '~/subquery.ts';\n\nexport const useLiveQuery = <T extends Pick<AnySQLiteSelect, '_' | 'then'> | SQLiteRelationalQuery<'sync', unknown>>(\n\tquery: T,\n\tdeps: unknown[] = [],\n) => {\n\tconst [data, setData] = useState<Awaited<T>>(\n\t\t(is(query, SQLiteRelationalQuery) && query.mode === 'first' ? undefined : []) as Awaited<T>,\n\t);\n\tconst [error, setError] = useState<Error>();\n\tconst [updatedAt, setUpdatedAt] = useState<Date>();\n\n\tuseEffect(() => {\n\t\tconst entity = is(query, SQLiteRelationalQuery) ? query.table : (query as AnySQLiteSelect).config.table;\n\n\t\tif (is(entity, Subquery) || is(entity, SQL)) {\n\t\t\tsetError(new Error('Selecting from subqueries and SQL are not supported in useLiveQuery'));\n\t\t\treturn;\n\t\t}\n\n\t\tlet listener: ReturnType<typeof addDatabaseChangeListener> | undefined;\n\n\t\tconst handleData = (data: any) => {\n\t\t\tsetData(data);\n\t\t\tsetUpdatedAt(new Date());\n\t\t};\n\n\t\tquery.then(handleData).catch(setError);\n\n\t\tif (is(entity, SQLiteTable) || is(entity, SQLiteView)) {\n\t\t\tconst config = is(entity, SQLiteTable) ? getTableConfig(entity) : getViewConfig(entity);\n\t\t\tlistener = addDatabaseChangeListener(({ tableName }) => {\n\t\t\t\tif (config.name === tableName) {\n\t\t\t\t\tquery.then(handleData).catch(setError);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tlistener?.remove();\n\t\t};\n\t}, deps);\n\n\treturn {\n\t\tdata,\n\t\terror,\n\t\tupdatedAt,\n\t} as const;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0C;AAC1C,mBAAoC;AACpC,oBAAmB;AACnB,iBAAoB;AAEpB,yBAAuE;AACvE,mBAAsC;AACtC,sBAAyB;AAElB,MAAM,eAAe,CAC3B,OACA,OAAkB,CAAC,MACf;AACJ,QAAM,CAAC,MAAM,OAAO,QAAI;AAAA,QACtB,kBAAG,OAAO,kCAAqB,KAAK,MAAM,SAAS,UAAU,SAAY,CAAC;AAAA,EAC5E;AACA,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAgB;AAC1C,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAe;AAEjD,8BAAU,MAAM;AACf,UAAM,aAAS,kBAAG,OAAO,kCAAqB,IAAI,MAAM,QAAS,MAA0B,OAAO;AAElG,YAAI,kBAAG,QAAQ,wBAAQ,SAAK,kBAAG,QAAQ,cAAG,GAAG;AAC5C,eAAS,IAAI,MAAM,qEAAqE,CAAC;AACzF;AAAA,IACD;AAEA,QAAI;AAEJ,UAAM,aAAa,CAACA,UAAc;AACjC,cAAQA,KAAI;AACZ,mBAAa,oBAAI,KAAK,CAAC;AAAA,IACxB;AAEA,UAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAErC,YAAI,kBAAG,QAAQ,8BAAW,SAAK,kBAAG,QAAQ,6BAAU,GAAG;AACtD,YAAM,aAAS,kBAAG,QAAQ,8BAAW,QAAI,mCAAe,MAAM,QAAI,kCAAc,MAAM;AACtF,qBAAW,uCAA0B,CAAC,EAAE,UAAU,MAAM;AACvD,YAAI,OAAO,SAAS,WAAW;AAC9B,gBAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAAA,QACtC;AAAA,MACD,CAAC;AAAA,IACF;AAEA,WAAO,MAAM;AACZ,gBAAU,OAAO;AAAA,IAClB;AAAA,EACD,GAAG,IAAI;AAEP,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":["data"]}
@@ -1,8 +1,10 @@
1
1
  import { addDatabaseChangeListener } from "expo-sqlite/next";
2
2
  import { useEffect, useState } from "react";
3
- import { is, SQL, Subquery } from "../index.js";
3
+ import { is } from "../entity.js";
4
+ import { SQL } from "../sql/sql.js";
4
5
  import { getTableConfig, getViewConfig, SQLiteTable, SQLiteView } from "../sqlite-core/index.js";
5
6
  import { SQLiteRelationalQuery } from "../sqlite-core/query-builders/query.js";
7
+ import { Subquery } from "../subquery.js";
6
8
  const useLiveQuery = (query, deps = []) => {
7
9
  const [data, setData] = useState(
8
10
  is(query, SQLiteRelationalQuery) && query.mode === "first" ? void 0 : []
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expo-sqlite/query.ts"],"sourcesContent":["import { addDatabaseChangeListener } from 'expo-sqlite/next';\nimport { useEffect, useState } from 'react';\nimport { is, SQL, Subquery } from '~/index.ts';\nimport type { AnySQLiteSelect } from '~/sqlite-core/index.ts';\nimport { getTableConfig, getViewConfig, SQLiteTable, SQLiteView } from '~/sqlite-core/index.ts';\nimport { SQLiteRelationalQuery } from '~/sqlite-core/query-builders/query.ts';\n\nexport const useLiveQuery = <T extends Pick<AnySQLiteSelect, '_' | 'then'> | SQLiteRelationalQuery<'sync', unknown>>(\n\tquery: T,\n\tdeps: unknown[] = [],\n) => {\n\tconst [data, setData] = useState<Awaited<T>>(\n\t\t(is(query, SQLiteRelationalQuery) && query.mode === 'first' ? undefined : []) as Awaited<T>,\n\t);\n\tconst [error, setError] = useState<Error>();\n\tconst [updatedAt, setUpdatedAt] = useState<Date>();\n\n\tuseEffect(() => {\n\t\tconst entity = is(query, SQLiteRelationalQuery) ? query.table : (query as AnySQLiteSelect).config.table;\n\n\t\tif (is(entity, Subquery) || is(entity, SQL)) {\n\t\t\tsetError(new Error('Selecting from subqueries and SQL are not supported in useLiveQuery'));\n\t\t\treturn;\n\t\t}\n\n\t\tlet listener: ReturnType<typeof addDatabaseChangeListener> | undefined;\n\n\t\tconst handleData = (data: any) => {\n\t\t\tsetData(data);\n\t\t\tsetUpdatedAt(new Date());\n\t\t};\n\n\t\tquery.then(handleData).catch(setError);\n\n\t\tif (is(entity, SQLiteTable) || is(entity, SQLiteView)) {\n\t\t\tconst config = is(entity, SQLiteTable) ? getTableConfig(entity) : getViewConfig(entity);\n\t\t\tlistener = addDatabaseChangeListener(({ tableName }) => {\n\t\t\t\tif (config.name === tableName) {\n\t\t\t\t\tquery.then(handleData).catch(setError);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tlistener?.remove();\n\t\t};\n\t}, deps);\n\n\treturn {\n\t\tdata,\n\t\terror,\n\t\tupdatedAt,\n\t} as const;\n};\n"],"mappings":"AAAA,SAAS,iCAAiC;AAC1C,SAAS,WAAW,gBAAgB;AACpC,SAAS,IAAI,KAAK,gBAAgB;AAElC,SAAS,gBAAgB,eAAe,aAAa,kBAAkB;AACvE,SAAS,6BAA6B;AAE/B,MAAM,eAAe,CAC3B,OACA,OAAkB,CAAC,MACf;AACJ,QAAM,CAAC,MAAM,OAAO,IAAI;AAAA,IACtB,GAAG,OAAO,qBAAqB,KAAK,MAAM,SAAS,UAAU,SAAY,CAAC;AAAA,EAC5E;AACA,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgB;AAC1C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAe;AAEjD,YAAU,MAAM;AACf,UAAM,SAAS,GAAG,OAAO,qBAAqB,IAAI,MAAM,QAAS,MAA0B,OAAO;AAElG,QAAI,GAAG,QAAQ,QAAQ,KAAK,GAAG,QAAQ,GAAG,GAAG;AAC5C,eAAS,IAAI,MAAM,qEAAqE,CAAC;AACzF;AAAA,IACD;AAEA,QAAI;AAEJ,UAAM,aAAa,CAACA,UAAc;AACjC,cAAQA,KAAI;AACZ,mBAAa,oBAAI,KAAK,CAAC;AAAA,IACxB;AAEA,UAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAErC,QAAI,GAAG,QAAQ,WAAW,KAAK,GAAG,QAAQ,UAAU,GAAG;AACtD,YAAM,SAAS,GAAG,QAAQ,WAAW,IAAI,eAAe,MAAM,IAAI,cAAc,MAAM;AACtF,iBAAW,0BAA0B,CAAC,EAAE,UAAU,MAAM;AACvD,YAAI,OAAO,SAAS,WAAW;AAC9B,gBAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAAA,QACtC;AAAA,MACD,CAAC;AAAA,IACF;AAEA,WAAO,MAAM;AACZ,gBAAU,OAAO;AAAA,IAClB;AAAA,EACD,GAAG,IAAI;AAEP,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":["data"]}
1
+ {"version":3,"sources":["../../src/expo-sqlite/query.ts"],"sourcesContent":["import { addDatabaseChangeListener } from 'expo-sqlite/next';\nimport { useEffect, useState } from 'react';\nimport { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport type { AnySQLiteSelect } from '~/sqlite-core/index.ts';\nimport { getTableConfig, getViewConfig, SQLiteTable, SQLiteView } from '~/sqlite-core/index.ts';\nimport { SQLiteRelationalQuery } from '~/sqlite-core/query-builders/query.ts';\nimport { Subquery } from '~/subquery.ts';\n\nexport const useLiveQuery = <T extends Pick<AnySQLiteSelect, '_' | 'then'> | SQLiteRelationalQuery<'sync', unknown>>(\n\tquery: T,\n\tdeps: unknown[] = [],\n) => {\n\tconst [data, setData] = useState<Awaited<T>>(\n\t\t(is(query, SQLiteRelationalQuery) && query.mode === 'first' ? undefined : []) as Awaited<T>,\n\t);\n\tconst [error, setError] = useState<Error>();\n\tconst [updatedAt, setUpdatedAt] = useState<Date>();\n\n\tuseEffect(() => {\n\t\tconst entity = is(query, SQLiteRelationalQuery) ? query.table : (query as AnySQLiteSelect).config.table;\n\n\t\tif (is(entity, Subquery) || is(entity, SQL)) {\n\t\t\tsetError(new Error('Selecting from subqueries and SQL are not supported in useLiveQuery'));\n\t\t\treturn;\n\t\t}\n\n\t\tlet listener: ReturnType<typeof addDatabaseChangeListener> | undefined;\n\n\t\tconst handleData = (data: any) => {\n\t\t\tsetData(data);\n\t\t\tsetUpdatedAt(new Date());\n\t\t};\n\n\t\tquery.then(handleData).catch(setError);\n\n\t\tif (is(entity, SQLiteTable) || is(entity, SQLiteView)) {\n\t\t\tconst config = is(entity, SQLiteTable) ? getTableConfig(entity) : getViewConfig(entity);\n\t\t\tlistener = addDatabaseChangeListener(({ tableName }) => {\n\t\t\t\tif (config.name === tableName) {\n\t\t\t\t\tquery.then(handleData).catch(setError);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tlistener?.remove();\n\t\t};\n\t}, deps);\n\n\treturn {\n\t\tdata,\n\t\terror,\n\t\tupdatedAt,\n\t} as const;\n};\n"],"mappings":"AAAA,SAAS,iCAAiC;AAC1C,SAAS,WAAW,gBAAgB;AACpC,SAAS,UAAU;AACnB,SAAS,WAAW;AAEpB,SAAS,gBAAgB,eAAe,aAAa,kBAAkB;AACvE,SAAS,6BAA6B;AACtC,SAAS,gBAAgB;AAElB,MAAM,eAAe,CAC3B,OACA,OAAkB,CAAC,MACf;AACJ,QAAM,CAAC,MAAM,OAAO,IAAI;AAAA,IACtB,GAAG,OAAO,qBAAqB,KAAK,MAAM,SAAS,UAAU,SAAY,CAAC;AAAA,EAC5E;AACA,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgB;AAC1C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAe;AAEjD,YAAU,MAAM;AACf,UAAM,SAAS,GAAG,OAAO,qBAAqB,IAAI,MAAM,QAAS,MAA0B,OAAO;AAElG,QAAI,GAAG,QAAQ,QAAQ,KAAK,GAAG,QAAQ,GAAG,GAAG;AAC5C,eAAS,IAAI,MAAM,qEAAqE,CAAC;AACzF;AAAA,IACD;AAEA,QAAI;AAEJ,UAAM,aAAa,CAACA,UAAc;AACjC,cAAQA,KAAI;AACZ,mBAAa,oBAAI,KAAK,CAAC;AAAA,IACxB;AAEA,UAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAErC,QAAI,GAAG,QAAQ,WAAW,KAAK,GAAG,QAAQ,UAAU,GAAG;AACtD,YAAM,SAAS,GAAG,QAAQ,WAAW,IAAI,eAAe,MAAM,IAAI,cAAc,MAAM;AACtF,iBAAW,0BAA0B,CAAC,EAAE,UAAU,MAAM;AACvD,YAAI,OAAO,SAAS,WAAW;AAC9B,gBAAM,KAAK,UAAU,EAAE,MAAM,QAAQ;AAAA,QACtC;AAAA,MACD,CAAC;AAAA,IACF;AAEA,WAAO,MAAM;AACZ,gBAAU,OAAO;AAAA,IAClB;AAAA,EACD,GAAG,IAAI;AAEP,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":["data"]}
package/libsql/driver.cjs CHANGED
@@ -35,7 +35,7 @@ class LibSQLDatabase extends import_db.BaseSQLiteDatabase {
35
35
  }
36
36
  }
37
37
  function drizzle(client, config = {}) {
38
- const dialect = new import_dialect.SQLiteAsyncDialect();
38
+ const dialect = new import_dialect.SQLiteAsyncDialect({ casing: config.casing });
39
39
  let logger;
40
40
  if (config.logger === true) {
41
41
  logger = new import_logger.DefaultLogger();
@@ -55,7 +55,9 @@ function drizzle(client, config = {}) {
55
55
  };
56
56
  }
57
57
  const session = new import_session.LibSQLSession(client, dialect, schema, { logger }, void 0);
58
- return new LibSQLDatabase("async", dialect, session, schema);
58
+ const db = new LibSQLDatabase("async", dialect, session, schema);
59
+ db.$client = client;
60
+ return db;
59
61
  }
60
62
  // Annotate the CommonJS export names for ESM import in node:
61
63
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\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 } from '~/utils.ts';\nimport { LibSQLSession } from './session.ts';\n\nexport class LibSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {\n\tstatic readonly [entityKind]: string = 'LibSQLDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: LibSQLSession<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>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect();\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 LibSQLSession(client, dialect, schema, { logger }, undefined);\n\treturn new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAMO;AACP,gBAAmC;AACnC,qBAAmC;AAEnC,qBAA8B;AAEvB,MAAM,uBAEH,6BAAgD;AAAA,EACzD,QAAiB,wBAAU,IAAY;AAAA,EAKvC,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAEd,QAAgB,SAAiC,CAAC,GAA4B;AAC/E,QAAM,UAAU,IAAI,kCAAmB;AACvC,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,6BAAc,QAAQ,SAAS,QAAQ,EAAE,OAAO,GAAG,MAAS;AAChF,SAAO,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC5D;","names":[]}
1
+ {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\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 } from '~/utils.ts';\nimport { LibSQLSession } from './session.ts';\n\nexport class LibSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {\n\tstatic readonly [entityKind]: string = 'LibSQLDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: LibSQLSession<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>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> & {\n\t$client: Client;\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 LibSQLSession(client, dialect, schema, { logger }, undefined);\n\tconst db = new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAMO;AACP,gBAAmC;AACnC,qBAAmC;AAEnC,qBAA8B;AAEvB,MAAM,uBAEH,6BAAgD;AAAA,EACzD,QAAiB,wBAAU,IAAY;AAAA,EAKvC,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAEd,QAAgB,SAAiC,CAAC,GAElD;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,6BAAc,QAAQ,SAAS,QAAQ,EAAE,OAAO,GAAG,MAAS;AAChF,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC/D,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -7,4 +7,6 @@ export declare class LibSQLDatabase<TSchema extends Record<string, unknown> = Re
7
7
  static readonly [entityKind]: string;
8
8
  batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
9
9
  }
10
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: Client, config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema>;
10
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: Client, config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
11
+ $client: Client;
12
+ };
@@ -7,4 +7,6 @@ export declare class LibSQLDatabase<TSchema extends Record<string, unknown> = Re
7
7
  static readonly [entityKind]: string;
8
8
  batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
9
9
  }
10
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: Client, config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema>;
10
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: Client, config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
11
+ $client: Client;
12
+ };
package/libsql/driver.js CHANGED
@@ -14,7 +14,7 @@ class LibSQLDatabase extends BaseSQLiteDatabase {
14
14
  }
15
15
  }
16
16
  function drizzle(client, config = {}) {
17
- const dialect = new SQLiteAsyncDialect();
17
+ const dialect = new SQLiteAsyncDialect({ casing: config.casing });
18
18
  let logger;
19
19
  if (config.logger === true) {
20
20
  logger = new DefaultLogger();
@@ -34,7 +34,9 @@ function drizzle(client, config = {}) {
34
34
  };
35
35
  }
36
36
  const session = new LibSQLSession(client, dialect, schema, { logger }, void 0);
37
- return new LibSQLDatabase("async", dialect, session, schema);
37
+ const db = new LibSQLDatabase("async", dialect, session, schema);
38
+ db.$client = client;
39
+ return db;
38
40
  }
39
41
  export {
40
42
  LibSQLDatabase,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\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 } from '~/utils.ts';\nimport { LibSQLSession } from './session.ts';\n\nexport class LibSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {\n\tstatic readonly [entityKind]: string = 'LibSQLDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: LibSQLSession<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>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> {\n\tconst dialect = new SQLiteAsyncDialect();\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 LibSQLSession(client, dialect, schema, { logger }, undefined);\n\treturn new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAEvB,MAAM,uBAEH,mBAAgD;AAAA,EACzD,QAAiB,UAAU,IAAY;AAAA,EAKvC,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAEd,QAAgB,SAAiC,CAAC,GAA4B;AAC/E,QAAM,UAAU,IAAI,mBAAmB;AACvC,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,cAAc,QAAQ,SAAS,QAAQ,EAAE,OAAO,GAAG,MAAS;AAChF,SAAO,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC5D;","names":[]}
1
+ {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\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 } from '~/utils.ts';\nimport { LibSQLSession } from './session.ts';\n\nexport class LibSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {\n\tstatic readonly [entityKind]: string = 'LibSQLDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: LibSQLSession<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>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> & {\n\t$client: Client;\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 LibSQLSession(client, dialect, schema, { logger }, undefined);\n\tconst db = new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAEvB,MAAM,uBAEH,mBAAgD;AAAA,EACzD,QAAiB,UAAU,IAAY;AAAA,EAKvC,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAEO,SAAS,QAEd,QAAgB,SAAiC,CAAC,GAElD;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,cAAc,QAAQ,SAAS,QAAQ,EAAE,OAAO,GAAG,MAAS;AAChF,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC/D,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -25,7 +25,7 @@ var import_migrator = require("../migrator.cjs");
25
25
  var import_sql = require("../sql/sql.cjs");
26
26
  async function migrate(db, config) {
27
27
  const migrations = (0, import_migrator.readMigrationFiles)(config);
28
- const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
28
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
29
29
  const migrationTableCreate = import_sql.sql`
30
30
  CREATE TABLE IF NOT EXISTS ${import_sql.sql.identifier(migrationsTable)} (
31
31
  id SERIAL PRIMARY KEY,
@@ -51,7 +51,7 @@ async function migrate(db, config) {
51
51
  );
52
52
  }
53
53
  }
54
- await db.session.batch(statementToBatch);
54
+ await db.session.migrate(statementToBatch);
55
55
  }
56
56
  // Annotate the CommonJS export names for ESM import in node:
57
57
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: LibSQLDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config === undefined\n\t\t? '__drizzle_migrations'\n\t\t: typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: 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 ${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tawait db.session.batch(statementToBatch);\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,WAAW,SAChC,yBACA,OAAO,WAAW,WAClB,yBACA,OAAO,mBAAmB;AAE7B,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,6BACC,eAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,QAC5E;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,QAAM,GAAG,QAAQ,MAAM,gBAAgB;AACxC;","names":[]}
1
+ {"version":3,"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: LibSQLDatabase<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 ${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tawait db.session.migrate(statementToBatch);\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,6BACC,eAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,QAC5E;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,QAAM,GAAG,QAAQ,QAAQ,gBAAgB;AAC1C;","names":[]}
@@ -2,7 +2,7 @@ import { readMigrationFiles } from "../migrator.js";
2
2
  import { sql } from "../sql/sql.js";
3
3
  async function migrate(db, config) {
4
4
  const migrations = readMigrationFiles(config);
5
- const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
5
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
6
6
  const migrationTableCreate = sql`
7
7
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
8
8
  id SERIAL PRIMARY KEY,
@@ -28,7 +28,7 @@ async function migrate(db, config) {
28
28
  );
29
29
  }
30
30
  }
31
- await db.session.batch(statementToBatch);
31
+ await db.session.migrate(statementToBatch);
32
32
  }
33
33
  export {
34
34
  migrate
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: LibSQLDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config === undefined\n\t\t? '__drizzle_migrations'\n\t\t: typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: 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 ${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tawait db.session.batch(statementToBatch);\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AACnC,SAAS,WAAW;AAGpB,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,kBAAkB,WAAW,SAChC,yBACA,OAAO,WAAW,WAClB,yBACA,OAAO,mBAAmB;AAE7B,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,kBACC,IAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,QAC5E;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,QAAM,GAAG,QAAQ,MAAM,gBAAgB;AACxC;","names":[]}
1
+ {"version":3,"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: LibSQLDatabase<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 ${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tawait db.session.migrate(statementToBatch);\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,kBACC,IAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,QAC5E;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,QAAM,GAAG,QAAQ,QAAQ,gBAAgB;AAC1C;","names":[]}
@@ -64,6 +64,18 @@ class LibSQLSession extends import_session.SQLiteSession {
64
64
  const batchResults = await this.client.batch(builtQueries);
65
65
  return batchResults.map((result, i) => preparedQueries[i].mapResult(result, true));
66
66
  }
67
+ async migrate(queries) {
68
+ const preparedQueries = [];
69
+ const builtQueries = [];
70
+ for (const query of queries) {
71
+ const preparedQuery = query._prepare();
72
+ const builtQuery = preparedQuery.getQuery();
73
+ preparedQueries.push(preparedQuery);
74
+ builtQueries.push({ sql: builtQuery.sql, args: builtQuery.params });
75
+ }
76
+ const batchResults = await this.client.migrate(builtQueries);
77
+ return batchResults.map((result, i) => preparedQueries[i].mapResult(result, true));
78
+ }
67
79
  async transaction(transaction, _config) {
68
80
  const libsqlTx = await this.client.transaction();
69
81
  const session = new LibSQLSession(