drizzle-orm 0.33.0-ff1dcd9 → 0.34.0-05b9e35

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 (848) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/driver.cjs +12 -9
  4. package/aws-data-api/pg/driver.cjs.map +1 -1
  5. package/aws-data-api/pg/driver.d.cts +4 -2
  6. package/aws-data-api/pg/driver.d.ts +4 -2
  7. package/aws-data-api/pg/driver.js +6 -3
  8. package/aws-data-api/pg/driver.js.map +1 -1
  9. package/aws-data-api/pg/migrator.cjs.map +1 -1
  10. package/aws-data-api/pg/migrator.d.cts +1 -1
  11. package/aws-data-api/pg/migrator.d.ts +1 -1
  12. package/aws-data-api/pg/migrator.js.map +1 -1
  13. package/better-sqlite3/driver.cjs +10 -2
  14. package/better-sqlite3/driver.cjs.map +1 -1
  15. package/better-sqlite3/driver.d.cts +7 -2
  16. package/better-sqlite3/driver.d.ts +7 -2
  17. package/better-sqlite3/driver.js +9 -2
  18. package/better-sqlite3/driver.js.map +1 -1
  19. package/better-sqlite3/migrator.cjs.map +1 -1
  20. package/better-sqlite3/migrator.d.cts +1 -1
  21. package/better-sqlite3/migrator.d.ts +1 -1
  22. package/better-sqlite3/migrator.js.map +1 -1
  23. package/bun-sqlite/driver.cjs +10 -2
  24. package/bun-sqlite/driver.cjs.map +1 -1
  25. package/bun-sqlite/driver.d.cts +7 -2
  26. package/bun-sqlite/driver.d.ts +7 -2
  27. package/bun-sqlite/driver.js +9 -2
  28. package/bun-sqlite/driver.js.map +1 -1
  29. package/bun-sqlite/migrator.cjs.map +1 -1
  30. package/bun-sqlite/migrator.d.cts +1 -1
  31. package/bun-sqlite/migrator.d.ts +1 -1
  32. package/bun-sqlite/migrator.js.map +1 -1
  33. package/casing.cjs +85 -0
  34. package/casing.cjs.map +1 -0
  35. package/casing.d.cts +14 -0
  36. package/casing.d.ts +14 -0
  37. package/casing.js +59 -0
  38. package/casing.js.map +1 -0
  39. package/column-builder.cjs +7 -0
  40. package/column-builder.cjs.map +1 -1
  41. package/column-builder.d.cts +7 -2
  42. package/column-builder.d.ts +7 -2
  43. package/column-builder.js +7 -0
  44. package/column-builder.js.map +1 -1
  45. package/column.cjs +3 -0
  46. package/column.cjs.map +1 -1
  47. package/column.js +3 -0
  48. package/column.js.map +1 -1
  49. package/d1/driver.cjs +4 -2
  50. package/d1/driver.cjs.map +1 -1
  51. package/d1/driver.d.cts +6 -2
  52. package/d1/driver.d.ts +6 -2
  53. package/d1/driver.js +4 -2
  54. package/d1/driver.js.map +1 -1
  55. package/d1/migrator.cjs +1 -1
  56. package/d1/migrator.cjs.map +1 -1
  57. package/d1/migrator.d.cts +1 -1
  58. package/d1/migrator.d.ts +1 -1
  59. package/d1/migrator.js +1 -1
  60. package/d1/migrator.js.map +1 -1
  61. package/expo-sqlite/driver.cjs +10 -2
  62. package/expo-sqlite/driver.cjs.map +1 -1
  63. package/expo-sqlite/driver.d.cts +7 -2
  64. package/expo-sqlite/driver.d.ts +7 -2
  65. package/expo-sqlite/driver.js +9 -2
  66. package/expo-sqlite/driver.js.map +1 -1
  67. package/index.cjs +4 -0
  68. package/index.cjs.map +1 -1
  69. package/index.d.cts +2 -0
  70. package/index.d.ts +2 -0
  71. package/index.js +2 -0
  72. package/index.js.map +1 -1
  73. package/libsql/driver.cjs +4 -2
  74. package/libsql/driver.cjs.map +1 -1
  75. package/libsql/driver.d.cts +3 -1
  76. package/libsql/driver.d.ts +3 -1
  77. package/libsql/driver.js +4 -2
  78. package/libsql/driver.js.map +1 -1
  79. package/libsql/migrator.cjs +1 -1
  80. package/libsql/migrator.cjs.map +1 -1
  81. package/libsql/migrator.js +1 -1
  82. package/libsql/migrator.js.map +1 -1
  83. package/migrator.cjs +1 -12
  84. package/migrator.cjs.map +1 -1
  85. package/migrator.d.cts +1 -1
  86. package/migrator.d.ts +1 -1
  87. package/migrator.js +1 -12
  88. package/migrator.js.map +1 -1
  89. package/monodriver.cjs +283 -0
  90. package/monodriver.cjs.map +1 -0
  91. package/monodriver.d.cts +194 -0
  92. package/monodriver.d.ts +194 -0
  93. package/monodriver.js +249 -0
  94. package/monodriver.js.map +1 -0
  95. package/monomigrator.cjs +99 -0
  96. package/monomigrator.cjs.map +1 -0
  97. package/monomigrator.d.cts +16 -0
  98. package/monomigrator.d.ts +16 -0
  99. package/monomigrator.js +65 -0
  100. package/monomigrator.js.map +1 -0
  101. package/mysql-core/columns/all.cjs +80 -0
  102. package/mysql-core/columns/all.cjs.map +1 -0
  103. package/mysql-core/columns/all.d.cts +51 -0
  104. package/mysql-core/columns/all.d.ts +51 -0
  105. package/mysql-core/columns/all.js +56 -0
  106. package/mysql-core/columns/all.js.map +1 -0
  107. package/mysql-core/columns/bigint.cjs +3 -1
  108. package/mysql-core/columns/bigint.cjs.map +1 -1
  109. package/mysql-core/columns/bigint.d.cts +2 -2
  110. package/mysql-core/columns/bigint.d.ts +2 -2
  111. package/mysql-core/columns/bigint.js +3 -1
  112. package/mysql-core/columns/bigint.js.map +1 -1
  113. package/mysql-core/columns/binary.cjs +3 -1
  114. package/mysql-core/columns/binary.cjs.map +1 -1
  115. package/mysql-core/columns/binary.d.cts +2 -0
  116. package/mysql-core/columns/binary.d.ts +2 -0
  117. package/mysql-core/columns/binary.js +3 -1
  118. package/mysql-core/columns/binary.js.map +1 -1
  119. package/mysql-core/columns/boolean.cjs +1 -1
  120. package/mysql-core/columns/boolean.cjs.map +1 -1
  121. package/mysql-core/columns/boolean.d.cts +1 -0
  122. package/mysql-core/columns/boolean.d.ts +1 -0
  123. package/mysql-core/columns/boolean.js +1 -1
  124. package/mysql-core/columns/boolean.js.map +1 -1
  125. package/mysql-core/columns/char.cjs +3 -1
  126. package/mysql-core/columns/char.cjs.map +1 -1
  127. package/mysql-core/columns/char.d.cts +4 -2
  128. package/mysql-core/columns/char.d.ts +4 -2
  129. package/mysql-core/columns/char.js +3 -1
  130. package/mysql-core/columns/char.js.map +1 -1
  131. package/mysql-core/columns/custom.cjs +4 -2
  132. package/mysql-core/columns/custom.cjs.map +1 -1
  133. package/mysql-core/columns/custom.d.cts +10 -3
  134. package/mysql-core/columns/custom.d.ts +10 -3
  135. package/mysql-core/columns/custom.js +4 -2
  136. package/mysql-core/columns/custom.js.map +1 -1
  137. package/mysql-core/columns/date.cjs +4 -2
  138. package/mysql-core/columns/date.cjs.map +1 -1
  139. package/mysql-core/columns/date.d.cts +3 -1
  140. package/mysql-core/columns/date.d.ts +3 -1
  141. package/mysql-core/columns/date.js +4 -2
  142. package/mysql-core/columns/date.js.map +1 -1
  143. package/mysql-core/columns/datetime.cjs +4 -2
  144. package/mysql-core/columns/datetime.cjs.map +1 -1
  145. package/mysql-core/columns/datetime.d.cts +3 -1
  146. package/mysql-core/columns/datetime.d.ts +3 -1
  147. package/mysql-core/columns/datetime.js +4 -2
  148. package/mysql-core/columns/datetime.js.map +1 -1
  149. package/mysql-core/columns/decimal.cjs +3 -1
  150. package/mysql-core/columns/decimal.cjs.map +1 -1
  151. package/mysql-core/columns/decimal.d.cts +2 -0
  152. package/mysql-core/columns/decimal.d.ts +2 -0
  153. package/mysql-core/columns/decimal.js +3 -1
  154. package/mysql-core/columns/decimal.js.map +1 -1
  155. package/mysql-core/columns/double.cjs +3 -1
  156. package/mysql-core/columns/double.cjs.map +1 -1
  157. package/mysql-core/columns/double.d.cts +2 -0
  158. package/mysql-core/columns/double.d.ts +2 -0
  159. package/mysql-core/columns/double.js +3 -1
  160. package/mysql-core/columns/double.js.map +1 -1
  161. package/mysql-core/columns/enum.cjs +3 -1
  162. package/mysql-core/columns/enum.cjs.map +1 -1
  163. package/mysql-core/columns/enum.d.cts +2 -1
  164. package/mysql-core/columns/enum.d.ts +2 -1
  165. package/mysql-core/columns/enum.js +3 -1
  166. package/mysql-core/columns/enum.js.map +1 -1
  167. package/mysql-core/columns/float.cjs +1 -1
  168. package/mysql-core/columns/float.cjs.map +1 -1
  169. package/mysql-core/columns/float.d.cts +1 -0
  170. package/mysql-core/columns/float.d.ts +1 -0
  171. package/mysql-core/columns/float.js +1 -1
  172. package/mysql-core/columns/float.js.map +1 -1
  173. package/mysql-core/columns/int.cjs +3 -1
  174. package/mysql-core/columns/int.cjs.map +1 -1
  175. package/mysql-core/columns/int.d.cts +2 -0
  176. package/mysql-core/columns/int.d.ts +2 -0
  177. package/mysql-core/columns/int.js +3 -1
  178. package/mysql-core/columns/int.js.map +1 -1
  179. package/mysql-core/columns/json.cjs +1 -1
  180. package/mysql-core/columns/json.cjs.map +1 -1
  181. package/mysql-core/columns/json.d.cts +1 -0
  182. package/mysql-core/columns/json.d.ts +1 -0
  183. package/mysql-core/columns/json.js +1 -1
  184. package/mysql-core/columns/json.js.map +1 -1
  185. package/mysql-core/columns/mediumint.cjs +3 -1
  186. package/mysql-core/columns/mediumint.cjs.map +1 -1
  187. package/mysql-core/columns/mediumint.d.cts +2 -0
  188. package/mysql-core/columns/mediumint.d.ts +2 -0
  189. package/mysql-core/columns/mediumint.js +3 -1
  190. package/mysql-core/columns/mediumint.js.map +1 -1
  191. package/mysql-core/columns/real.cjs +3 -1
  192. package/mysql-core/columns/real.cjs.map +1 -1
  193. package/mysql-core/columns/real.d.cts +2 -0
  194. package/mysql-core/columns/real.d.ts +2 -0
  195. package/mysql-core/columns/real.js +3 -1
  196. package/mysql-core/columns/real.js.map +1 -1
  197. package/mysql-core/columns/serial.cjs +1 -1
  198. package/mysql-core/columns/serial.cjs.map +1 -1
  199. package/mysql-core/columns/serial.d.cts +1 -0
  200. package/mysql-core/columns/serial.d.ts +1 -0
  201. package/mysql-core/columns/serial.js +1 -1
  202. package/mysql-core/columns/serial.js.map +1 -1
  203. package/mysql-core/columns/smallint.cjs +3 -1
  204. package/mysql-core/columns/smallint.cjs.map +1 -1
  205. package/mysql-core/columns/smallint.d.cts +2 -0
  206. package/mysql-core/columns/smallint.d.ts +2 -0
  207. package/mysql-core/columns/smallint.js +3 -1
  208. package/mysql-core/columns/smallint.js.map +1 -1
  209. package/mysql-core/columns/text.cjs +9 -4
  210. package/mysql-core/columns/text.cjs.map +1 -1
  211. package/mysql-core/columns/text.d.cts +10 -2
  212. package/mysql-core/columns/text.d.ts +10 -2
  213. package/mysql-core/columns/text.js +9 -4
  214. package/mysql-core/columns/text.js.map +1 -1
  215. package/mysql-core/columns/time.cjs +3 -1
  216. package/mysql-core/columns/time.cjs.map +1 -1
  217. package/mysql-core/columns/time.d.cts +2 -0
  218. package/mysql-core/columns/time.d.ts +2 -0
  219. package/mysql-core/columns/time.js +3 -1
  220. package/mysql-core/columns/time.js.map +1 -1
  221. package/mysql-core/columns/timestamp.cjs +4 -2
  222. package/mysql-core/columns/timestamp.cjs.map +1 -1
  223. package/mysql-core/columns/timestamp.d.cts +3 -1
  224. package/mysql-core/columns/timestamp.d.ts +3 -1
  225. package/mysql-core/columns/timestamp.js +4 -2
  226. package/mysql-core/columns/timestamp.js.map +1 -1
  227. package/mysql-core/columns/tinyint.cjs +3 -1
  228. package/mysql-core/columns/tinyint.cjs.map +1 -1
  229. package/mysql-core/columns/tinyint.d.cts +2 -0
  230. package/mysql-core/columns/tinyint.d.ts +2 -0
  231. package/mysql-core/columns/tinyint.js +3 -1
  232. package/mysql-core/columns/tinyint.js.map +1 -1
  233. package/mysql-core/columns/varbinary.cjs +4 -2
  234. package/mysql-core/columns/varbinary.cjs.map +1 -1
  235. package/mysql-core/columns/varbinary.d.cts +2 -1
  236. package/mysql-core/columns/varbinary.d.ts +2 -1
  237. package/mysql-core/columns/varbinary.js +4 -2
  238. package/mysql-core/columns/varbinary.js.map +1 -1
  239. package/mysql-core/columns/varchar.cjs +3 -1
  240. package/mysql-core/columns/varchar.cjs.map +1 -1
  241. package/mysql-core/columns/varchar.d.cts +3 -2
  242. package/mysql-core/columns/varchar.d.ts +3 -2
  243. package/mysql-core/columns/varchar.js +3 -1
  244. package/mysql-core/columns/varchar.js.map +1 -1
  245. package/mysql-core/columns/year.cjs +1 -1
  246. package/mysql-core/columns/year.cjs.map +1 -1
  247. package/mysql-core/columns/year.d.cts +1 -0
  248. package/mysql-core/columns/year.d.ts +1 -0
  249. package/mysql-core/columns/year.js +1 -1
  250. package/mysql-core/columns/year.js.map +1 -1
  251. package/mysql-core/db.cjs +8 -2
  252. package/mysql-core/db.cjs.map +1 -1
  253. package/mysql-core/db.d.cts +5 -2
  254. package/mysql-core/db.d.ts +5 -2
  255. package/mysql-core/db.js +8 -2
  256. package/mysql-core/db.js.map +1 -1
  257. package/mysql-core/dialect.cjs +14 -7
  258. package/mysql-core/dialect.cjs.map +1 -1
  259. package/mysql-core/dialect.d.cts +5 -1
  260. package/mysql-core/dialect.d.ts +5 -1
  261. package/mysql-core/dialect.js +14 -7
  262. package/mysql-core/dialect.js.map +1 -1
  263. package/mysql-core/foreign-keys.cjs +3 -3
  264. package/mysql-core/foreign-keys.cjs.map +1 -1
  265. package/mysql-core/foreign-keys.d.cts +1 -1
  266. package/mysql-core/foreign-keys.d.ts +1 -1
  267. package/mysql-core/foreign-keys.js +3 -3
  268. package/mysql-core/foreign-keys.js.map +1 -1
  269. package/mysql-core/query-builders/count.cjs +73 -0
  270. package/mysql-core/query-builders/count.cjs.map +1 -0
  271. package/mysql-core/query-builders/count.d.cts +27 -0
  272. package/mysql-core/query-builders/count.d.ts +27 -0
  273. package/mysql-core/query-builders/count.js +49 -0
  274. package/mysql-core/query-builders/count.js.map +1 -0
  275. package/mysql-core/query-builders/query-builder.cjs +6 -1
  276. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  277. package/mysql-core/query-builders/query-builder.d.cts +4 -0
  278. package/mysql-core/query-builders/query-builder.d.ts +4 -0
  279. package/mysql-core/query-builders/query-builder.js +7 -2
  280. package/mysql-core/query-builders/query-builder.js.map +1 -1
  281. package/mysql-core/session.cjs +6 -0
  282. package/mysql-core/session.cjs.map +1 -1
  283. package/mysql-core/session.d.cts +1 -0
  284. package/mysql-core/session.d.ts +1 -0
  285. package/mysql-core/session.js +6 -0
  286. package/mysql-core/session.js.map +1 -1
  287. package/mysql-core/table.cjs +4 -1
  288. package/mysql-core/table.cjs.map +1 -1
  289. package/mysql-core/table.d.cts +8 -1
  290. package/mysql-core/table.d.ts +8 -1
  291. package/mysql-core/table.js +4 -1
  292. package/mysql-core/table.js.map +1 -1
  293. package/mysql-core/unique-constraint.cjs +2 -2
  294. package/mysql-core/unique-constraint.cjs.map +1 -1
  295. package/mysql-core/unique-constraint.d.cts +1 -1
  296. package/mysql-core/unique-constraint.d.ts +1 -1
  297. package/mysql-core/unique-constraint.js +2 -2
  298. package/mysql-core/unique-constraint.js.map +1 -1
  299. package/mysql-proxy/driver.cjs +8 -2
  300. package/mysql-proxy/driver.cjs.map +1 -1
  301. package/mysql-proxy/driver.d.cts +4 -1
  302. package/mysql-proxy/driver.d.ts +4 -1
  303. package/mysql-proxy/driver.js +7 -2
  304. package/mysql-proxy/driver.js.map +1 -1
  305. package/mysql2/driver.cjs +13 -8
  306. package/mysql2/driver.cjs.map +1 -1
  307. package/mysql2/driver.d.cts +6 -2
  308. package/mysql2/driver.d.ts +6 -2
  309. package/mysql2/driver.js +11 -7
  310. package/mysql2/driver.js.map +1 -1
  311. package/neon-http/driver.cjs +4 -2
  312. package/neon-http/driver.cjs.map +1 -1
  313. package/neon-http/driver.d.cts +3 -1
  314. package/neon-http/driver.d.ts +3 -1
  315. package/neon-http/driver.js +4 -2
  316. package/neon-http/driver.js.map +1 -1
  317. package/neon-http/migrator.cjs +2 -2
  318. package/neon-http/migrator.cjs.map +1 -1
  319. package/neon-http/migrator.d.cts +1 -1
  320. package/neon-http/migrator.d.ts +1 -1
  321. package/neon-http/migrator.js +2 -2
  322. package/neon-http/migrator.js.map +1 -1
  323. package/neon-http/session.cjs +6 -0
  324. package/neon-http/session.cjs.map +1 -1
  325. package/neon-http/session.d.cts +2 -1
  326. package/neon-http/session.d.ts +2 -1
  327. package/neon-http/session.js +6 -0
  328. package/neon-http/session.js.map +1 -1
  329. package/neon-serverless/driver.cjs +9 -2
  330. package/neon-serverless/driver.cjs.map +1 -1
  331. package/neon-serverless/driver.d.cts +6 -2
  332. package/neon-serverless/driver.d.ts +6 -2
  333. package/neon-serverless/driver.js +8 -2
  334. package/neon-serverless/driver.js.map +1 -1
  335. package/neon-serverless/migrator.cjs.map +1 -1
  336. package/neon-serverless/migrator.d.cts +1 -1
  337. package/neon-serverless/migrator.d.ts +1 -1
  338. package/neon-serverless/migrator.js.map +1 -1
  339. package/node-postgres/driver.cjs +9 -2
  340. package/node-postgres/driver.cjs.map +1 -1
  341. package/node-postgres/driver.d.cts +6 -2
  342. package/node-postgres/driver.d.ts +6 -2
  343. package/node-postgres/driver.js +8 -2
  344. package/node-postgres/driver.js.map +1 -1
  345. package/node-postgres/migrator.cjs.map +1 -1
  346. package/node-postgres/migrator.d.cts +1 -1
  347. package/node-postgres/migrator.d.ts +1 -1
  348. package/node-postgres/migrator.js.map +1 -1
  349. package/node-postgres/session.cjs +6 -0
  350. package/node-postgres/session.cjs.map +1 -1
  351. package/node-postgres/session.d.cts +2 -1
  352. package/node-postgres/session.d.ts +2 -1
  353. package/node-postgres/session.js +6 -0
  354. package/node-postgres/session.js.map +1 -1
  355. package/op-sqlite/driver.cjs +10 -2
  356. package/op-sqlite/driver.cjs.map +1 -1
  357. package/op-sqlite/driver.d.cts +7 -2
  358. package/op-sqlite/driver.d.ts +7 -2
  359. package/op-sqlite/driver.js +9 -2
  360. package/op-sqlite/driver.js.map +1 -1
  361. package/operations.cjs.map +1 -1
  362. package/package.json +170 -49
  363. package/pg-core/columns/all.cjs +96 -0
  364. package/pg-core/columns/all.cjs.map +1 -0
  365. package/pg-core/columns/all.d.cts +67 -0
  366. package/pg-core/columns/all.d.ts +67 -0
  367. package/pg-core/columns/all.js +72 -0
  368. package/pg-core/columns/all.js.map +1 -0
  369. package/pg-core/columns/bigint.cjs +3 -1
  370. package/pg-core/columns/bigint.cjs.map +1 -1
  371. package/pg-core/columns/bigint.d.cts +2 -2
  372. package/pg-core/columns/bigint.d.ts +2 -2
  373. package/pg-core/columns/bigint.js +3 -1
  374. package/pg-core/columns/bigint.js.map +1 -1
  375. package/pg-core/columns/bigserial.cjs +4 -2
  376. package/pg-core/columns/bigserial.cjs.map +1 -1
  377. package/pg-core/columns/bigserial.d.cts +2 -2
  378. package/pg-core/columns/bigserial.d.ts +2 -2
  379. package/pg-core/columns/bigserial.js +4 -2
  380. package/pg-core/columns/bigserial.js.map +1 -1
  381. package/pg-core/columns/boolean.cjs +1 -1
  382. package/pg-core/columns/boolean.cjs.map +1 -1
  383. package/pg-core/columns/boolean.d.cts +1 -0
  384. package/pg-core/columns/boolean.d.ts +1 -0
  385. package/pg-core/columns/boolean.js +1 -1
  386. package/pg-core/columns/boolean.js.map +1 -1
  387. package/pg-core/columns/char.cjs +3 -1
  388. package/pg-core/columns/char.cjs.map +1 -1
  389. package/pg-core/columns/char.d.cts +5 -3
  390. package/pg-core/columns/char.d.ts +5 -3
  391. package/pg-core/columns/char.js +3 -1
  392. package/pg-core/columns/char.js.map +1 -1
  393. package/pg-core/columns/cidr.cjs +1 -1
  394. package/pg-core/columns/cidr.cjs.map +1 -1
  395. package/pg-core/columns/cidr.d.cts +1 -0
  396. package/pg-core/columns/cidr.d.ts +1 -0
  397. package/pg-core/columns/cidr.js +1 -1
  398. package/pg-core/columns/cidr.js.map +1 -1
  399. package/pg-core/columns/custom.cjs +4 -2
  400. package/pg-core/columns/custom.cjs.map +1 -1
  401. package/pg-core/columns/custom.d.cts +10 -3
  402. package/pg-core/columns/custom.d.ts +10 -3
  403. package/pg-core/columns/custom.js +4 -2
  404. package/pg-core/columns/custom.js.map +1 -1
  405. package/pg-core/columns/date.cjs +3 -1
  406. package/pg-core/columns/date.cjs.map +1 -1
  407. package/pg-core/columns/date.d.cts +7 -6
  408. package/pg-core/columns/date.d.ts +7 -6
  409. package/pg-core/columns/date.js +3 -1
  410. package/pg-core/columns/date.js.map +1 -1
  411. package/pg-core/columns/double-precision.cjs +1 -1
  412. package/pg-core/columns/double-precision.cjs.map +1 -1
  413. package/pg-core/columns/double-precision.d.cts +1 -0
  414. package/pg-core/columns/double-precision.d.ts +1 -0
  415. package/pg-core/columns/double-precision.js +1 -1
  416. package/pg-core/columns/double-precision.js.map +1 -1
  417. package/pg-core/columns/enum.cjs +1 -1
  418. package/pg-core/columns/enum.cjs.map +1 -1
  419. package/pg-core/columns/enum.d.cts +3 -1
  420. package/pg-core/columns/enum.d.ts +3 -1
  421. package/pg-core/columns/enum.js +1 -1
  422. package/pg-core/columns/enum.js.map +1 -1
  423. package/pg-core/columns/index.cjs +2 -0
  424. package/pg-core/columns/index.cjs.map +1 -1
  425. package/pg-core/columns/index.d.cts +1 -0
  426. package/pg-core/columns/index.d.ts +1 -0
  427. package/pg-core/columns/index.js +1 -0
  428. package/pg-core/columns/index.js.map +1 -1
  429. package/pg-core/columns/inet.cjs +1 -1
  430. package/pg-core/columns/inet.cjs.map +1 -1
  431. package/pg-core/columns/inet.d.cts +1 -0
  432. package/pg-core/columns/inet.d.ts +1 -0
  433. package/pg-core/columns/inet.js +1 -1
  434. package/pg-core/columns/inet.js.map +1 -1
  435. package/pg-core/columns/integer.cjs +1 -1
  436. package/pg-core/columns/integer.cjs.map +1 -1
  437. package/pg-core/columns/integer.d.cts +1 -0
  438. package/pg-core/columns/integer.d.ts +1 -0
  439. package/pg-core/columns/integer.js +1 -1
  440. package/pg-core/columns/integer.js.map +1 -1
  441. package/pg-core/columns/interval.cjs +3 -1
  442. package/pg-core/columns/interval.cjs.map +1 -1
  443. package/pg-core/columns/interval.d.cts +2 -0
  444. package/pg-core/columns/interval.d.ts +2 -0
  445. package/pg-core/columns/interval.js +3 -1
  446. package/pg-core/columns/interval.js.map +1 -1
  447. package/pg-core/columns/json.cjs +1 -1
  448. package/pg-core/columns/json.cjs.map +1 -1
  449. package/pg-core/columns/json.d.cts +1 -0
  450. package/pg-core/columns/json.d.ts +1 -0
  451. package/pg-core/columns/json.js +1 -1
  452. package/pg-core/columns/json.js.map +1 -1
  453. package/pg-core/columns/jsonb.cjs +1 -1
  454. package/pg-core/columns/jsonb.cjs.map +1 -1
  455. package/pg-core/columns/jsonb.d.cts +1 -0
  456. package/pg-core/columns/jsonb.d.ts +1 -0
  457. package/pg-core/columns/jsonb.js +1 -1
  458. package/pg-core/columns/jsonb.js.map +1 -1
  459. package/pg-core/columns/line.cjs +3 -1
  460. package/pg-core/columns/line.cjs.map +1 -1
  461. package/pg-core/columns/line.d.cts +3 -1
  462. package/pg-core/columns/line.d.ts +3 -1
  463. package/pg-core/columns/line.js +3 -1
  464. package/pg-core/columns/line.js.map +1 -1
  465. package/pg-core/columns/macaddr.cjs +1 -1
  466. package/pg-core/columns/macaddr.cjs.map +1 -1
  467. package/pg-core/columns/macaddr.d.cts +1 -0
  468. package/pg-core/columns/macaddr.d.ts +1 -0
  469. package/pg-core/columns/macaddr.js +1 -1
  470. package/pg-core/columns/macaddr.js.map +1 -1
  471. package/pg-core/columns/macaddr8.cjs +1 -1
  472. package/pg-core/columns/macaddr8.cjs.map +1 -1
  473. package/pg-core/columns/macaddr8.d.cts +1 -0
  474. package/pg-core/columns/macaddr8.d.ts +1 -0
  475. package/pg-core/columns/macaddr8.js +1 -1
  476. package/pg-core/columns/macaddr8.js.map +1 -1
  477. package/pg-core/columns/numeric.cjs +3 -1
  478. package/pg-core/columns/numeric.cjs.map +1 -1
  479. package/pg-core/columns/numeric.d.cts +6 -3
  480. package/pg-core/columns/numeric.d.ts +6 -3
  481. package/pg-core/columns/numeric.js +3 -1
  482. package/pg-core/columns/numeric.js.map +1 -1
  483. package/pg-core/columns/point.cjs +3 -1
  484. package/pg-core/columns/point.cjs.map +1 -1
  485. package/pg-core/columns/point.d.cts +5 -3
  486. package/pg-core/columns/point.d.ts +5 -3
  487. package/pg-core/columns/point.js +3 -1
  488. package/pg-core/columns/point.js.map +1 -1
  489. package/pg-core/columns/postgis_extension/geometry.cjs +6 -4
  490. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  491. package/pg-core/columns/postgis_extension/geometry.d.cts +4 -3
  492. package/pg-core/columns/postgis_extension/geometry.d.ts +4 -3
  493. package/pg-core/columns/postgis_extension/geometry.js +3 -1
  494. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  495. package/pg-core/columns/real.cjs +1 -1
  496. package/pg-core/columns/real.cjs.map +1 -1
  497. package/pg-core/columns/real.d.cts +2 -1
  498. package/pg-core/columns/real.d.ts +2 -1
  499. package/pg-core/columns/real.js +1 -1
  500. package/pg-core/columns/real.js.map +1 -1
  501. package/pg-core/columns/serial.cjs +1 -1
  502. package/pg-core/columns/serial.cjs.map +1 -1
  503. package/pg-core/columns/serial.d.cts +2 -1
  504. package/pg-core/columns/serial.d.ts +2 -1
  505. package/pg-core/columns/serial.js +1 -1
  506. package/pg-core/columns/serial.js.map +1 -1
  507. package/pg-core/columns/smallint.cjs +1 -1
  508. package/pg-core/columns/smallint.cjs.map +1 -1
  509. package/pg-core/columns/smallint.d.cts +1 -0
  510. package/pg-core/columns/smallint.d.ts +1 -0
  511. package/pg-core/columns/smallint.js +1 -1
  512. package/pg-core/columns/smallint.js.map +1 -1
  513. package/pg-core/columns/smallserial.cjs +1 -1
  514. package/pg-core/columns/smallserial.cjs.map +1 -1
  515. package/pg-core/columns/smallserial.d.cts +2 -1
  516. package/pg-core/columns/smallserial.d.ts +2 -1
  517. package/pg-core/columns/smallserial.js +1 -1
  518. package/pg-core/columns/smallserial.js.map +1 -1
  519. package/pg-core/columns/text.cjs +3 -1
  520. package/pg-core/columns/text.cjs.map +1 -1
  521. package/pg-core/columns/text.d.cts +4 -2
  522. package/pg-core/columns/text.d.ts +4 -2
  523. package/pg-core/columns/text.js +3 -1
  524. package/pg-core/columns/text.js.map +1 -1
  525. package/pg-core/columns/time.cjs +3 -1
  526. package/pg-core/columns/time.cjs.map +1 -1
  527. package/pg-core/columns/time.d.cts +2 -0
  528. package/pg-core/columns/time.d.ts +2 -0
  529. package/pg-core/columns/time.js +3 -1
  530. package/pg-core/columns/time.js.map +1 -1
  531. package/pg-core/columns/timestamp.cjs +5 -3
  532. package/pg-core/columns/timestamp.cjs.map +1 -1
  533. package/pg-core/columns/timestamp.d.cts +5 -3
  534. package/pg-core/columns/timestamp.d.ts +5 -3
  535. package/pg-core/columns/timestamp.js +5 -3
  536. package/pg-core/columns/timestamp.js.map +1 -1
  537. package/pg-core/columns/uuid.cjs +1 -1
  538. package/pg-core/columns/uuid.cjs.map +1 -1
  539. package/pg-core/columns/uuid.d.cts +1 -0
  540. package/pg-core/columns/uuid.d.ts +1 -0
  541. package/pg-core/columns/uuid.js +1 -1
  542. package/pg-core/columns/uuid.js.map +1 -1
  543. package/pg-core/columns/varchar.cjs +3 -1
  544. package/pg-core/columns/varchar.cjs.map +1 -1
  545. package/pg-core/columns/varchar.d.cts +5 -3
  546. package/pg-core/columns/varchar.d.ts +5 -3
  547. package/pg-core/columns/varchar.js +3 -1
  548. package/pg-core/columns/varchar.js.map +1 -1
  549. package/pg-core/columns/vector_extension/bit.cjs +3 -1
  550. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  551. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  552. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  553. package/pg-core/columns/vector_extension/bit.js +3 -1
  554. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  555. package/pg-core/columns/vector_extension/halfvec.cjs +3 -1
  556. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  557. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  558. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  559. package/pg-core/columns/vector_extension/halfvec.js +3 -1
  560. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  561. package/pg-core/columns/vector_extension/sparsevec.cjs +3 -1
  562. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  563. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  564. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  565. package/pg-core/columns/vector_extension/sparsevec.js +3 -1
  566. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  567. package/pg-core/columns/vector_extension/vector.cjs +3 -1
  568. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  569. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  570. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  571. package/pg-core/columns/vector_extension/vector.js +3 -1
  572. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  573. package/pg-core/db.cjs +10 -4
  574. package/pg-core/db.cjs.map +1 -1
  575. package/pg-core/db.d.cts +6 -3
  576. package/pg-core/db.d.ts +6 -3
  577. package/pg-core/db.js +10 -4
  578. package/pg-core/db.js.map +1 -1
  579. package/pg-core/dialect.cjs +13 -4
  580. package/pg-core/dialect.cjs.map +1 -1
  581. package/pg-core/dialect.d.cts +5 -1
  582. package/pg-core/dialect.d.ts +5 -1
  583. package/pg-core/dialect.js +13 -4
  584. package/pg-core/dialect.js.map +1 -1
  585. package/pg-core/foreign-keys.cjs +3 -3
  586. package/pg-core/foreign-keys.cjs.map +1 -1
  587. package/pg-core/foreign-keys.d.cts +1 -1
  588. package/pg-core/foreign-keys.d.ts +1 -1
  589. package/pg-core/foreign-keys.js +3 -3
  590. package/pg-core/foreign-keys.js.map +1 -1
  591. package/pg-core/query-builders/count.cjs +73 -0
  592. package/pg-core/query-builders/count.cjs.map +1 -0
  593. package/pg-core/query-builders/count.d.cts +26 -0
  594. package/pg-core/query-builders/count.d.ts +26 -0
  595. package/pg-core/query-builders/count.js +49 -0
  596. package/pg-core/query-builders/count.js.map +1 -0
  597. package/pg-core/query-builders/insert.cjs +2 -2
  598. package/pg-core/query-builders/insert.cjs.map +1 -1
  599. package/pg-core/query-builders/insert.js +2 -2
  600. package/pg-core/query-builders/insert.js.map +1 -1
  601. package/pg-core/query-builders/query-builder.cjs +6 -1
  602. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  603. package/pg-core/query-builders/query-builder.d.cts +4 -0
  604. package/pg-core/query-builders/query-builder.d.ts +4 -0
  605. package/pg-core/query-builders/query-builder.js +7 -2
  606. package/pg-core/query-builders/query-builder.js.map +1 -1
  607. package/pg-core/session.cjs +6 -0
  608. package/pg-core/session.cjs.map +1 -1
  609. package/pg-core/session.d.cts +1 -0
  610. package/pg-core/session.d.ts +1 -0
  611. package/pg-core/session.js +6 -0
  612. package/pg-core/session.js.map +1 -1
  613. package/pg-core/table.cjs +6 -2
  614. package/pg-core/table.cjs.map +1 -1
  615. package/pg-core/table.d.cts +7 -0
  616. package/pg-core/table.d.ts +7 -0
  617. package/pg-core/table.js +6 -2
  618. package/pg-core/table.js.map +1 -1
  619. package/pg-core/unique-constraint.cjs +2 -2
  620. package/pg-core/unique-constraint.cjs.map +1 -1
  621. package/pg-core/unique-constraint.d.cts +1 -1
  622. package/pg-core/unique-constraint.d.ts +1 -1
  623. package/pg-core/unique-constraint.js +2 -2
  624. package/pg-core/unique-constraint.js.map +1 -1
  625. package/pg-core/view.cjs +22 -2
  626. package/pg-core/view.cjs.map +1 -1
  627. package/pg-core/view.d.cts +25 -5
  628. package/pg-core/view.d.ts +25 -5
  629. package/pg-core/view.js +21 -3
  630. package/pg-core/view.js.map +1 -1
  631. package/pg-proxy/driver.cjs +8 -2
  632. package/pg-proxy/driver.cjs.map +1 -1
  633. package/pg-proxy/driver.d.cts +4 -1
  634. package/pg-proxy/driver.d.ts +4 -1
  635. package/pg-proxy/driver.js +7 -2
  636. package/pg-proxy/driver.js.map +1 -1
  637. package/pg-proxy/migrator.cjs.map +1 -1
  638. package/pg-proxy/migrator.d.cts +1 -1
  639. package/pg-proxy/migrator.d.ts +1 -1
  640. package/pg-proxy/migrator.js.map +1 -1
  641. package/pg-proxy/session.cjs.map +1 -1
  642. package/pg-proxy/session.js.map +1 -1
  643. package/pglite/driver.cjs +9 -2
  644. package/pglite/driver.cjs.map +1 -1
  645. package/pglite/driver.d.cts +6 -2
  646. package/pglite/driver.d.ts +6 -2
  647. package/pglite/driver.js +8 -2
  648. package/pglite/driver.js.map +1 -1
  649. package/pglite/migrator.cjs.map +1 -1
  650. package/pglite/migrator.d.cts +1 -1
  651. package/pglite/migrator.d.ts +1 -1
  652. package/pglite/migrator.js.map +1 -1
  653. package/pglite/session.cjs +6 -0
  654. package/pglite/session.cjs.map +1 -1
  655. package/pglite/session.d.cts +2 -1
  656. package/pglite/session.d.ts +2 -1
  657. package/pglite/session.js +6 -0
  658. package/pglite/session.js.map +1 -1
  659. package/planetscale-serverless/driver.cjs +10 -2
  660. package/planetscale-serverless/driver.cjs.map +1 -1
  661. package/planetscale-serverless/driver.d.cts +7 -2
  662. package/planetscale-serverless/driver.d.ts +7 -2
  663. package/planetscale-serverless/driver.js +9 -2
  664. package/planetscale-serverless/driver.js.map +1 -1
  665. package/planetscale-serverless/migrator.cjs.map +1 -1
  666. package/planetscale-serverless/migrator.js.map +1 -1
  667. package/planetscale-serverless/session.cjs +6 -0
  668. package/planetscale-serverless/session.cjs.map +1 -1
  669. package/planetscale-serverless/session.d.cts +1 -0
  670. package/planetscale-serverless/session.d.ts +1 -0
  671. package/planetscale-serverless/session.js +6 -0
  672. package/planetscale-serverless/session.js.map +1 -1
  673. package/postgres-js/driver.cjs +10 -2
  674. package/postgres-js/driver.cjs.map +1 -1
  675. package/postgres-js/driver.d.cts +7 -2
  676. package/postgres-js/driver.d.ts +7 -2
  677. package/postgres-js/driver.js +9 -2
  678. package/postgres-js/driver.js.map +1 -1
  679. package/postgres-js/migrator.cjs.map +1 -1
  680. package/postgres-js/migrator.d.cts +1 -1
  681. package/postgres-js/migrator.d.ts +1 -1
  682. package/postgres-js/migrator.js.map +1 -1
  683. package/sql/sql.cjs +4 -2
  684. package/sql/sql.cjs.map +1 -1
  685. package/sql/sql.d.cts +2 -0
  686. package/sql/sql.d.ts +2 -0
  687. package/sql/sql.js +4 -2
  688. package/sql/sql.js.map +1 -1
  689. package/sql-js/driver.cjs +1 -1
  690. package/sql-js/driver.cjs.map +1 -1
  691. package/sql-js/driver.js +1 -1
  692. package/sql-js/driver.js.map +1 -1
  693. package/sql-js/migrator.cjs.map +1 -1
  694. package/sql-js/migrator.d.cts +1 -1
  695. package/sql-js/migrator.d.ts +1 -1
  696. package/sql-js/migrator.js.map +1 -1
  697. package/sqlite-core/columns/all.cjs +44 -0
  698. package/sqlite-core/columns/all.cjs.map +1 -0
  699. package/sqlite-core/columns/all.d.cts +15 -0
  700. package/sqlite-core/columns/all.d.ts +15 -0
  701. package/sqlite-core/columns/all.js +20 -0
  702. package/sqlite-core/columns/all.js.map +1 -0
  703. package/sqlite-core/columns/blob.cjs +3 -1
  704. package/sqlite-core/columns/blob.cjs.map +1 -1
  705. package/sqlite-core/columns/blob.d.cts +3 -1
  706. package/sqlite-core/columns/blob.d.ts +3 -1
  707. package/sqlite-core/columns/blob.js +3 -1
  708. package/sqlite-core/columns/blob.js.map +1 -1
  709. package/sqlite-core/columns/custom.cjs +5 -3
  710. package/sqlite-core/columns/custom.cjs.map +1 -1
  711. package/sqlite-core/columns/custom.d.cts +10 -3
  712. package/sqlite-core/columns/custom.d.ts +10 -3
  713. package/sqlite-core/columns/custom.js +5 -3
  714. package/sqlite-core/columns/custom.js.map +1 -1
  715. package/sqlite-core/columns/integer.cjs +3 -1
  716. package/sqlite-core/columns/integer.cjs.map +1 -1
  717. package/sqlite-core/columns/integer.d.cts +3 -1
  718. package/sqlite-core/columns/integer.d.ts +3 -1
  719. package/sqlite-core/columns/integer.js +3 -1
  720. package/sqlite-core/columns/integer.js.map +1 -1
  721. package/sqlite-core/columns/numeric.cjs +1 -1
  722. package/sqlite-core/columns/numeric.cjs.map +1 -1
  723. package/sqlite-core/columns/numeric.d.cts +1 -0
  724. package/sqlite-core/columns/numeric.d.ts +1 -0
  725. package/sqlite-core/columns/numeric.js +1 -1
  726. package/sqlite-core/columns/numeric.js.map +1 -1
  727. package/sqlite-core/columns/real.cjs +1 -1
  728. package/sqlite-core/columns/real.cjs.map +1 -1
  729. package/sqlite-core/columns/real.d.cts +1 -0
  730. package/sqlite-core/columns/real.d.ts +1 -0
  731. package/sqlite-core/columns/real.js +1 -1
  732. package/sqlite-core/columns/real.js.map +1 -1
  733. package/sqlite-core/columns/text.cjs +7 -2
  734. package/sqlite-core/columns/text.cjs.map +1 -1
  735. package/sqlite-core/columns/text.d.cts +4 -2
  736. package/sqlite-core/columns/text.d.ts +4 -2
  737. package/sqlite-core/columns/text.js +7 -2
  738. package/sqlite-core/columns/text.js.map +1 -1
  739. package/sqlite-core/db.cjs +23 -17
  740. package/sqlite-core/db.cjs.map +1 -1
  741. package/sqlite-core/db.d.cts +8 -5
  742. package/sqlite-core/db.d.ts +8 -5
  743. package/sqlite-core/db.js +23 -17
  744. package/sqlite-core/db.js.map +1 -1
  745. package/sqlite-core/dialect.cjs +14 -8
  746. package/sqlite-core/dialect.cjs.map +1 -1
  747. package/sqlite-core/dialect.d.cts +5 -1
  748. package/sqlite-core/dialect.d.ts +5 -1
  749. package/sqlite-core/dialect.js +14 -8
  750. package/sqlite-core/dialect.js.map +1 -1
  751. package/sqlite-core/foreign-keys.cjs +3 -3
  752. package/sqlite-core/foreign-keys.cjs.map +1 -1
  753. package/sqlite-core/foreign-keys.d.cts +1 -1
  754. package/sqlite-core/foreign-keys.d.ts +1 -1
  755. package/sqlite-core/foreign-keys.js +3 -3
  756. package/sqlite-core/foreign-keys.js.map +1 -1
  757. package/sqlite-core/query-builders/count.cjs +72 -0
  758. package/sqlite-core/query-builders/count.cjs.map +1 -0
  759. package/sqlite-core/query-builders/count.d.cts +27 -0
  760. package/sqlite-core/query-builders/count.d.ts +27 -0
  761. package/sqlite-core/query-builders/count.js +48 -0
  762. package/sqlite-core/query-builders/count.js.map +1 -0
  763. package/sqlite-core/query-builders/query-builder.cjs +6 -1
  764. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  765. package/sqlite-core/query-builders/query-builder.d.cts +4 -0
  766. package/sqlite-core/query-builders/query-builder.d.ts +4 -0
  767. package/sqlite-core/query-builders/query-builder.js +8 -3
  768. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  769. package/sqlite-core/session.cjs +4 -0
  770. package/sqlite-core/session.cjs.map +1 -1
  771. package/sqlite-core/session.d.cts +1 -0
  772. package/sqlite-core/session.d.ts +1 -0
  773. package/sqlite-core/session.js +4 -0
  774. package/sqlite-core/session.js.map +1 -1
  775. package/sqlite-core/table.cjs +4 -1
  776. package/sqlite-core/table.cjs.map +1 -1
  777. package/sqlite-core/table.d.cts +7 -0
  778. package/sqlite-core/table.d.ts +7 -0
  779. package/sqlite-core/table.js +4 -1
  780. package/sqlite-core/table.js.map +1 -1
  781. package/sqlite-core/unique-constraint.cjs +2 -2
  782. package/sqlite-core/unique-constraint.cjs.map +1 -1
  783. package/sqlite-core/unique-constraint.d.cts +1 -1
  784. package/sqlite-core/unique-constraint.d.ts +1 -1
  785. package/sqlite-core/unique-constraint.js +2 -2
  786. package/sqlite-core/unique-constraint.js.map +1 -1
  787. package/sqlite-proxy/driver.cjs +1 -1
  788. package/sqlite-proxy/driver.cjs.map +1 -1
  789. package/sqlite-proxy/driver.js +1 -1
  790. package/sqlite-proxy/driver.js.map +1 -1
  791. package/sqlite-proxy/migrator.cjs.map +1 -1
  792. package/sqlite-proxy/migrator.d.cts +1 -1
  793. package/sqlite-proxy/migrator.d.ts +1 -1
  794. package/sqlite-proxy/migrator.js.map +1 -1
  795. package/table.cjs +6 -8
  796. package/table.cjs.map +1 -1
  797. package/table.js +1 -2
  798. package/table.js.map +1 -1
  799. package/table.utils.cjs +29 -0
  800. package/table.utils.cjs.map +1 -0
  801. package/table.utils.d.cts +1 -0
  802. package/table.utils.d.ts +1 -0
  803. package/table.utils.js +5 -0
  804. package/table.utils.js.map +1 -0
  805. package/tidb-serverless/driver.cjs +10 -2
  806. package/tidb-serverless/driver.cjs.map +1 -1
  807. package/tidb-serverless/driver.d.cts +7 -2
  808. package/tidb-serverless/driver.d.ts +7 -2
  809. package/tidb-serverless/driver.js +9 -2
  810. package/tidb-serverless/driver.js.map +1 -1
  811. package/tidb-serverless/session.cjs +6 -0
  812. package/tidb-serverless/session.cjs.map +1 -1
  813. package/tidb-serverless/session.d.cts +1 -0
  814. package/tidb-serverless/session.d.ts +1 -0
  815. package/tidb-serverless/session.js +6 -0
  816. package/tidb-serverless/session.js.map +1 -1
  817. package/utils.cjs +8 -0
  818. package/utils.cjs.map +1 -1
  819. package/utils.d.cts +4 -0
  820. package/utils.d.ts +4 -0
  821. package/utils.js +7 -0
  822. package/utils.js.map +1 -1
  823. package/vercel-postgres/driver.cjs +9 -2
  824. package/vercel-postgres/driver.cjs.map +1 -1
  825. package/vercel-postgres/driver.d.cts +6 -2
  826. package/vercel-postgres/driver.d.ts +6 -2
  827. package/vercel-postgres/driver.js +8 -2
  828. package/vercel-postgres/driver.js.map +1 -1
  829. package/vercel-postgres/migrator.cjs.map +1 -1
  830. package/vercel-postgres/migrator.d.cts +1 -1
  831. package/vercel-postgres/migrator.d.ts +1 -1
  832. package/vercel-postgres/migrator.js.map +1 -1
  833. package/version.cjs +1 -1
  834. package/version.d.cts +1 -1
  835. package/version.d.ts +1 -1
  836. package/version.js +1 -1
  837. package/xata-http/driver.cjs +4 -2
  838. package/xata-http/driver.cjs.map +1 -1
  839. package/xata-http/driver.d.cts +3 -1
  840. package/xata-http/driver.d.ts +3 -1
  841. package/xata-http/driver.js +4 -2
  842. package/xata-http/driver.js.map +1 -1
  843. package/xata-http/migrator.cjs +1 -1
  844. package/xata-http/migrator.cjs.map +1 -1
  845. package/xata-http/migrator.d.cts +1 -1
  846. package/xata-http/migrator.d.ts +1 -1
  847. package/xata-http/migrator.js +1 -1
  848. package/xata-http/migrator.js.map +1 -1
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":[]}
package/index.cjs CHANGED
@@ -22,6 +22,8 @@ __reExport(src_exports, require("./entity.cjs"), module.exports);
22
22
  __reExport(src_exports, require("./errors.cjs"), module.exports);
23
23
  __reExport(src_exports, require("./expressions.cjs"), module.exports);
24
24
  __reExport(src_exports, require("./logger.cjs"), module.exports);
25
+ __reExport(src_exports, require("./monodriver.cjs"), module.exports);
26
+ __reExport(src_exports, require("./monomigrator.cjs"), module.exports);
25
27
  __reExport(src_exports, require("./operations.cjs"), module.exports);
26
28
  __reExport(src_exports, require("./query-promise.cjs"), module.exports);
27
29
  __reExport(src_exports, require("./relations.cjs"), module.exports);
@@ -39,6 +41,8 @@ __reExport(src_exports, require("./view-common.cjs"), module.exports);
39
41
  ...require("./errors.cjs"),
40
42
  ...require("./expressions.cjs"),
41
43
  ...require("./logger.cjs"),
44
+ ...require("./monodriver.cjs"),
45
+ ...require("./monomigrator.cjs"),
42
46
  ...require("./operations.cjs"),
43
47
  ...require("./query-promise.cjs"),
44
48
  ...require("./relations.cjs"),
package/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,wBAAc,gCADd;AAEA,wBAAc,wBAFd;AAGA,wBAAc,wBAHd;AAIA,wBAAc,wBAJd;AAKA,wBAAc,6BALd;AAMA,wBAAc,wBANd;AAOA,wBAAc,4BAPd;AAQA,wBAAc,+BARd;AASA,wBAAc,2BATd;AAUA,wBAAc,2BAVd;AAWA,wBAAc,0BAXd;AAYA,wBAAc,uBAZd;AAaA,wBAAc,uBAbd;AAcA,wBAAc,6BAdd;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './monodriver.ts';\nexport * from './monomigrator.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,wBAAc,gCADd;AAEA,wBAAc,wBAFd;AAGA,wBAAc,wBAHd;AAIA,wBAAc,wBAJd;AAKA,wBAAc,6BALd;AAMA,wBAAc,wBANd;AAOA,wBAAc,4BAPd;AAQA,wBAAc,8BARd;AASA,wBAAc,4BATd;AAUA,wBAAc,+BAVd;AAWA,wBAAc,2BAXd;AAYA,wBAAc,2BAZd;AAaA,wBAAc,0BAbd;AAcA,wBAAc,uBAdd;AAeA,wBAAc,uBAfd;AAgBA,wBAAc,6BAhBd;","names":[]}
package/index.d.cts CHANGED
@@ -5,6 +5,8 @@ export * from "./entity.cjs";
5
5
  export * from "./errors.cjs";
6
6
  export * from "./expressions.cjs";
7
7
  export * from "./logger.cjs";
8
+ export * from "./monodriver.cjs";
9
+ export * from "./monomigrator.cjs";
8
10
  export * from "./operations.cjs";
9
11
  export * from "./query-promise.cjs";
10
12
  export * from "./relations.cjs";
package/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export * from "./entity.js";
5
5
  export * from "./errors.js";
6
6
  export * from "./expressions.js";
7
7
  export * from "./logger.js";
8
+ export * from "./monodriver.js";
9
+ export * from "./monomigrator.js";
8
10
  export * from "./operations.js";
9
11
  export * from "./query-promise.js";
10
12
  export * from "./relations.js";
package/index.js CHANGED
@@ -5,6 +5,8 @@ export * from "./entity.js";
5
5
  export * from "./errors.js";
6
6
  export * from "./expressions.js";
7
7
  export * from "./logger.js";
8
+ export * from "./monodriver.js";
9
+ export * from "./monomigrator.js";
8
10
  export * from "./operations.js";
9
11
  export * from "./query-promise.js";
10
12
  export * from "./relations.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './monodriver.ts';\nexport * from './monomigrator.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
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,
@@ -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.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,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,QAAQ,gBAAgB;AAC1C;","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,
@@ -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.migrate(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,QAAQ,gBAAgB;AAC1C;","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":[]}
package/migrator.cjs CHANGED
@@ -33,19 +33,8 @@ __export(migrator_exports, {
33
33
  module.exports = __toCommonJS(migrator_exports);
34
34
  var import_node_crypto = __toESM(require("node:crypto"), 1);
35
35
  var import_node_fs = __toESM(require("node:fs"), 1);
36
- var import_node_path = __toESM(require("node:path"), 1);
37
36
  function readMigrationFiles(config) {
38
- let migrationFolderTo;
39
- if (typeof config === "string") {
40
- const configAsString = import_node_fs.default.readFileSync(import_node_path.default.resolve(".", config), "utf8");
41
- const jsonConfig = JSON.parse(configAsString);
42
- migrationFolderTo = jsonConfig.out;
43
- } else {
44
- migrationFolderTo = config.migrationsFolder;
45
- }
46
- if (!migrationFolderTo) {
47
- throw new Error("no migration folder defined");
48
- }
37
+ const migrationFolderTo = config.migrationsFolder;
49
38
  const migrationQueries = [];
50
39
  const journalPath = `${migrationFolderTo}/meta/_journal.json`;
51
40
  if (!import_node_fs.default.existsSync(journalPath)) {
package/migrator.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\nexport function readMigrationFiles(config: string | MigrationConfig): MigrationMeta[] {\n\tlet migrationFolderTo: string | undefined;\n\tif (typeof config === 'string') {\n\t\tconst configAsString = fs.readFileSync(path.resolve('.', config), 'utf8');\n\t\tconst jsonConfig = JSON.parse(configAsString) as KitConfig;\n\t\tmigrationFolderTo = jsonConfig.out;\n\t} else {\n\t\tmigrationFolderTo = config.migrationsFolder;\n\t}\n\n\tif (!migrationFolderTo) {\n\t\tthrow new Error('no migration folder defined');\n\t}\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\tif (!fs.existsSync(journalPath)) {\n\t\tthrow new Error(`Can't find meta/_journal.json file`);\n\t}\n\n\tconst journalAsString = fs.readFileSync(`${migrationFolderTo}/meta/_journal.json`).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmB;AACnB,qBAAe;AACf,uBAAiB;AAoBV,SAAS,mBAAmB,QAAmD;AACrF,MAAI;AACJ,MAAI,OAAO,WAAW,UAAU;AAC/B,UAAM,iBAAiB,eAAAA,QAAG,aAAa,iBAAAC,QAAK,QAAQ,KAAK,MAAM,GAAG,MAAM;AACxE,UAAM,aAAa,KAAK,MAAM,cAAc;AAC5C,wBAAoB,WAAW;AAAA,EAChC,OAAO;AACN,wBAAoB,OAAO;AAAA,EAC5B;AAEA,MAAI,CAAC,mBAAmB;AACvB,UAAM,IAAI,MAAM,6BAA6B;AAAA,EAC9C;AAEA,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AACxC,MAAI,CAAC,eAAAD,QAAG,WAAW,WAAW,GAAG;AAChC,UAAM,IAAI,MAAM,oCAAoC;AAAA,EACrD;AAEA,QAAM,kBAAkB,eAAAA,QAAG,aAAa,GAAG,iBAAiB,qBAAqB,EAAE,SAAS;AAE5F,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,eAAAA,QAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,mBAAAE,QAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;","names":["fs","path","crypto"]}
1
+ {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs from 'node:fs';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\nexport function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\tif (!fs.existsSync(journalPath)) {\n\t\tthrow new Error(`Can't find meta/_journal.json file`);\n\t}\n\n\tconst journalAsString = fs.readFileSync(`${migrationFolderTo}/meta/_journal.json`).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmB;AACnB,qBAAe;AAoBR,SAAS,mBAAmB,QAA0C;AAC5E,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AACxC,MAAI,CAAC,eAAAA,QAAG,WAAW,WAAW,GAAG;AAChC,UAAM,IAAI,MAAM,oCAAoC;AAAA,EACrD;AAEA,QAAM,kBAAkB,eAAAA,QAAG,aAAa,GAAG,iBAAiB,qBAAqB,EAAE,SAAS;AAE5F,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,eAAAA,QAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,mBAAAC,QAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;","names":["fs","crypto"]}
package/migrator.d.cts CHANGED
@@ -13,4 +13,4 @@ export interface MigrationMeta {
13
13
  hash: string;
14
14
  bps: boolean;
15
15
  }
16
- export declare function readMigrationFiles(config: string | MigrationConfig): MigrationMeta[];
16
+ export declare function readMigrationFiles(config: MigrationConfig): MigrationMeta[];
package/migrator.d.ts CHANGED
@@ -13,4 +13,4 @@ export interface MigrationMeta {
13
13
  hash: string;
14
14
  bps: boolean;
15
15
  }
16
- export declare function readMigrationFiles(config: string | MigrationConfig): MigrationMeta[];
16
+ export declare function readMigrationFiles(config: MigrationConfig): MigrationMeta[];
package/migrator.js CHANGED
@@ -1,18 +1,7 @@
1
1
  import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
- import path from "node:path";
4
3
  function readMigrationFiles(config) {
5
- let migrationFolderTo;
6
- if (typeof config === "string") {
7
- const configAsString = fs.readFileSync(path.resolve(".", config), "utf8");
8
- const jsonConfig = JSON.parse(configAsString);
9
- migrationFolderTo = jsonConfig.out;
10
- } else {
11
- migrationFolderTo = config.migrationsFolder;
12
- }
13
- if (!migrationFolderTo) {
14
- throw new Error("no migration folder defined");
15
- }
4
+ const migrationFolderTo = config.migrationsFolder;
16
5
  const migrationQueries = [];
17
6
  const journalPath = `${migrationFolderTo}/meta/_journal.json`;
18
7
  if (!fs.existsSync(journalPath)) {
package/migrator.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\nexport function readMigrationFiles(config: string | MigrationConfig): MigrationMeta[] {\n\tlet migrationFolderTo: string | undefined;\n\tif (typeof config === 'string') {\n\t\tconst configAsString = fs.readFileSync(path.resolve('.', config), 'utf8');\n\t\tconst jsonConfig = JSON.parse(configAsString) as KitConfig;\n\t\tmigrationFolderTo = jsonConfig.out;\n\t} else {\n\t\tmigrationFolderTo = config.migrationsFolder;\n\t}\n\n\tif (!migrationFolderTo) {\n\t\tthrow new Error('no migration folder defined');\n\t}\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\tif (!fs.existsSync(journalPath)) {\n\t\tthrow new Error(`Can't find meta/_journal.json file`);\n\t}\n\n\tconst journalAsString = fs.readFileSync(`${migrationFolderTo}/meta/_journal.json`).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,QAAQ;AACf,OAAO,UAAU;AAoBV,SAAS,mBAAmB,QAAmD;AACrF,MAAI;AACJ,MAAI,OAAO,WAAW,UAAU;AAC/B,UAAM,iBAAiB,GAAG,aAAa,KAAK,QAAQ,KAAK,MAAM,GAAG,MAAM;AACxE,UAAM,aAAa,KAAK,MAAM,cAAc;AAC5C,wBAAoB,WAAW;AAAA,EAChC,OAAO;AACN,wBAAoB,OAAO;AAAA,EAC5B;AAEA,MAAI,CAAC,mBAAmB;AACvB,UAAM,IAAI,MAAM,6BAA6B;AAAA,EAC9C;AAEA,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AACxC,MAAI,CAAC,GAAG,WAAW,WAAW,GAAG;AAChC,UAAM,IAAI,MAAM,oCAAoC;AAAA,EACrD;AAEA,QAAM,kBAAkB,GAAG,aAAa,GAAG,iBAAiB,qBAAqB,EAAE,SAAS;AAE5F,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,GAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,OAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs from 'node:fs';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\nexport function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\tif (!fs.existsSync(journalPath)) {\n\t\tthrow new Error(`Can't find meta/_journal.json file`);\n\t}\n\n\tconst journalAsString = fs.readFileSync(`${migrationFolderTo}/meta/_journal.json`).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,QAAQ;AAoBR,SAAS,mBAAmB,QAA0C;AAC5E,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AACxC,MAAI,CAAC,GAAG,WAAW,WAAW,GAAG;AAChC,UAAM,IAAI,MAAM,oCAAoC;AAAA,EACrD;AAEA,QAAM,kBAAkB,GAAG,aAAa,GAAG,iBAAiB,qBAAqB,EAAE,SAAS;AAE5F,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,GAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,OAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}