drizzle-orm 0.44.0 → 0.44.2-512acc4

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 (800) hide show
  1. package/aws-data-api/pg/driver.cjs +14 -6
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +4 -3
  4. package/aws-data-api/pg/driver.d.ts +4 -3
  5. package/aws-data-api/pg/driver.js +14 -6
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs +26 -9
  8. package/aws-data-api/pg/session.cjs.map +1 -1
  9. package/aws-data-api/pg/session.d.cts +5 -4
  10. package/aws-data-api/pg/session.d.ts +5 -4
  11. package/aws-data-api/pg/session.js +26 -9
  12. package/aws-data-api/pg/session.js.map +1 -1
  13. package/better-sqlite3/driver.cjs.map +1 -1
  14. package/better-sqlite3/driver.d.cts +4 -3
  15. package/better-sqlite3/driver.d.ts +4 -3
  16. package/better-sqlite3/driver.js.map +1 -1
  17. package/better-sqlite3/session.cjs +4 -4
  18. package/better-sqlite3/session.cjs.map +1 -1
  19. package/better-sqlite3/session.d.cts +4 -4
  20. package/better-sqlite3/session.d.ts +4 -4
  21. package/better-sqlite3/session.js +4 -4
  22. package/better-sqlite3/session.js.map +1 -1
  23. package/bun-sql/driver.cjs +3 -2
  24. package/bun-sql/driver.cjs.map +1 -1
  25. package/bun-sql/driver.d.cts +4 -3
  26. package/bun-sql/driver.d.ts +4 -3
  27. package/bun-sql/driver.js +3 -2
  28. package/bun-sql/driver.js.map +1 -1
  29. package/bun-sql/session.cjs +20 -11
  30. package/bun-sql/session.cjs.map +1 -1
  31. package/bun-sql/session.d.cts +6 -5
  32. package/bun-sql/session.d.ts +6 -5
  33. package/bun-sql/session.js +20 -11
  34. package/bun-sql/session.js.map +1 -1
  35. package/bun-sqlite/driver.cjs.map +1 -1
  36. package/bun-sqlite/driver.d.cts +4 -3
  37. package/bun-sqlite/driver.d.ts +4 -3
  38. package/bun-sqlite/driver.js.map +1 -1
  39. package/bun-sqlite/session.cjs +4 -4
  40. package/bun-sqlite/session.cjs.map +1 -1
  41. package/bun-sqlite/session.d.cts +4 -4
  42. package/bun-sqlite/session.d.ts +4 -4
  43. package/bun-sqlite/session.js +4 -4
  44. package/bun-sqlite/session.js.map +1 -1
  45. package/column-builder.cjs.map +1 -1
  46. package/column-builder.d.cts +7 -2
  47. package/column-builder.d.ts +7 -2
  48. package/column-builder.js.map +1 -1
  49. package/column.cjs +2 -0
  50. package/column.cjs.map +1 -1
  51. package/column.d.cts +6 -0
  52. package/column.d.ts +6 -0
  53. package/column.js +2 -0
  54. package/column.js.map +1 -1
  55. package/d1/driver.cjs +9 -2
  56. package/d1/driver.cjs.map +1 -1
  57. package/d1/driver.d.cts +2 -1
  58. package/d1/driver.d.ts +2 -1
  59. package/d1/driver.js +9 -2
  60. package/d1/driver.js.map +1 -1
  61. package/d1/session.cjs +20 -11
  62. package/d1/session.cjs.map +1 -1
  63. package/d1/session.d.cts +8 -7
  64. package/d1/session.d.ts +8 -7
  65. package/d1/session.js +20 -11
  66. package/d1/session.js.map +1 -1
  67. package/durable-sqlite/driver.cjs.map +1 -1
  68. package/durable-sqlite/driver.d.cts +2 -1
  69. package/durable-sqlite/driver.d.ts +2 -1
  70. package/durable-sqlite/driver.js.map +1 -1
  71. package/durable-sqlite/session.cjs +5 -5
  72. package/durable-sqlite/session.cjs.map +1 -1
  73. package/durable-sqlite/session.d.cts +4 -4
  74. package/durable-sqlite/session.d.ts +4 -4
  75. package/durable-sqlite/session.js +5 -5
  76. package/durable-sqlite/session.js.map +1 -1
  77. package/expo-sqlite/driver.cjs.map +1 -1
  78. package/expo-sqlite/driver.d.cts +2 -1
  79. package/expo-sqlite/driver.d.ts +2 -1
  80. package/expo-sqlite/driver.js.map +1 -1
  81. package/expo-sqlite/session.cjs +4 -4
  82. package/expo-sqlite/session.cjs.map +1 -1
  83. package/expo-sqlite/session.d.cts +4 -4
  84. package/expo-sqlite/session.d.ts +4 -4
  85. package/expo-sqlite/session.js +4 -4
  86. package/expo-sqlite/session.js.map +1 -1
  87. package/extension-core/gel/index.cjs +33 -0
  88. package/extension-core/gel/index.cjs.map +1 -0
  89. package/extension-core/gel/index.d.cts +67 -0
  90. package/extension-core/gel/index.d.ts +67 -0
  91. package/extension-core/gel/index.js +9 -0
  92. package/extension-core/gel/index.js.map +1 -0
  93. package/extension-core/index.cjs +42 -0
  94. package/extension-core/index.cjs.map +1 -0
  95. package/extension-core/index.d.cts +9 -0
  96. package/extension-core/index.d.ts +9 -0
  97. package/extension-core/index.js +15 -0
  98. package/extension-core/index.js.map +1 -0
  99. package/extension-core/mysql/index.cjs +33 -0
  100. package/extension-core/mysql/index.cjs.map +1 -0
  101. package/extension-core/mysql/index.d.cts +69 -0
  102. package/extension-core/mysql/index.d.ts +69 -0
  103. package/extension-core/mysql/index.js +9 -0
  104. package/extension-core/mysql/index.js.map +1 -0
  105. package/extension-core/pg/index.cjs +33 -0
  106. package/extension-core/pg/index.cjs.map +1 -0
  107. package/extension-core/pg/index.d.cts +67 -0
  108. package/extension-core/pg/index.d.ts +67 -0
  109. package/extension-core/pg/index.js +9 -0
  110. package/extension-core/pg/index.js.map +1 -0
  111. package/extension-core/singlestore/index.cjs +33 -0
  112. package/extension-core/singlestore/index.cjs.map +1 -0
  113. package/extension-core/singlestore/index.d.cts +67 -0
  114. package/extension-core/singlestore/index.d.ts +67 -0
  115. package/extension-core/singlestore/index.js +9 -0
  116. package/extension-core/singlestore/index.js.map +1 -0
  117. package/extension-core/sqlite/index.cjs +33 -0
  118. package/extension-core/sqlite/index.cjs.map +1 -0
  119. package/extension-core/sqlite/index.d.cts +68 -0
  120. package/extension-core/sqlite/index.d.ts +68 -0
  121. package/extension-core/sqlite/index.js +9 -0
  122. package/extension-core/sqlite/index.js.map +1 -0
  123. package/extensions/hook/gel/index.cjs +47 -0
  124. package/extensions/hook/gel/index.cjs.map +1 -0
  125. package/extensions/hook/gel/index.d.cts +11 -0
  126. package/extensions/hook/gel/index.d.ts +11 -0
  127. package/extensions/hook/gel/index.js +22 -0
  128. package/extensions/hook/gel/index.js.map +1 -0
  129. package/extensions/hook/mysql/index.cjs +47 -0
  130. package/extensions/hook/mysql/index.cjs.map +1 -0
  131. package/extensions/hook/mysql/index.d.cts +11 -0
  132. package/extensions/hook/mysql/index.d.ts +11 -0
  133. package/extensions/hook/mysql/index.js +22 -0
  134. package/extensions/hook/mysql/index.js.map +1 -0
  135. package/extensions/hook/pg/index.cjs +47 -0
  136. package/extensions/hook/pg/index.cjs.map +1 -0
  137. package/extensions/hook/pg/index.d.cts +11 -0
  138. package/extensions/hook/pg/index.d.ts +11 -0
  139. package/extensions/hook/pg/index.js +22 -0
  140. package/extensions/hook/pg/index.js.map +1 -0
  141. package/extensions/hook/singlestore/index.cjs +47 -0
  142. package/extensions/hook/singlestore/index.cjs.map +1 -0
  143. package/extensions/hook/singlestore/index.d.cts +11 -0
  144. package/extensions/hook/singlestore/index.d.ts +11 -0
  145. package/extensions/hook/singlestore/index.js +22 -0
  146. package/extensions/hook/singlestore/index.js.map +1 -0
  147. package/extensions/hook/sqlite/index.cjs +47 -0
  148. package/extensions/hook/sqlite/index.cjs.map +1 -0
  149. package/extensions/hook/sqlite/index.d.cts +11 -0
  150. package/extensions/hook/sqlite/index.d.ts +11 -0
  151. package/extensions/hook/sqlite/index.js +22 -0
  152. package/extensions/hook/sqlite/index.js.map +1 -0
  153. package/extensions/s3-file/common.cjs +313 -0
  154. package/extensions/s3-file/common.cjs.map +1 -0
  155. package/extensions/s3-file/common.d.cts +88 -0
  156. package/extensions/s3-file/common.d.ts +88 -0
  157. package/extensions/s3-file/common.js +280 -0
  158. package/extensions/s3-file/common.js.map +1 -0
  159. package/extensions/s3-file/gel/column.cjs +113 -0
  160. package/extensions/s3-file/gel/column.cjs.map +1 -0
  161. package/extensions/s3-file/gel/column.d.cts +105 -0
  162. package/extensions/s3-file/gel/column.d.ts +105 -0
  163. package/extensions/s3-file/gel/column.js +92 -0
  164. package/extensions/s3-file/gel/column.js.map +1 -0
  165. package/extensions/s3-file/gel/extension.cjs +262 -0
  166. package/extensions/s3-file/gel/extension.cjs.map +1 -0
  167. package/extensions/s3-file/gel/extension.d.cts +18 -0
  168. package/extensions/s3-file/gel/extension.d.ts +18 -0
  169. package/extensions/s3-file/gel/extension.js +248 -0
  170. package/extensions/s3-file/gel/extension.js.map +1 -0
  171. package/extensions/s3-file/gel/index.cjs +25 -0
  172. package/extensions/s3-file/gel/index.cjs.map +1 -0
  173. package/extensions/s3-file/gel/index.d.cts +2 -0
  174. package/extensions/s3-file/gel/index.d.ts +2 -0
  175. package/extensions/s3-file/gel/index.js +3 -0
  176. package/extensions/s3-file/gel/index.js.map +1 -0
  177. package/extensions/s3-file/index.cjs +23 -0
  178. package/extensions/s3-file/index.cjs.map +1 -0
  179. package/extensions/s3-file/index.d.cts +1 -0
  180. package/extensions/s3-file/index.d.ts +1 -0
  181. package/extensions/s3-file/index.js +2 -0
  182. package/extensions/s3-file/index.js.map +1 -0
  183. package/extensions/s3-file/mysql/column.cjs +110 -0
  184. package/extensions/s3-file/mysql/column.cjs.map +1 -0
  185. package/extensions/s3-file/mysql/column.d.cts +63 -0
  186. package/extensions/s3-file/mysql/column.d.ts +63 -0
  187. package/extensions/s3-file/mysql/column.js +86 -0
  188. package/extensions/s3-file/mysql/column.js.map +1 -0
  189. package/extensions/s3-file/mysql/extension.cjs +242 -0
  190. package/extensions/s3-file/mysql/extension.cjs.map +1 -0
  191. package/extensions/s3-file/mysql/extension.d.cts +18 -0
  192. package/extensions/s3-file/mysql/extension.d.ts +18 -0
  193. package/extensions/s3-file/mysql/extension.js +228 -0
  194. package/extensions/s3-file/mysql/extension.js.map +1 -0
  195. package/extensions/s3-file/mysql/index.cjs +25 -0
  196. package/extensions/s3-file/mysql/index.cjs.map +1 -0
  197. package/extensions/s3-file/mysql/index.d.cts +2 -0
  198. package/extensions/s3-file/mysql/index.d.ts +2 -0
  199. package/extensions/s3-file/mysql/index.js +3 -0
  200. package/extensions/s3-file/mysql/index.js.map +1 -0
  201. package/extensions/s3-file/pg/column.cjs +113 -0
  202. package/extensions/s3-file/pg/column.cjs.map +1 -0
  203. package/extensions/s3-file/pg/column.d.cts +105 -0
  204. package/extensions/s3-file/pg/column.d.ts +105 -0
  205. package/extensions/s3-file/pg/column.js +92 -0
  206. package/extensions/s3-file/pg/column.js.map +1 -0
  207. package/extensions/s3-file/pg/extension.cjs +264 -0
  208. package/extensions/s3-file/pg/extension.cjs.map +1 -0
  209. package/extensions/s3-file/pg/extension.d.cts +18 -0
  210. package/extensions/s3-file/pg/extension.d.ts +18 -0
  211. package/extensions/s3-file/pg/extension.js +250 -0
  212. package/extensions/s3-file/pg/extension.js.map +1 -0
  213. package/extensions/s3-file/pg/index.cjs +25 -0
  214. package/extensions/s3-file/pg/index.cjs.map +1 -0
  215. package/extensions/s3-file/pg/index.d.cts +2 -0
  216. package/extensions/s3-file/pg/index.d.ts +2 -0
  217. package/extensions/s3-file/pg/index.js +3 -0
  218. package/extensions/s3-file/pg/index.js.map +1 -0
  219. package/extensions/s3-file/singlestore/column.cjs +110 -0
  220. package/extensions/s3-file/singlestore/column.cjs.map +1 -0
  221. package/extensions/s3-file/singlestore/column.d.cts +63 -0
  222. package/extensions/s3-file/singlestore/column.d.ts +63 -0
  223. package/extensions/s3-file/singlestore/column.js +86 -0
  224. package/extensions/s3-file/singlestore/column.js.map +1 -0
  225. package/extensions/s3-file/singlestore/extension.cjs +239 -0
  226. package/extensions/s3-file/singlestore/extension.cjs.map +1 -0
  227. package/extensions/s3-file/singlestore/extension.d.cts +18 -0
  228. package/extensions/s3-file/singlestore/extension.d.ts +18 -0
  229. package/extensions/s3-file/singlestore/extension.js +225 -0
  230. package/extensions/s3-file/singlestore/extension.js.map +1 -0
  231. package/extensions/s3-file/singlestore/index.cjs +25 -0
  232. package/extensions/s3-file/singlestore/index.cjs.map +1 -0
  233. package/extensions/s3-file/singlestore/index.d.cts +2 -0
  234. package/extensions/s3-file/singlestore/index.d.ts +2 -0
  235. package/extensions/s3-file/singlestore/index.js +3 -0
  236. package/extensions/s3-file/singlestore/index.js.map +1 -0
  237. package/extensions/s3-file/sqlite/column.cjs +110 -0
  238. package/extensions/s3-file/sqlite/column.cjs.map +1 -0
  239. package/extensions/s3-file/sqlite/column.d.cts +63 -0
  240. package/extensions/s3-file/sqlite/column.d.ts +63 -0
  241. package/extensions/s3-file/sqlite/column.js +86 -0
  242. package/extensions/s3-file/sqlite/column.js.map +1 -0
  243. package/extensions/s3-file/sqlite/extension.cjs +242 -0
  244. package/extensions/s3-file/sqlite/extension.cjs.map +1 -0
  245. package/extensions/s3-file/sqlite/extension.d.cts +18 -0
  246. package/extensions/s3-file/sqlite/extension.d.ts +18 -0
  247. package/extensions/s3-file/sqlite/extension.js +228 -0
  248. package/extensions/s3-file/sqlite/extension.js.map +1 -0
  249. package/extensions/s3-file/sqlite/index.cjs +25 -0
  250. package/extensions/s3-file/sqlite/index.cjs.map +1 -0
  251. package/extensions/s3-file/sqlite/index.d.cts +2 -0
  252. package/extensions/s3-file/sqlite/index.d.ts +2 -0
  253. package/extensions/s3-file/sqlite/index.js +3 -0
  254. package/extensions/s3-file/sqlite/index.js.map +1 -0
  255. package/gel/driver.cjs +6 -4
  256. package/gel/driver.cjs.map +1 -1
  257. package/gel/driver.d.cts +6 -4
  258. package/gel/driver.d.ts +6 -4
  259. package/gel/driver.js +6 -4
  260. package/gel/driver.js.map +1 -1
  261. package/gel/session.cjs +12 -9
  262. package/gel/session.cjs.map +1 -1
  263. package/gel/session.d.cts +5 -4
  264. package/gel/session.d.ts +5 -4
  265. package/gel/session.js +12 -9
  266. package/gel/session.js.map +1 -1
  267. package/gel-core/columns/common.cjs +8 -0
  268. package/gel-core/columns/common.cjs.map +1 -1
  269. package/gel-core/columns/common.d.cts +2 -0
  270. package/gel-core/columns/common.d.ts +2 -0
  271. package/gel-core/columns/common.js +8 -0
  272. package/gel-core/columns/common.js.map +1 -1
  273. package/gel-core/db.cjs +5 -3
  274. package/gel-core/db.cjs.map +1 -1
  275. package/gel-core/db.d.cts +3 -1
  276. package/gel-core/db.d.ts +3 -1
  277. package/gel-core/db.js +5 -3
  278. package/gel-core/db.js.map +1 -1
  279. package/gel-core/dialect.cjs +24 -19
  280. package/gel-core/dialect.cjs.map +1 -1
  281. package/gel-core/dialect.d.cts +7 -6
  282. package/gel-core/dialect.d.ts +7 -6
  283. package/gel-core/dialect.js +25 -20
  284. package/gel-core/dialect.js.map +1 -1
  285. package/gel-core/query-builders/delete.cjs +19 -5
  286. package/gel-core/query-builders/delete.cjs.map +1 -1
  287. package/gel-core/query-builders/delete.js +19 -5
  288. package/gel-core/query-builders/delete.js.map +1 -1
  289. package/gel-core/query-builders/insert.cjs +44 -9
  290. package/gel-core/query-builders/insert.cjs.map +1 -1
  291. package/gel-core/query-builders/insert.js +46 -11
  292. package/gel-core/query-builders/insert.js.map +1 -1
  293. package/gel-core/query-builders/query.cjs +15 -2
  294. package/gel-core/query-builders/query.cjs.map +1 -1
  295. package/gel-core/query-builders/query.js +15 -2
  296. package/gel-core/query-builders/query.js.map +1 -1
  297. package/gel-core/query-builders/select.cjs +21 -5
  298. package/gel-core/query-builders/select.cjs.map +1 -1
  299. package/gel-core/query-builders/select.d.cts +9 -9
  300. package/gel-core/query-builders/select.d.ts +9 -9
  301. package/gel-core/query-builders/select.js +21 -5
  302. package/gel-core/query-builders/select.js.map +1 -1
  303. package/gel-core/query-builders/select.types.cjs.map +1 -1
  304. package/gel-core/query-builders/select.types.d.cts +2 -1
  305. package/gel-core/query-builders/select.types.d.ts +2 -1
  306. package/gel-core/query-builders/update.cjs +20 -6
  307. package/gel-core/query-builders/update.cjs.map +1 -1
  308. package/gel-core/query-builders/update.js +20 -6
  309. package/gel-core/query-builders/update.js.map +1 -1
  310. package/gel-core/session.cjs +47 -4
  311. package/gel-core/session.cjs.map +1 -1
  312. package/gel-core/session.d.cts +11 -5
  313. package/gel-core/session.d.ts +11 -5
  314. package/gel-core/session.js +47 -4
  315. package/gel-core/session.js.map +1 -1
  316. package/libsql/driver-core.cjs +3 -2
  317. package/libsql/driver-core.cjs.map +1 -1
  318. package/libsql/driver-core.js +3 -2
  319. package/libsql/driver-core.js.map +1 -1
  320. package/libsql/driver.cjs +4 -1
  321. package/libsql/driver.cjs.map +1 -1
  322. package/libsql/driver.d.cts +4 -3
  323. package/libsql/driver.d.ts +4 -3
  324. package/libsql/driver.js +4 -1
  325. package/libsql/driver.js.map +1 -1
  326. package/libsql/http/index.cjs +4 -1
  327. package/libsql/http/index.cjs.map +1 -1
  328. package/libsql/http/index.d.cts +4 -3
  329. package/libsql/http/index.d.ts +4 -3
  330. package/libsql/http/index.js +4 -1
  331. package/libsql/http/index.js.map +1 -1
  332. package/libsql/node/index.cjs +4 -1
  333. package/libsql/node/index.cjs.map +1 -1
  334. package/libsql/node/index.d.cts +4 -3
  335. package/libsql/node/index.d.ts +4 -3
  336. package/libsql/node/index.js +4 -1
  337. package/libsql/node/index.js.map +1 -1
  338. package/libsql/session.cjs +29 -12
  339. package/libsql/session.cjs.map +1 -1
  340. package/libsql/session.d.cts +8 -7
  341. package/libsql/session.d.ts +8 -7
  342. package/libsql/session.js +29 -12
  343. package/libsql/session.js.map +1 -1
  344. package/libsql/sqlite3/index.cjs +4 -1
  345. package/libsql/sqlite3/index.cjs.map +1 -1
  346. package/libsql/sqlite3/index.d.cts +4 -3
  347. package/libsql/sqlite3/index.d.ts +4 -3
  348. package/libsql/sqlite3/index.js +4 -1
  349. package/libsql/sqlite3/index.js.map +1 -1
  350. package/libsql/wasm/index.cjs +4 -1
  351. package/libsql/wasm/index.cjs.map +1 -1
  352. package/libsql/wasm/index.d.cts +4 -3
  353. package/libsql/wasm/index.d.ts +4 -3
  354. package/libsql/wasm/index.js +4 -1
  355. package/libsql/wasm/index.js.map +1 -1
  356. package/libsql/web/index.cjs +4 -1
  357. package/libsql/web/index.cjs.map +1 -1
  358. package/libsql/web/index.d.cts +4 -3
  359. package/libsql/web/index.d.ts +4 -3
  360. package/libsql/web/index.js +4 -1
  361. package/libsql/web/index.js.map +1 -1
  362. package/libsql/ws/index.cjs +4 -1
  363. package/libsql/ws/index.cjs.map +1 -1
  364. package/libsql/ws/index.d.cts +4 -3
  365. package/libsql/ws/index.d.ts +4 -3
  366. package/libsql/ws/index.js +4 -1
  367. package/libsql/ws/index.js.map +1 -1
  368. package/mysql-core/db.cjs +5 -3
  369. package/mysql-core/db.cjs.map +1 -1
  370. package/mysql-core/db.d.cts +3 -1
  371. package/mysql-core/db.d.ts +3 -1
  372. package/mysql-core/db.js +5 -3
  373. package/mysql-core/db.js.map +1 -1
  374. package/mysql-core/dialect.cjs +29 -23
  375. package/mysql-core/dialect.cjs.map +1 -1
  376. package/mysql-core/dialect.d.cts +8 -7
  377. package/mysql-core/dialect.d.ts +8 -7
  378. package/mysql-core/dialect.js +30 -24
  379. package/mysql-core/dialect.js.map +1 -1
  380. package/mysql-core/query-builders/delete.cjs +8 -1
  381. package/mysql-core/query-builders/delete.cjs.map +1 -1
  382. package/mysql-core/query-builders/delete.js +8 -1
  383. package/mysql-core/query-builders/delete.js.map +1 -1
  384. package/mysql-core/query-builders/insert.cjs +30 -6
  385. package/mysql-core/query-builders/insert.cjs.map +1 -1
  386. package/mysql-core/query-builders/insert.js +32 -8
  387. package/mysql-core/query-builders/insert.js.map +1 -1
  388. package/mysql-core/query-builders/query.cjs +19 -3
  389. package/mysql-core/query-builders/query.cjs.map +1 -1
  390. package/mysql-core/query-builders/query.js +19 -3
  391. package/mysql-core/query-builders/query.js.map +1 -1
  392. package/mysql-core/query-builders/select.cjs +23 -6
  393. package/mysql-core/query-builders/select.cjs.map +1 -1
  394. package/mysql-core/query-builders/select.d.cts +8 -8
  395. package/mysql-core/query-builders/select.d.ts +8 -8
  396. package/mysql-core/query-builders/select.js +23 -6
  397. package/mysql-core/query-builders/select.js.map +1 -1
  398. package/mysql-core/query-builders/select.types.cjs.map +1 -1
  399. package/mysql-core/query-builders/select.types.d.cts +2 -1
  400. package/mysql-core/query-builders/select.types.d.ts +2 -1
  401. package/mysql-core/query-builders/update.cjs +15 -3
  402. package/mysql-core/query-builders/update.cjs.map +1 -1
  403. package/mysql-core/query-builders/update.js +15 -3
  404. package/mysql-core/query-builders/update.js.map +1 -1
  405. package/mysql-core/session.cjs +43 -4
  406. package/mysql-core/session.cjs.map +1 -1
  407. package/mysql-core/session.d.cts +14 -7
  408. package/mysql-core/session.d.ts +14 -7
  409. package/mysql-core/session.js +43 -4
  410. package/mysql-core/session.js.map +1 -1
  411. package/mysql-proxy/driver.cjs +3 -2
  412. package/mysql-proxy/driver.cjs.map +1 -1
  413. package/mysql-proxy/driver.d.cts +2 -1
  414. package/mysql-proxy/driver.d.ts +2 -1
  415. package/mysql-proxy/driver.js +3 -2
  416. package/mysql-proxy/driver.js.map +1 -1
  417. package/mysql-proxy/session.cjs +8 -8
  418. package/mysql-proxy/session.cjs.map +1 -1
  419. package/mysql-proxy/session.d.cts +5 -6
  420. package/mysql-proxy/session.d.ts +5 -6
  421. package/mysql-proxy/session.js +8 -8
  422. package/mysql-proxy/session.js.map +1 -1
  423. package/mysql2/driver.cjs +11 -4
  424. package/mysql2/driver.cjs.map +1 -1
  425. package/mysql2/driver.d.cts +4 -2
  426. package/mysql2/driver.d.ts +4 -2
  427. package/mysql2/driver.js +11 -4
  428. package/mysql2/driver.js.map +1 -1
  429. package/mysql2/session.cjs +14 -10
  430. package/mysql2/session.cjs.map +1 -1
  431. package/mysql2/session.d.cts +5 -5
  432. package/mysql2/session.d.ts +5 -5
  433. package/mysql2/session.js +14 -10
  434. package/mysql2/session.js.map +1 -1
  435. package/neon-http/driver.cjs +5 -3
  436. package/neon-http/driver.cjs.map +1 -1
  437. package/neon-http/driver.d.cts +6 -4
  438. package/neon-http/driver.d.ts +6 -4
  439. package/neon-http/driver.js +5 -3
  440. package/neon-http/driver.js.map +1 -1
  441. package/neon-http/session.cjs +8 -6
  442. package/neon-http/session.cjs.map +1 -1
  443. package/neon-http/session.d.cts +5 -4
  444. package/neon-http/session.d.ts +5 -4
  445. package/neon-http/session.js +8 -6
  446. package/neon-http/session.js.map +1 -1
  447. package/neon-serverless/driver.cjs +6 -4
  448. package/neon-serverless/driver.cjs.map +1 -1
  449. package/neon-serverless/driver.d.cts +6 -4
  450. package/neon-serverless/driver.d.ts +6 -4
  451. package/neon-serverless/driver.js +6 -4
  452. package/neon-serverless/driver.js.map +1 -1
  453. package/neon-serverless/session.cjs +23 -9
  454. package/neon-serverless/session.cjs.map +1 -1
  455. package/neon-serverless/session.d.cts +5 -4
  456. package/neon-serverless/session.d.ts +5 -4
  457. package/neon-serverless/session.js +23 -9
  458. package/neon-serverless/session.js.map +1 -1
  459. package/node-postgres/driver.cjs +6 -4
  460. package/node-postgres/driver.cjs.map +1 -1
  461. package/node-postgres/driver.d.cts +6 -4
  462. package/node-postgres/driver.d.ts +6 -4
  463. package/node-postgres/driver.js +6 -4
  464. package/node-postgres/driver.js.map +1 -1
  465. package/node-postgres/session.cjs +18 -9
  466. package/node-postgres/session.cjs.map +1 -1
  467. package/node-postgres/session.d.cts +5 -4
  468. package/node-postgres/session.d.ts +5 -4
  469. package/node-postgres/session.js +18 -9
  470. package/node-postgres/session.js.map +1 -1
  471. package/op-sqlite/driver.cjs +3 -2
  472. package/op-sqlite/driver.cjs.map +1 -1
  473. package/op-sqlite/driver.d.cts +2 -1
  474. package/op-sqlite/driver.d.ts +2 -1
  475. package/op-sqlite/driver.js +3 -2
  476. package/op-sqlite/driver.js.map +1 -1
  477. package/op-sqlite/session.cjs +20 -11
  478. package/op-sqlite/session.cjs.map +1 -1
  479. package/op-sqlite/session.d.cts +8 -7
  480. package/op-sqlite/session.d.ts +8 -7
  481. package/op-sqlite/session.js +20 -11
  482. package/op-sqlite/session.js.map +1 -1
  483. package/package.json +351 -5
  484. package/pg-core/columns/common.cjs +2 -0
  485. package/pg-core/columns/common.cjs.map +1 -1
  486. package/pg-core/columns/common.js +2 -0
  487. package/pg-core/columns/common.js.map +1 -1
  488. package/pg-core/db.cjs +5 -3
  489. package/pg-core/db.cjs.map +1 -1
  490. package/pg-core/db.d.cts +3 -1
  491. package/pg-core/db.d.ts +3 -1
  492. package/pg-core/db.js +5 -3
  493. package/pg-core/db.js.map +1 -1
  494. package/pg-core/dialect.cjs +25 -19
  495. package/pg-core/dialect.cjs.map +1 -1
  496. package/pg-core/dialect.d.cts +7 -6
  497. package/pg-core/dialect.d.ts +7 -6
  498. package/pg-core/dialect.js +26 -20
  499. package/pg-core/dialect.js.map +1 -1
  500. package/pg-core/query-builders/delete.cjs +19 -5
  501. package/pg-core/query-builders/delete.cjs.map +1 -1
  502. package/pg-core/query-builders/delete.js +19 -5
  503. package/pg-core/query-builders/delete.js.map +1 -1
  504. package/pg-core/query-builders/insert.cjs +49 -9
  505. package/pg-core/query-builders/insert.cjs.map +1 -1
  506. package/pg-core/query-builders/insert.js +51 -11
  507. package/pg-core/query-builders/insert.js.map +1 -1
  508. package/pg-core/query-builders/query.cjs +15 -2
  509. package/pg-core/query-builders/query.cjs.map +1 -1
  510. package/pg-core/query-builders/query.js +15 -2
  511. package/pg-core/query-builders/query.js.map +1 -1
  512. package/pg-core/query-builders/select.cjs +23 -7
  513. package/pg-core/query-builders/select.cjs.map +1 -1
  514. package/pg-core/query-builders/select.d.cts +9 -9
  515. package/pg-core/query-builders/select.d.ts +9 -9
  516. package/pg-core/query-builders/select.js +23 -7
  517. package/pg-core/query-builders/select.js.map +1 -1
  518. package/pg-core/query-builders/select.types.cjs.map +1 -1
  519. package/pg-core/query-builders/select.types.d.cts +2 -1
  520. package/pg-core/query-builders/select.types.d.ts +2 -1
  521. package/pg-core/query-builders/update.cjs +20 -6
  522. package/pg-core/query-builders/update.cjs.map +1 -1
  523. package/pg-core/query-builders/update.js +20 -6
  524. package/pg-core/query-builders/update.js.map +1 -1
  525. package/pg-core/session.cjs +48 -4
  526. package/pg-core/session.cjs.map +1 -1
  527. package/pg-core/session.d.cts +12 -6
  528. package/pg-core/session.d.ts +12 -6
  529. package/pg-core/session.js +48 -4
  530. package/pg-core/session.js.map +1 -1
  531. package/pg-proxy/driver.cjs +3 -2
  532. package/pg-proxy/driver.cjs.map +1 -1
  533. package/pg-proxy/driver.d.cts +2 -1
  534. package/pg-proxy/driver.d.ts +2 -1
  535. package/pg-proxy/driver.js +3 -2
  536. package/pg-proxy/driver.js.map +1 -1
  537. package/pg-proxy/session.cjs +8 -6
  538. package/pg-proxy/session.cjs.map +1 -1
  539. package/pg-proxy/session.d.cts +5 -4
  540. package/pg-proxy/session.d.ts +5 -4
  541. package/pg-proxy/session.js +8 -6
  542. package/pg-proxy/session.js.map +1 -1
  543. package/pglite/driver.cjs +6 -4
  544. package/pglite/driver.cjs.map +1 -1
  545. package/pglite/driver.d.cts +6 -4
  546. package/pglite/driver.d.ts +6 -4
  547. package/pglite/driver.js +6 -4
  548. package/pglite/driver.js.map +1 -1
  549. package/pglite/session.cjs +19 -9
  550. package/pglite/session.cjs.map +1 -1
  551. package/pglite/session.d.cts +5 -4
  552. package/pglite/session.d.ts +5 -4
  553. package/pglite/session.js +19 -9
  554. package/pglite/session.js.map +1 -1
  555. package/planetscale-serverless/driver.cjs +10 -2
  556. package/planetscale-serverless/driver.cjs.map +1 -1
  557. package/planetscale-serverless/driver.d.cts +4 -3
  558. package/planetscale-serverless/driver.d.ts +4 -3
  559. package/planetscale-serverless/driver.js +10 -2
  560. package/planetscale-serverless/driver.js.map +1 -1
  561. package/planetscale-serverless/session.cjs +23 -13
  562. package/planetscale-serverless/session.cjs.map +1 -1
  563. package/planetscale-serverless/session.d.cts +6 -7
  564. package/planetscale-serverless/session.d.ts +6 -7
  565. package/planetscale-serverless/session.js +23 -13
  566. package/planetscale-serverless/session.js.map +1 -1
  567. package/postgres-js/driver.cjs +3 -2
  568. package/postgres-js/driver.cjs.map +1 -1
  569. package/postgres-js/driver.d.cts +4 -3
  570. package/postgres-js/driver.d.ts +4 -3
  571. package/postgres-js/driver.js +3 -2
  572. package/postgres-js/driver.js.map +1 -1
  573. package/postgres-js/session.cjs +27 -16
  574. package/postgres-js/session.cjs.map +1 -1
  575. package/postgres-js/session.d.cts +6 -5
  576. package/postgres-js/session.d.ts +6 -5
  577. package/postgres-js/session.js +27 -16
  578. package/postgres-js/session.js.map +1 -1
  579. package/prisma/mysql/driver.cjs +3 -3
  580. package/prisma/mysql/driver.cjs.map +1 -1
  581. package/prisma/mysql/driver.d.cts +3 -2
  582. package/prisma/mysql/driver.d.ts +3 -2
  583. package/prisma/mysql/driver.js +3 -3
  584. package/prisma/mysql/driver.js.map +1 -1
  585. package/prisma/mysql/session.cjs +10 -11
  586. package/prisma/mysql/session.cjs.map +1 -1
  587. package/prisma/mysql/session.d.cts +10 -5
  588. package/prisma/mysql/session.d.ts +10 -5
  589. package/prisma/mysql/session.js +10 -11
  590. package/prisma/mysql/session.js.map +1 -1
  591. package/prisma/pg/driver.cjs +3 -3
  592. package/prisma/pg/driver.cjs.map +1 -1
  593. package/prisma/pg/driver.d.cts +2 -1
  594. package/prisma/pg/driver.d.ts +2 -1
  595. package/prisma/pg/driver.js +3 -3
  596. package/prisma/pg/driver.js.map +1 -1
  597. package/prisma/pg/session.cjs +7 -7
  598. package/prisma/pg/session.cjs.map +1 -1
  599. package/prisma/pg/session.d.cts +10 -5
  600. package/prisma/pg/session.d.ts +10 -5
  601. package/prisma/pg/session.js +7 -7
  602. package/prisma/pg/session.js.map +1 -1
  603. package/prisma/sqlite/driver.cjs +7 -1
  604. package/prisma/sqlite/driver.cjs.map +1 -1
  605. package/prisma/sqlite/driver.d.cts +2 -1
  606. package/prisma/sqlite/driver.d.ts +2 -1
  607. package/prisma/sqlite/driver.js +7 -1
  608. package/prisma/sqlite/driver.js.map +1 -1
  609. package/prisma/sqlite/session.cjs +10 -10
  610. package/prisma/sqlite/session.cjs.map +1 -1
  611. package/prisma/sqlite/session.d.cts +12 -7
  612. package/prisma/sqlite/session.d.ts +12 -7
  613. package/prisma/sqlite/session.js +10 -10
  614. package/prisma/sqlite/session.js.map +1 -1
  615. package/singlestore/driver.cjs +34 -25
  616. package/singlestore/driver.cjs.map +1 -1
  617. package/singlestore/driver.d.cts +4 -2
  618. package/singlestore/driver.d.ts +4 -2
  619. package/singlestore/driver.js +34 -25
  620. package/singlestore/driver.js.map +1 -1
  621. package/singlestore/session.cjs +14 -10
  622. package/singlestore/session.cjs.map +1 -1
  623. package/singlestore/session.d.cts +5 -5
  624. package/singlestore/session.d.ts +5 -5
  625. package/singlestore/session.js +14 -10
  626. package/singlestore/session.js.map +1 -1
  627. package/singlestore-core/db.cjs +5 -3
  628. package/singlestore-core/db.cjs.map +1 -1
  629. package/singlestore-core/db.d.cts +3 -1
  630. package/singlestore-core/db.d.ts +3 -1
  631. package/singlestore-core/db.js +5 -3
  632. package/singlestore-core/db.js.map +1 -1
  633. package/singlestore-core/dialect.cjs +24 -18
  634. package/singlestore-core/dialect.cjs.map +1 -1
  635. package/singlestore-core/dialect.d.cts +7 -6
  636. package/singlestore-core/dialect.d.ts +7 -6
  637. package/singlestore-core/dialect.js +25 -19
  638. package/singlestore-core/dialect.js.map +1 -1
  639. package/singlestore-core/query-builders/delete.cjs +8 -1
  640. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  641. package/singlestore-core/query-builders/delete.js +8 -1
  642. package/singlestore-core/query-builders/delete.js.map +1 -1
  643. package/singlestore-core/query-builders/insert.cjs +30 -5
  644. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  645. package/singlestore-core/query-builders/insert.js +32 -7
  646. package/singlestore-core/query-builders/insert.js.map +1 -1
  647. package/singlestore-core/query-builders/query.cjs +17 -2
  648. package/singlestore-core/query-builders/query.cjs.map +1 -1
  649. package/singlestore-core/query-builders/query.js +17 -2
  650. package/singlestore-core/query-builders/query.js.map +1 -1
  651. package/singlestore-core/query-builders/select.cjs +24 -7
  652. package/singlestore-core/query-builders/select.cjs.map +1 -1
  653. package/singlestore-core/query-builders/select.d.cts +9 -9
  654. package/singlestore-core/query-builders/select.d.ts +9 -9
  655. package/singlestore-core/query-builders/select.js +24 -7
  656. package/singlestore-core/query-builders/select.js.map +1 -1
  657. package/singlestore-core/query-builders/select.types.cjs.map +1 -1
  658. package/singlestore-core/query-builders/select.types.d.cts +2 -1
  659. package/singlestore-core/query-builders/select.types.d.ts +2 -1
  660. package/singlestore-core/query-builders/update.cjs +9 -2
  661. package/singlestore-core/query-builders/update.cjs.map +1 -1
  662. package/singlestore-core/query-builders/update.js +9 -2
  663. package/singlestore-core/query-builders/update.js.map +1 -1
  664. package/singlestore-core/session.cjs +43 -4
  665. package/singlestore-core/session.cjs.map +1 -1
  666. package/singlestore-core/session.d.cts +14 -6
  667. package/singlestore-core/session.d.ts +14 -6
  668. package/singlestore-core/session.js +43 -4
  669. package/singlestore-core/session.js.map +1 -1
  670. package/singlestore-proxy/driver.cjs +3 -2
  671. package/singlestore-proxy/driver.cjs.map +1 -1
  672. package/singlestore-proxy/driver.d.cts +2 -1
  673. package/singlestore-proxy/driver.d.ts +2 -1
  674. package/singlestore-proxy/driver.js +3 -2
  675. package/singlestore-proxy/driver.js.map +1 -1
  676. package/singlestore-proxy/session.cjs +8 -8
  677. package/singlestore-proxy/session.cjs.map +1 -1
  678. package/singlestore-proxy/session.d.cts +9 -6
  679. package/singlestore-proxy/session.d.ts +9 -6
  680. package/singlestore-proxy/session.js +8 -8
  681. package/singlestore-proxy/session.js.map +1 -1
  682. package/sql/sql.cjs +24 -2
  683. package/sql/sql.cjs.map +1 -1
  684. package/sql/sql.d.cts +12 -0
  685. package/sql/sql.d.ts +12 -0
  686. package/sql/sql.js +23 -2
  687. package/sql/sql.js.map +1 -1
  688. package/sql-js/driver.cjs.map +1 -1
  689. package/sql-js/driver.d.cts +2 -1
  690. package/sql-js/driver.d.ts +2 -1
  691. package/sql-js/driver.js.map +1 -1
  692. package/sql-js/session.cjs +4 -4
  693. package/sql-js/session.cjs.map +1 -1
  694. package/sql-js/session.d.cts +4 -4
  695. package/sql-js/session.d.ts +4 -4
  696. package/sql-js/session.js +4 -4
  697. package/sql-js/session.js.map +1 -1
  698. package/sqlite-core/db.cjs +5 -3
  699. package/sqlite-core/db.cjs.map +1 -1
  700. package/sqlite-core/db.d.cts +3 -1
  701. package/sqlite-core/db.d.ts +3 -1
  702. package/sqlite-core/db.js +5 -3
  703. package/sqlite-core/db.js.map +1 -1
  704. package/sqlite-core/dialect.cjs +29 -19
  705. package/sqlite-core/dialect.cjs.map +1 -1
  706. package/sqlite-core/dialect.d.cts +7 -6
  707. package/sqlite-core/dialect.d.ts +7 -6
  708. package/sqlite-core/dialect.js +30 -20
  709. package/sqlite-core/dialect.js.map +1 -1
  710. package/sqlite-core/query-builders/delete.cjs +8 -1
  711. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  712. package/sqlite-core/query-builders/delete.js +8 -1
  713. package/sqlite-core/query-builders/delete.js.map +1 -1
  714. package/sqlite-core/query-builders/insert.cjs +28 -4
  715. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  716. package/sqlite-core/query-builders/insert.js +35 -6
  717. package/sqlite-core/query-builders/insert.js.map +1 -1
  718. package/sqlite-core/query-builders/query.cjs +15 -2
  719. package/sqlite-core/query-builders/query.cjs.map +1 -1
  720. package/sqlite-core/query-builders/query.js +15 -2
  721. package/sqlite-core/query-builders/query.js.map +1 -1
  722. package/sqlite-core/query-builders/select.cjs +15 -6
  723. package/sqlite-core/query-builders/select.cjs.map +1 -1
  724. package/sqlite-core/query-builders/select.d.cts +6 -6
  725. package/sqlite-core/query-builders/select.d.ts +6 -6
  726. package/sqlite-core/query-builders/select.js +15 -6
  727. package/sqlite-core/query-builders/select.js.map +1 -1
  728. package/sqlite-core/query-builders/select.types.cjs.map +1 -1
  729. package/sqlite-core/query-builders/select.types.d.cts +2 -1
  730. package/sqlite-core/query-builders/select.types.d.ts +2 -1
  731. package/sqlite-core/query-builders/update.cjs +9 -2
  732. package/sqlite-core/query-builders/update.cjs.map +1 -1
  733. package/sqlite-core/query-builders/update.js +9 -2
  734. package/sqlite-core/query-builders/update.js.map +1 -1
  735. package/sqlite-core/session.cjs +81 -6
  736. package/sqlite-core/session.cjs.map +1 -1
  737. package/sqlite-core/session.d.cts +19 -9
  738. package/sqlite-core/session.d.ts +19 -9
  739. package/sqlite-core/session.js +81 -6
  740. package/sqlite-core/session.js.map +1 -1
  741. package/sqlite-proxy/driver.cjs +4 -3
  742. package/sqlite-proxy/driver.cjs.map +1 -1
  743. package/sqlite-proxy/driver.d.cts +3 -2
  744. package/sqlite-proxy/driver.d.ts +3 -2
  745. package/sqlite-proxy/driver.js +4 -3
  746. package/sqlite-proxy/driver.js.map +1 -1
  747. package/sqlite-proxy/session.cjs +20 -11
  748. package/sqlite-proxy/session.cjs.map +1 -1
  749. package/sqlite-proxy/session.d.cts +8 -7
  750. package/sqlite-proxy/session.d.ts +8 -7
  751. package/sqlite-proxy/session.js +20 -11
  752. package/sqlite-proxy/session.js.map +1 -1
  753. package/tidb-serverless/driver.cjs +16 -2
  754. package/tidb-serverless/driver.cjs.map +1 -1
  755. package/tidb-serverless/driver.d.cts +4 -3
  756. package/tidb-serverless/driver.d.ts +4 -3
  757. package/tidb-serverless/driver.js +16 -2
  758. package/tidb-serverless/driver.js.map +1 -1
  759. package/tidb-serverless/session.cjs +23 -13
  760. package/tidb-serverless/session.cjs.map +1 -1
  761. package/tidb-serverless/session.d.cts +6 -7
  762. package/tidb-serverless/session.d.ts +6 -7
  763. package/tidb-serverless/session.js +23 -13
  764. package/tidb-serverless/session.js.map +1 -1
  765. package/tracing.cjs.map +1 -1
  766. package/tracing.js.map +1 -1
  767. package/utils.cjs +38 -2
  768. package/utils.cjs.map +1 -1
  769. package/utils.d.cts +6 -2
  770. package/utils.d.ts +6 -2
  771. package/utils.js +39 -4
  772. package/utils.js.map +1 -1
  773. package/vercel-postgres/driver.cjs +10 -5
  774. package/vercel-postgres/driver.cjs.map +1 -1
  775. package/vercel-postgres/driver.d.cts +6 -4
  776. package/vercel-postgres/driver.d.ts +6 -4
  777. package/vercel-postgres/driver.js +10 -5
  778. package/vercel-postgres/driver.js.map +1 -1
  779. package/vercel-postgres/session.cjs +18 -9
  780. package/vercel-postgres/session.cjs.map +1 -1
  781. package/vercel-postgres/session.d.cts +5 -4
  782. package/vercel-postgres/session.d.ts +5 -4
  783. package/vercel-postgres/session.js +18 -9
  784. package/vercel-postgres/session.js.map +1 -1
  785. package/version.cjs +1 -1
  786. package/version.d.cts +1 -1
  787. package/version.d.ts +1 -1
  788. package/version.js +1 -1
  789. package/xata-http/driver.cjs +7 -4
  790. package/xata-http/driver.cjs.map +1 -1
  791. package/xata-http/driver.d.cts +4 -2
  792. package/xata-http/driver.d.ts +4 -2
  793. package/xata-http/driver.js +7 -4
  794. package/xata-http/driver.js.map +1 -1
  795. package/xata-http/session.cjs +8 -6
  796. package/xata-http/session.cjs.map +1 -1
  797. package/xata-http/session.d.cts +5 -4
  798. package/xata-http/session.d.ts +5 -4
  799. package/xata-http/session.js +8 -6
  800. package/xata-http/session.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/driver-core.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 override 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\n/** @internal */\nexport function construct<\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, cache: config.cache }, undefined);\n\tconst db = new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\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,QAA0B,UAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAGO,SAAS,UAEd,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,QAAQ,OAAO,OAAO,MAAM,GAAG,MAAS;AACrG,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC/D,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AACA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/libsql/driver-core.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.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 override 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\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(client: Client, config: DrizzleConfig<TSchema, DrizzleSQLiteExtension> = {}): 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 extensions = config.extensions;\n\tconst session = new LibSQLSession(client, dialect, schema, { logger, cache: config.cache }, undefined, extensions);\n\tconst db = new LibSQLDatabase('async', dialect, session, schema, extensions) as LibSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\treturn db as any;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAEvB,MAAM,uBAEH,mBAAgD;AAAA,EACzD,QAA0B,UAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAGO,SAAS,UAEd,QAAgB,SAAyD,CAAC,GAE1E;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,aAAa,OAAO;AAC1B,QAAM,UAAU,IAAI,cAAc,QAAQ,SAAS,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,GAAG,QAAW,UAAU;AACjH,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,SAAS,QAAQ,UAAU;AAC3E,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AACA,SAAO;AACR;","names":[]}
package/libsql/driver.cjs CHANGED
@@ -39,7 +39,10 @@ function drizzle(...params) {
39
39
  const instance = typeof connection === "string" ? (0, import_client.createClient)({ url: connection }) : (0, import_client.createClient)(connection);
40
40
  return (0, import_driver_core.construct)(instance, drizzleConfig);
41
41
  }
42
- return (0, import_driver_core.construct)(params[0], params[1]);
42
+ return (0, import_driver_core.construct)(
43
+ params[0],
44
+ params[1]
45
+ );
43
46
  }
44
47
  ((drizzle2) => {
45
48
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct as construct, type LibSQLDatabase } from './driver-core.ts';\n\nexport { LibSQLDatabase } from './driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuD;AACvD,mBAA6C;AAC7C,yBAA4D;AAE5D,IAAAA,sBAA+B;AAExB,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,4BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,YAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,4BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,4BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO,8BAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["import_driver_core","drizzle"]}
1
+ {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct as construct, type LibSQLDatabase } from './driver-core.ts';\n\nexport { LibSQLDatabase } from './driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\tparams[0] as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzleSQLiteExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuD;AAEvD,mBAA6C;AAC7C,yBAA4D;AAE5D,IAAAA,sBAA+B;AAExB,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,4BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,YAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,4BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,4BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO;AAAA,IACN,OAAO,CAAC;AAAA,IACR,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["import_driver_core","drizzle"]}
@@ -1,4 +1,5 @@
1
1
  import { type Client, type Config } from '@libsql/client';
2
+ import type { DrizzleSQLiteExtension } from "../extension-core/sqlite/index.cjs";
2
3
  import { type DrizzleConfig } from "../utils.cjs";
3
4
  import { type LibSQLDatabase } from "./driver-core.cjs";
4
5
  export { LibSQLDatabase } from "./driver-core.cjs";
@@ -6,9 +7,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
6
7
  TClient | string
7
8
  ] | [
8
9
  TClient | string,
9
- DrizzleConfig<TSchema>
10
+ DrizzleConfig<TSchema, DrizzleSQLiteExtension>
10
11
  ] | [
11
- (DrizzleConfig<TSchema> & ({
12
+ (DrizzleConfig<TSchema, DrizzleSQLiteExtension> & ({
12
13
  connection: string | Config;
13
14
  } | {
14
15
  client: TClient;
@@ -17,7 +18,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
17
18
  $client: TClient;
18
19
  };
19
20
  export declare namespace drizzle {
20
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
21
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>): LibSQLDatabase<TSchema> & {
21
22
  $client: '$client is not available on drizzle.mock()';
22
23
  };
23
24
  }
@@ -1,4 +1,5 @@
1
1
  import { type Client, type Config } from '@libsql/client';
2
+ import type { DrizzleSQLiteExtension } from "../extension-core/sqlite/index.js";
2
3
  import { type DrizzleConfig } from "../utils.js";
3
4
  import { type LibSQLDatabase } from "./driver-core.js";
4
5
  export { LibSQLDatabase } from "./driver-core.js";
@@ -6,9 +7,9 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
6
7
  TClient | string
7
8
  ] | [
8
9
  TClient | string,
9
- DrizzleConfig<TSchema>
10
+ DrizzleConfig<TSchema, DrizzleSQLiteExtension>
10
11
  ] | [
11
- (DrizzleConfig<TSchema> & ({
12
+ (DrizzleConfig<TSchema, DrizzleSQLiteExtension> & ({
12
13
  connection: string | Config;
13
14
  } | {
14
15
  client: TClient;
@@ -17,7 +18,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
17
18
  $client: TClient;
18
19
  };
19
20
  export declare namespace drizzle {
20
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
21
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>): LibSQLDatabase<TSchema> & {
21
22
  $client: '$client is not available on drizzle.mock()';
22
23
  };
23
24
  }
package/libsql/driver.js CHANGED
@@ -15,7 +15,10 @@ function drizzle(...params) {
15
15
  const instance = typeof connection === "string" ? createClient({ url: connection }) : createClient(connection);
16
16
  return construct(instance, drizzleConfig);
17
17
  }
18
- return construct(params[0], params[1]);
18
+ return construct(
19
+ params[0],
20
+ params[1]
21
+ );
19
22
  }
20
23
  ((drizzle2) => {
21
24
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct as construct, type LibSQLDatabase } from './driver-core.ts';\n\nexport { LibSQLDatabase } from './driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAmC,oBAAoB;AACvD,SAA6B,gBAAgB;AAC7C,SAAS,iBAAmD;AAE5D,SAAS,sBAAsB;AAExB,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WAAW,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,aAAa,UAAW;AAE9G,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct as construct, type LibSQLDatabase } from './driver-core.ts';\n\nexport { LibSQLDatabase } from './driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\tparams[0] as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzleSQLiteExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAmC,oBAAoB;AAEvD,SAA6B,gBAAgB;AAC7C,SAAS,iBAAmD;AAE5D,SAAS,sBAAsB;AAExB,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WAAW,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,aAAa,UAAW;AAE9G,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO;AAAA,IACN,OAAO,CAAC;AAAA,IACR,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -37,7 +37,10 @@ function drizzle(...params) {
37
37
  const instance = typeof connection === "string" ? (0, import_http.createClient)({ url: connection }) : (0, import_http.createClient)(connection);
38
38
  return (0, import_driver_core.construct)(instance, drizzleConfig);
39
39
  }
40
- return (0, import_driver_core.construct)(params[0], params[1]);
40
+ return (0, import_driver_core.construct)(
41
+ params[0],
42
+ params[1]
43
+ );
41
44
  }
42
45
  ((drizzle2) => {
43
46
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/libsql/http/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/http';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuD;AACvD,mBAA6C;AAC7C,yBAA+C;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,0BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,YAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,0BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,0BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO,8BAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../../src/libsql/http/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/http';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\tparams[0] as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzleSQLiteExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuD;AAEvD,mBAA6C;AAC7C,yBAA+C;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,0BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,YAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,0BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,0BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO;AAAA,IACN,OAAO,CAAC;AAAA,IACR,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -1,13 +1,14 @@
1
1
  import { type Client, type Config } from '@libsql/client/http';
2
+ import type { DrizzleSQLiteExtension } from "../../extension-core/sqlite/index.cjs";
2
3
  import { type DrizzleConfig } from "../../utils.cjs";
3
4
  import { type LibSQLDatabase } from "../driver-core.cjs";
4
5
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends Client = Client>(...params: [
5
6
  TClient | string
6
7
  ] | [
7
8
  TClient | string,
8
- DrizzleConfig<TSchema>
9
+ DrizzleConfig<TSchema, DrizzleSQLiteExtension>
9
10
  ] | [
10
- (DrizzleConfig<TSchema> & ({
11
+ (DrizzleConfig<TSchema, DrizzleSQLiteExtension> & ({
11
12
  connection: string | Config;
12
13
  } | {
13
14
  client: TClient;
@@ -16,7 +17,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
16
17
  $client: TClient;
17
18
  };
18
19
  export declare namespace drizzle {
19
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
20
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>): LibSQLDatabase<TSchema> & {
20
21
  $client: '$client is not available on drizzle.mock()';
21
22
  };
22
23
  }
@@ -1,13 +1,14 @@
1
1
  import { type Client, type Config } from '@libsql/client/http';
2
+ import type { DrizzleSQLiteExtension } from "../../extension-core/sqlite/index.js";
2
3
  import { type DrizzleConfig } from "../../utils.js";
3
4
  import { type LibSQLDatabase } from "../driver-core.js";
4
5
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends Client = Client>(...params: [
5
6
  TClient | string
6
7
  ] | [
7
8
  TClient | string,
8
- DrizzleConfig<TSchema>
9
+ DrizzleConfig<TSchema, DrizzleSQLiteExtension>
9
10
  ] | [
10
- (DrizzleConfig<TSchema> & ({
11
+ (DrizzleConfig<TSchema, DrizzleSQLiteExtension> & ({
11
12
  connection: string | Config;
12
13
  } | {
13
14
  client: TClient;
@@ -16,7 +17,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
16
17
  $client: TClient;
17
18
  };
18
19
  export declare namespace drizzle {
19
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
20
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>): LibSQLDatabase<TSchema> & {
20
21
  $client: '$client is not available on drizzle.mock()';
21
22
  };
22
23
  }
@@ -14,7 +14,10 @@ function drizzle(...params) {
14
14
  const instance = typeof connection === "string" ? createClient({ url: connection }) : createClient(connection);
15
15
  return construct(instance, drizzleConfig);
16
16
  }
17
- return construct(params[0], params[1]);
17
+ return construct(
18
+ params[0],
19
+ params[1]
20
+ );
18
21
  }
19
22
  ((drizzle2) => {
20
23
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/libsql/http/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/http';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAmC,oBAAoB;AACvD,SAA6B,gBAAgB;AAC7C,SAAS,iBAAsC;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WAAW,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,aAAa,UAAW;AAE9G,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../../src/libsql/http/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/http';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\tparams[0] as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzleSQLiteExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAmC,oBAAoB;AAEvD,SAA6B,gBAAgB;AAC7C,SAAS,iBAAsC;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WAAW,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,aAAa,UAAW;AAE9G,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO;AAAA,IACN,OAAO,CAAC;AAAA,IACR,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -37,7 +37,10 @@ function drizzle(...params) {
37
37
  const instance = typeof connection === "string" ? (0, import_node.createClient)({ url: connection }) : (0, import_node.createClient)(connection);
38
38
  return (0, import_driver_core.construct)(instance, drizzleConfig);
39
39
  }
40
- return (0, import_driver_core.construct)(params[0], params[1]);
40
+ return (0, import_driver_core.construct)(
41
+ params[0],
42
+ params[1]
43
+ );
41
44
  }
42
45
  ((drizzle2) => {
43
46
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/libsql/node/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/node';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuD;AACvD,mBAA6C;AAC7C,yBAA+C;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,0BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,YAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,0BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,0BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO,8BAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../../src/libsql/node/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/node';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\tparams[0] as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzleSQLiteExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuD;AAEvD,mBAA6C;AAC7C,yBAA+C;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,0BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,YAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,0BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,0BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO;AAAA,IACN,OAAO,CAAC;AAAA,IACR,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -1,13 +1,14 @@
1
1
  import { type Client, type Config } from '@libsql/client/node';
2
+ import type { DrizzleSQLiteExtension } from "../../extension-core/sqlite/index.cjs";
2
3
  import { type DrizzleConfig } from "../../utils.cjs";
3
4
  import { type LibSQLDatabase } from "../driver-core.cjs";
4
5
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends Client = Client>(...params: [
5
6
  TClient | string
6
7
  ] | [
7
8
  TClient | string,
8
- DrizzleConfig<TSchema>
9
+ DrizzleConfig<TSchema, DrizzleSQLiteExtension>
9
10
  ] | [
10
- (DrizzleConfig<TSchema> & ({
11
+ (DrizzleConfig<TSchema, DrizzleSQLiteExtension> & ({
11
12
  connection: string | Config;
12
13
  } | {
13
14
  client: TClient;
@@ -16,7 +17,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
16
17
  $client: TClient;
17
18
  };
18
19
  export declare namespace drizzle {
19
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
20
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>): LibSQLDatabase<TSchema> & {
20
21
  $client: '$client is not available on drizzle.mock()';
21
22
  };
22
23
  }
@@ -1,13 +1,14 @@
1
1
  import { type Client, type Config } from '@libsql/client/node';
2
+ import type { DrizzleSQLiteExtension } from "../../extension-core/sqlite/index.js";
2
3
  import { type DrizzleConfig } from "../../utils.js";
3
4
  import { type LibSQLDatabase } from "../driver-core.js";
4
5
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends Client = Client>(...params: [
5
6
  TClient | string
6
7
  ] | [
7
8
  TClient | string,
8
- DrizzleConfig<TSchema>
9
+ DrizzleConfig<TSchema, DrizzleSQLiteExtension>
9
10
  ] | [
10
- (DrizzleConfig<TSchema> & ({
11
+ (DrizzleConfig<TSchema, DrizzleSQLiteExtension> & ({
11
12
  connection: string | Config;
12
13
  } | {
13
14
  client: TClient;
@@ -16,7 +17,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
16
17
  $client: TClient;
17
18
  };
18
19
  export declare namespace drizzle {
19
- function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): LibSQLDatabase<TSchema> & {
20
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>): LibSQLDatabase<TSchema> & {
20
21
  $client: '$client is not available on drizzle.mock()';
21
22
  };
22
23
  }
@@ -14,7 +14,10 @@ function drizzle(...params) {
14
14
  const instance = typeof connection === "string" ? createClient({ url: connection }) : createClient(connection);
15
15
  return construct(instance, drizzleConfig);
16
16
  }
17
- return construct(params[0], params[1]);
17
+ return construct(
18
+ params[0],
19
+ params[1]
20
+ );
18
21
  }
19
22
  ((drizzle2) => {
20
23
  function mock(config) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/libsql/node/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/node';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAmC,oBAAoB;AACvD,SAA6B,gBAAgB;AAC7C,SAAS,iBAAsC;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WAAW,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,aAAa,UAAW;AAE9G,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../../src/libsql/node/index.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client/node';\nimport type { DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport { construct, type LibSQLDatabase } from '../driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, DrizzleSQLiteExtension>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(\n\t\tparams[0] as TClient,\n\t\tparams[1] as DrizzleConfig<TSchema, DrizzleSQLiteExtension> | undefined,\n\t) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleSQLiteExtension>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAmC,oBAAoB;AAEvD,SAA6B,gBAAgB;AAC7C,SAAS,iBAAsC;AAExC,SAAS,WAIZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WAAW,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,aAAa,UAAW;AAE9G,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO;AAAA,IACN,OAAO,CAAC;AAAA,IACR,OAAO,CAAC;AAAA,EACT;AACD;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -31,8 +31,8 @@ var import_sqlite_core = require("../sqlite-core/index.cjs");
31
31
  var import_session = require("../sqlite-core/session.cjs");
32
32
  var import_utils = require("../utils.cjs");
33
33
  class LibSQLSession extends import_session.SQLiteSession {
34
- constructor(client, dialect, schema, options, tx) {
35
- super(dialect);
34
+ constructor(client, dialect, schema, options, tx, extensions) {
35
+ super(dialect, extensions);
36
36
  this.client = client;
37
37
  this.schema = schema;
38
38
  this.options = options;
@@ -43,7 +43,7 @@ class LibSQLSession extends import_session.SQLiteSession {
43
43
  static [import_entity.entityKind] = "LibSQLSession";
44
44
  logger;
45
45
  cache;
46
- prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
46
+ prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig, hookContext) {
47
47
  return new LibSQLPreparedQuery(
48
48
  this.client,
49
49
  query,
@@ -55,6 +55,8 @@ class LibSQLSession extends import_session.SQLiteSession {
55
55
  this.tx,
56
56
  executeMethod,
57
57
  isResponseInArrayMode,
58
+ this.extensions,
59
+ hookContext,
58
60
  customResultMapper
59
61
  );
60
62
  }
@@ -89,9 +91,17 @@ class LibSQLSession extends import_session.SQLiteSession {
89
91
  this.dialect,
90
92
  this.schema,
91
93
  this.options,
92
- libsqlTx
94
+ libsqlTx,
95
+ this.extensions
96
+ );
97
+ const tx = new LibSQLTransaction(
98
+ "async",
99
+ this.dialect,
100
+ session,
101
+ this.schema,
102
+ void 0,
103
+ this.extensions
93
104
  );
94
- const tx = new LibSQLTransaction("async", this.dialect, session, this.schema);
95
105
  try {
96
106
  const result = await transaction(tx);
97
107
  await libsqlTx.commit();
@@ -115,7 +125,14 @@ class LibSQLTransaction extends import_sqlite_core.SQLiteTransaction {
115
125
  static [import_entity.entityKind] = "LibSQLTransaction";
116
126
  async transaction(transaction) {
117
127
  const savepointName = `sp${this.nestedIndex}`;
118
- const tx = new LibSQLTransaction("async", this.dialect, this.session, this.schema, this.nestedIndex + 1);
128
+ const tx = new LibSQLTransaction(
129
+ "async",
130
+ this.dialect,
131
+ this.session,
132
+ this.schema,
133
+ this.nestedIndex + 1,
134
+ this._.extensions
135
+ );
119
136
  await this.session.run(import_sql.sql.raw(`savepoint ${savepointName}`));
120
137
  try {
121
138
  const result = await transaction(tx);
@@ -128,8 +145,8 @@ class LibSQLTransaction extends import_sqlite_core.SQLiteTransaction {
128
145
  }
129
146
  }
130
147
  class LibSQLPreparedQuery extends import_session.SQLitePreparedQuery {
131
- constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, tx, executeMethod, _isResponseInArrayMode, customResultMapper) {
132
- super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
148
+ constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, tx, executeMethod, _isResponseInArrayMode, extensions, hookContext, customResultMapper) {
149
+ super("async", executeMethod, query, cache, queryMetadata, cacheConfig, extensions, hookContext);
133
150
  this.client = client;
134
151
  this.logger = logger;
135
152
  this.fields = fields;
@@ -140,7 +157,7 @@ class LibSQLPreparedQuery extends import_session.SQLitePreparedQuery {
140
157
  this.fields = fields;
141
158
  }
142
159
  static [import_entity.entityKind] = "LibSQLPreparedQuery";
143
- async run(placeholderValues) {
160
+ async _run(placeholderValues) {
144
161
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
145
162
  this.logger.logQuery(this.query.sql, params);
146
163
  return await this.queryWithCache(this.query.sql, params, async () => {
@@ -148,7 +165,7 @@ class LibSQLPreparedQuery extends import_session.SQLitePreparedQuery {
148
165
  return this.tx ? this.tx.execute(stmt) : this.client.execute(stmt);
149
166
  });
150
167
  }
151
- async all(placeholderValues) {
168
+ async _all(placeholderValues) {
152
169
  const { fields, logger, query, tx, client, customResultMapper } = this;
153
170
  if (!fields && !customResultMapper) {
154
171
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -179,7 +196,7 @@ class LibSQLPreparedQuery extends import_session.SQLitePreparedQuery {
179
196
  );
180
197
  });
181
198
  }
182
- async get(placeholderValues) {
199
+ async _get(placeholderValues) {
183
200
  const { fields, logger, query, tx, client, customResultMapper } = this;
184
201
  if (!fields && !customResultMapper) {
185
202
  const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues ?? {});
@@ -212,7 +229,7 @@ class LibSQLPreparedQuery extends import_session.SQLitePreparedQuery {
212
229
  this.joinsNotNullableMap
213
230
  );
214
231
  }
215
- async values(placeholderValues) {
232
+ async _values(placeholderValues) {
216
233
  const params = (0, import_sql.fillPlaceholders)(this.query.params, placeholderValues ?? {});
217
234
  this.logger.logQuery(this.query.sql, params);
218
235
  return await this.queryWithCache(this.query.sql, params, async () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/libsql/session.ts"],"sourcesContent":["import type { Client, InArgs, InStatement, ResultSet, Transaction } from '@libsql/client';\nimport type { BatchItem as BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface LibSQLSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class LibSQLSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', ResultSet, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'LibSQLSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: Client,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: LibSQLSessionOptions,\n\t\tprivate tx: Transaction | undefined,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): LibSQLPreparedQuery<T> {\n\t\treturn new LibSQLPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.tx,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: InStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tbuiltQueries.push({ sql: builtQuery.sql, args: builtQuery.params as InArgs });\n\t\t}\n\n\t\tconst batchResults = await this.client.batch(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\tasync migrate<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: InStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tbuiltQueries.push({ sql: builtQuery.sql, args: builtQuery.params as InArgs });\n\t\t}\n\n\t\tconst batchResults = await this.client.migrate(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (db: LibSQLTransaction<TFullSchema, TSchema>) => T | Promise<T>,\n\t\t_config?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\t// TODO: support transaction behavior\n\t\tconst libsqlTx = await this.client.transaction();\n\t\tconst session = new LibSQLSession<TFullSchema, TSchema>(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t\tlibsqlTx,\n\t\t);\n\t\tconst tx = new LibSQLTransaction<TFullSchema, TSchema>('async', this.dialect, session, this.schema);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait libsqlTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait libsqlTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as ResultSet).rows;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as ResultSet).rows[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as ResultSet).rows;\n\t}\n}\n\nexport class LibSQLTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', ResultSet, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'LibSQLTransaction';\n\n\toverride async transaction<T>(transaction: (tx: LibSQLTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new LibSQLTransaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class LibSQLPreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: ResultSet; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'LibSQLPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Client,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\t/** @internal */ public fields: SelectedFieldsOrdered | undefined,\n\t\tprivate tx: Transaction | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\t/** @internal */ public customResultMapper?: (\n\t\t\trows: unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t}\n\n\tasync run(placeholderValues?: Record<string, unknown>): Promise<ResultSet> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\tconst stmt: InStatement = { sql: this.query.sql, args: params as InArgs };\n\t\t\treturn this.tx ? this.tx.execute(stmt) : this.client.execute(stmt);\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, logger, query, tx, client, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\tconst stmt: InStatement = { sql: query.sql, args: params as InArgs };\n\t\t\t\treturn (tx ? tx.execute(stmt) : client.execute(stmt)).then(({ rows }) => this.mapAllResult(rows));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = (rows as ResultSet).rows;\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn (rows as unknown[]).map((row) => normalizeRow(row));\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][], normalizeFieldValue) as T['all'];\n\t\t}\n\n\t\treturn (rows as unknown[]).map((row) => {\n\t\t\treturn mapResultRow(\n\t\t\t\tthis.fields!,\n\t\t\t\tArray.prototype.slice.call(row).map((v) => normalizeFieldValue(v)),\n\t\t\t\tthis.joinsNotNullableMap,\n\t\t\t);\n\t\t});\n\t}\n\n\tasync get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, logger, query, tx, client, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\tconst stmt: InStatement = { sql: query.sql, args: params as InArgs };\n\t\t\t\treturn (tx ? tx.execute(stmt) : client.execute(stmt)).then(({ rows }) => this.mapGetResult(rows));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\treturn this.mapGetResult(rows);\n\t}\n\n\toverride mapGetResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = (rows as ResultSet).rows;\n\t\t}\n\n\t\tconst row = (rows as unknown[])[0];\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn normalizeRow(row);\n\t\t}\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][], normalizeFieldValue) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(\n\t\t\tthis.fields!,\n\t\t\tArray.prototype.slice.call(row).map((v) => normalizeFieldValue(v)),\n\t\t\tthis.joinsNotNullableMap,\n\t\t);\n\t}\n\n\tasync values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\tconst stmt: InStatement = { sql: this.query.sql, args: params as InArgs };\n\t\t\treturn (this.tx ? this.tx.execute(stmt) : this.client.execute(stmt)).then(({ rows }) => rows) as Promise<\n\t\t\t\tT['values']\n\t\t\t>;\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nfunction normalizeRow(obj: any) {\n\t// The libSQL node-sqlite3 compatibility wrapper returns rows\n\t// that can be accessed both as objects and arrays. Let's\n\t// turn them into objects what's what other SQLite drivers\n\t// do.\n\treturn Object.keys(obj).reduce((acc: Record<string, any>, key) => {\n\t\tif (Object.prototype.propertyIsEnumerable.call(obj, key)) {\n\t\t\tacc[key] = obj[key];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\nfunction normalizeFieldValue(value: unknown) {\n\tif (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { // eslint-disable-line no-instanceof/no-instanceof\n\t\tif (typeof Buffer !== 'undefined') {\n\t\t\tif (!(value instanceof Buffer)) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\treturn Buffer.from(value);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t\tif (typeof TextDecoder !== 'undefined') {\n\t\t\treturn new TextDecoder().decode(value);\n\t\t}\n\t\tthrow new Error('TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.');\n\t}\n\treturn value;\n}\n"],"mappings":"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","names":["rows"]}
1
+ {"version":3,"sources":["../../src/libsql/session.ts"],"sourcesContent":["import type { Client, InArgs, InStatement, ResultSet, Transaction } from '@libsql/client';\nimport type { BatchItem as BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankSQLiteHookContext, DrizzleSQLiteExtension } from '~/extension-core/sqlite/index.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface LibSQLSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class LibSQLSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', ResultSet, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'LibSQLSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: Client,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: LibSQLSessionOptions,\n\t\tprivate tx: Transaction | undefined,\n\t\textensions?: DrizzleSQLiteExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t\thookContext?: BlankSQLiteHookContext,\n\t): LibSQLPreparedQuery<T> {\n\t\treturn new LibSQLPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.tx,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: InStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tbuiltQueries.push({ sql: builtQuery.sql, args: builtQuery.params as InArgs });\n\t\t}\n\n\t\tconst batchResults = await this.client.batch(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\tasync migrate<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: InStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tbuiltQueries.push({ sql: builtQuery.sql, args: builtQuery.params as InArgs });\n\t\t}\n\n\t\tconst batchResults = await this.client.migrate(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (db: LibSQLTransaction<TFullSchema, TSchema>) => T | Promise<T>,\n\t\t_config?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\t// TODO: support transaction behavior\n\t\tconst libsqlTx = await this.client.transaction();\n\t\tconst session = new LibSQLSession<TFullSchema, TSchema>(\n\t\t\tthis.client,\n\t\t\tthis.dialect,\n\t\t\tthis.schema,\n\t\t\tthis.options,\n\t\t\tlibsqlTx,\n\t\t\tthis.extensions,\n\t\t);\n\t\tconst tx = new LibSQLTransaction<TFullSchema, TSchema>(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tsession,\n\t\t\tthis.schema,\n\t\t\tundefined,\n\t\t\tthis.extensions,\n\t\t);\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait libsqlTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait libsqlTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as ResultSet).rows;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as ResultSet).rows[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as ResultSet).rows;\n\t}\n}\n\nexport class LibSQLTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', ResultSet, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'LibSQLTransaction';\n\n\toverride async transaction<T>(transaction: (tx: LibSQLTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new LibSQLTransaction(\n\t\t\t'async',\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t\tthis._.extensions,\n\t\t);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class LibSQLPreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig> extends SQLitePreparedQuery<\n\t{ type: 'async'; run: ResultSet; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'LibSQLPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Client,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\t/** @internal */ public fields: SelectedFieldsOrdered | undefined,\n\t\tprivate tx: Transaction | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\textensions?: DrizzleSQLiteExtension[],\n\t\thookContext?: BlankSQLiteHookContext,\n\t\t/** @internal */ public customResultMapper?: (\n\t\t\trows: unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig, extensions, hookContext);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t}\n\n\tasync _run(placeholderValues?: Record<string, unknown>): Promise<ResultSet> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\tconst stmt: InStatement = { sql: this.query.sql, args: params as InArgs };\n\t\t\treturn this.tx ? this.tx.execute(stmt) : this.client.execute(stmt);\n\t\t});\n\t}\n\n\tasync _all(placeholderValues?: Record<string, unknown>): Promise<T['all']> {\n\t\tconst { fields, logger, query, tx, client, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\tconst stmt: InStatement = { sql: query.sql, args: params as InArgs };\n\t\t\t\treturn (tx ? tx.execute(stmt) : client.execute(stmt)).then(({ rows }) => this.mapAllResult(rows));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = (rows as ResultSet).rows;\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn (rows as unknown[]).map((row) => normalizeRow(row));\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][], normalizeFieldValue) as T['all'];\n\t\t}\n\n\t\treturn (rows as unknown[]).map((row) => {\n\t\t\treturn mapResultRow(\n\t\t\t\tthis.fields!,\n\t\t\t\tArray.prototype.slice.call(row).map((v) => normalizeFieldValue(v)),\n\t\t\t\tthis.joinsNotNullableMap,\n\t\t\t);\n\t\t});\n\t}\n\n\tasync _get(placeholderValues?: Record<string, unknown>): Promise<T['get']> {\n\t\tconst { fields, logger, query, tx, client, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\tconst stmt: InStatement = { sql: query.sql, args: params as InArgs };\n\t\t\t\treturn (tx ? tx.execute(stmt) : client.execute(stmt)).then(({ rows }) => this.mapGetResult(rows));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\treturn this.mapGetResult(rows);\n\t}\n\n\toverride mapGetResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = (rows as ResultSet).rows;\n\t\t}\n\n\t\tconst row = (rows as unknown[])[0];\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn normalizeRow(row);\n\t\t}\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][], normalizeFieldValue) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(\n\t\t\tthis.fields!,\n\t\t\tArray.prototype.slice.call(row).map((v) => normalizeFieldValue(v)),\n\t\t\tthis.joinsNotNullableMap,\n\t\t);\n\t}\n\n\tasync _values(placeholderValues?: Record<string, unknown>): Promise<T['values']> {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\tconst stmt: InStatement = { sql: this.query.sql, args: params as InArgs };\n\t\t\treturn (this.tx ? this.tx.execute(stmt) : this.client.execute(stmt)).then(({ rows }) => rows) as Promise<\n\t\t\t\tT['values']\n\t\t\t>;\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nfunction normalizeRow(obj: any) {\n\t// The libSQL node-sqlite3 compatibility wrapper returns rows\n\t// that can be accessed both as objects and arrays. Let's\n\t// turn them into objects what's what other SQLite drivers\n\t// do.\n\treturn Object.keys(obj).reduce((acc: Record<string, any>, key) => {\n\t\tif (Object.prototype.propertyIsEnumerable.call(obj, key)) {\n\t\t\tacc[key] = obj[key];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\nfunction normalizeFieldValue(value: unknown) {\n\tif (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { // eslint-disable-line no-instanceof/no-instanceof\n\t\tif (typeof Buffer !== 'undefined') {\n\t\t\tif (!(value instanceof Buffer)) { // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\treturn Buffer.from(value);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t\tif (typeof TextDecoder !== 'undefined') {\n\t\t\treturn new TextDecoder().decode(value);\n\t\t}\n\t\tthrow new Error('TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.');\n\t}\n\treturn value;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAAsC;AAEtC,oBAA2B;AAG3B,oBAA2B;AAG3B,iBAAkD;AAElD,yBAAkC;AAOlC,qBAAmD;AACnD,mBAA6B;AAStB,MAAM,sBAGH,6BAAwD;AAAA,EAMjE,YACS,QACR,SACQ,QACA,SACA,IACR,YACC;AACD,UAAM,SAAS,UAAU;AAPjB;AAEA;AACA;AACA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,yBAAW;AAC/C,SAAK,QAAQ,QAAQ,SAAS,IAAI,sBAAU;AAAA,EAC7C;AAAA,EAhBA,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EAeR,aACC,OACA,QACA,eACA,uBACA,oBACA,eAIA,aACA,aACyB;AACzB,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,MAAwE,SAAY;AACzF,UAAM,kBAAmC,CAAC;AAC1C,UAAM,eAA8B,CAAC;AAErC,eAAW,SAAS,SAAS;AAC5B,YAAM,gBAAgB,MAAM,SAAS;AACrC,YAAM,aAAa,cAAc,SAAS;AAC1C,sBAAgB,KAAK,aAAa;AAClC,mBAAa,KAAK,EAAE,KAAK,WAAW,KAAK,MAAM,WAAW,OAAiB,CAAC;AAAA,IAC7E;AAEA,UAAM,eAAe,MAAM,KAAK,OAAO,MAAM,YAAY;AACzD,WAAO,aAAa,IAAI,CAAC,QAAQ,MAAM,gBAAgB,CAAC,EAAG,UAAU,QAAQ,IAAI,CAAC;AAAA,EACnF;AAAA,EAEA,MAAM,QAA0E,SAAY;AAC3F,UAAM,kBAAmC,CAAC;AAC1C,UAAM,eAA8B,CAAC;AAErC,eAAW,SAAS,SAAS;AAC5B,YAAM,gBAAgB,MAAM,SAAS;AACrC,YAAM,aAAa,cAAc,SAAS;AAC1C,sBAAgB,KAAK,aAAa;AAClC,mBAAa,KAAK,EAAE,KAAK,WAAW,KAAK,MAAM,WAAW,OAAiB,CAAC;AAAA,IAC7E;AAEA,UAAM,eAAe,MAAM,KAAK,OAAO,QAAQ,YAAY;AAC3D,WAAO,aAAa,IAAI,CAAC,QAAQ,MAAM,gBAAgB,CAAC,EAAG,UAAU,QAAQ,IAAI,CAAC;AAAA,EACnF;AAAA,EAEA,MAAe,YACd,aACA,SACa;AAEb,UAAM,WAAW,MAAM,KAAK,OAAO,YAAY;AAC/C,UAAM,UAAU,IAAI;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,IACN;AACA,UAAM,KAAK,IAAI;AAAA,MACd;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,KAAK;AAAA,IACN;AACA,QAAI;AACH,YAAM,SAAS,MAAM,YAAY,EAAE;AACnC,YAAM,SAAS,OAAO;AACtB,aAAO;AAAA,IACR,SAAS,KAAK;AACb,YAAM,SAAS,SAAS;AACxB,YAAM;AAAA,IACP;AAAA,EACD;AAAA,EAES,kCAAkC,QAA0B;AACpE,WAAQ,OAAqB;AAAA,EAC9B;AAAA,EAES,kCAAkC,QAA0B;AACpE,WAAQ,OAAqB,KAAK,CAAC;AAAA,EACpC;AAAA,EAES,qCAAqC,QAA0B;AACvE,WAAQ,OAAqB;AAAA,EAC9B;AACD;AAEO,MAAM,0BAGH,qCAA4D;AAAA,EACrE,QAA0B,wBAAU,IAAY;AAAA,EAEhD,MAAe,YAAe,aAAsF;AACnH,UAAM,gBAAgB,KAAK,KAAK,WAAW;AAC3C,UAAM,KAAK,IAAI;AAAA,MACd;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,cAAc;AAAA,MACnB,KAAK,EAAE;AAAA,IACR;AACA,UAAM,KAAK,QAAQ,IAAI,eAAI,IAAI,aAAa,aAAa,EAAE,CAAC;AAC5D,QAAI;AACH,YAAM,SAAS,MAAM,YAAY,EAAE;AACnC,YAAM,KAAK,QAAQ,IAAI,eAAI,IAAI,qBAAqB,aAAa,EAAE,CAAC;AACpE,aAAO;AAAA,IACR,SAAS,KAAK;AACb,YAAM,KAAK,QAAQ,IAAI,eAAI,IAAI,yBAAyB,aAAa,EAAE,CAAC;AACxE,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,4BAAiF,mCAE5F;AAAA,EAGD,YACS,QACR,OACQ,QACR,OACA,eAIA,aACwB,QAChB,IACR,eACQ,wBACR,YACA,aACwB,oBAIvB;AACD,UAAM,SAAS,eAAe,OAAO,OAAO,eAAe,aAAa,YAAY,WAAW;AApBvF;AAEA;AAOgB;AAChB;AAEA;AAGgB;AAMxB,SAAK,qBAAqB;AAC1B,SAAK,SAAS;AAAA,EACf;AAAA,EA1BA,QAA0B,wBAAU,IAAY;AAAA,EA4BhD,MAAM,KAAK,mBAAiE;AAC3E,UAAM,aAAS,6BAAiB,KAAK,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AAC1E,SAAK,OAAO,SAAS,KAAK,MAAM,KAAK,MAAM;AAC3C,WAAO,MAAM,KAAK,eAAe,KAAK,MAAM,KAAK,QAAQ,YAAY;AACpE,YAAM,OAAoB,EAAE,KAAK,KAAK,MAAM,KAAK,MAAM,OAAiB;AACxE,aAAO,KAAK,KAAK,KAAK,GAAG,QAAQ,IAAI,IAAI,KAAK,OAAO,QAAQ,IAAI;AAAA,IAClE,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,KAAK,mBAAgE;AAC1E,UAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,QAAQ,mBAAmB,IAAI;AAClE,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,aAAS,6BAAiB,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AACrE,aAAO,SAAS,MAAM,KAAK,MAAM;AACjC,aAAO,MAAM,KAAK,eAAe,MAAM,KAAK,QAAQ,YAAY;AAC/D,cAAM,OAAoB,EAAE,KAAK,MAAM,KAAK,MAAM,OAAiB;AACnE,gBAAQ,KAAK,GAAG,QAAQ,IAAI,IAAI,OAAO,QAAQ,IAAI,GAAG,KAAK,CAAC,EAAE,MAAAA,MAAK,MAAM,KAAK,aAAaA,KAAI,CAAC;AAAA,MACjG,CAAC;AAAA,IACF;AAEA,UAAM,OAAO,MAAM,KAAK,OAAO,iBAAiB;AAEhD,WAAO,KAAK,aAAa,IAAI;AAAA,EAC9B;AAAA,EAES,aAAa,MAAe,aAAgC;AACpE,QAAI,aAAa;AAChB,aAAQ,KAAmB;AAAA,IAC5B;AAEA,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,oBAAoB;AAC7C,aAAQ,KAAmB,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC;AAAA,IAC1D;AAEA,QAAI,KAAK,oBAAoB;AAC5B,aAAO,KAAK,mBAAmB,MAAqB,mBAAmB;AAAA,IACxE;AAEA,WAAQ,KAAmB,IAAI,CAAC,QAAQ;AACvC,iBAAO;AAAA,QACN,KAAK;AAAA,QACL,MAAM,UAAU,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,oBAAoB,CAAC,CAAC;AAAA,QACjE,KAAK;AAAA,MACN;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,KAAK,mBAAgE;AAC1E,UAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,QAAQ,mBAAmB,IAAI;AAClE,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,aAAS,6BAAiB,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AACrE,aAAO,SAAS,MAAM,KAAK,MAAM;AACjC,aAAO,MAAM,KAAK,eAAe,MAAM,KAAK,QAAQ,YAAY;AAC/D,cAAM,OAAoB,EAAE,KAAK,MAAM,KAAK,MAAM,OAAiB;AACnE,gBAAQ,KAAK,GAAG,QAAQ,IAAI,IAAI,OAAO,QAAQ,IAAI,GAAG,KAAK,CAAC,EAAE,MAAAA,MAAK,MAAM,KAAK,aAAaA,KAAI,CAAC;AAAA,MACjG,CAAC;AAAA,IACF;AAEA,UAAM,OAAO,MAAM,KAAK,OAAO,iBAAiB;AAEhD,WAAO,KAAK,aAAa,IAAI;AAAA,EAC9B;AAAA,EAES,aAAa,MAAe,aAAgC;AACpE,QAAI,aAAa;AAChB,aAAQ,KAAmB;AAAA,IAC5B;AAEA,UAAM,MAAO,KAAmB,CAAC;AAEjC,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,oBAAoB;AAC7C,aAAO,aAAa,GAAG;AAAA,IACxB;AAEA,QAAI,CAAC,KAAK;AACT,aAAO;AAAA,IACR;AAEA,QAAI,KAAK,oBAAoB;AAC5B,aAAO,KAAK,mBAAmB,MAAqB,mBAAmB;AAAA,IACxE;AAEA,eAAO;AAAA,MACN,KAAK;AAAA,MACL,MAAM,UAAU,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,oBAAoB,CAAC,CAAC;AAAA,MACjE,KAAK;AAAA,IACN;AAAA,EACD;AAAA,EAEA,MAAM,QAAQ,mBAAmE;AAChF,UAAM,aAAS,6BAAiB,KAAK,MAAM,QAAQ,qBAAqB,CAAC,CAAC;AAC1E,SAAK,OAAO,SAAS,KAAK,MAAM,KAAK,MAAM;AAC3C,WAAO,MAAM,KAAK,eAAe,KAAK,MAAM,KAAK,QAAQ,YAAY;AACpE,YAAM,OAAoB,EAAE,KAAK,KAAK,MAAM,KAAK,MAAM,OAAiB;AACxE,cAAQ,KAAK,KAAK,KAAK,GAAG,QAAQ,IAAI,IAAI,KAAK,OAAO,QAAQ,IAAI,GAAG,KAAK,CAAC,EAAE,KAAK,MAAM,IAAI;AAAA,IAG7F,CAAC;AAAA,EACF;AAAA;AAAA,EAGA,wBAAiC;AAChC,WAAO,KAAK;AAAA,EACb;AACD;AAEA,SAAS,aAAa,KAAU;AAK/B,SAAO,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAA0B,QAAQ;AACjE,QAAI,OAAO,UAAU,qBAAqB,KAAK,KAAK,GAAG,GAAG;AACzD,UAAI,GAAG,IAAI,IAAI,GAAG;AAAA,IACnB;AACA,WAAO;AAAA,EACR,GAAG,CAAC,CAAC;AACN;AAEA,SAAS,oBAAoB,OAAgB;AAC5C,MAAI,OAAO,gBAAgB,eAAe,iBAAiB,aAAa;AACvE,QAAI,OAAO,WAAW,aAAa;AAClC,UAAI,EAAE,iBAAiB,SAAS;AAC/B,eAAO,OAAO,KAAK,KAAK;AAAA,MACzB;AACA,aAAO;AAAA,IACR;AACA,QAAI,OAAO,gBAAgB,aAAa;AACvC,aAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AAAA,IACtC;AACA,UAAM,IAAI,MAAM,qFAAqF;AAAA,EACtG;AACA,SAAO;AACR;","names":["rows"]}
@@ -3,6 +3,7 @@ import type { BatchItem as BatchItem } from "../batch.cjs";
3
3
  import { type Cache } from "../cache/core/index.cjs";
4
4
  import type { WithCacheConfig } from "../cache/core/types.cjs";
5
5
  import { entityKind } from "../entity.cjs";
6
+ import type { BlankSQLiteHookContext, DrizzleSQLiteExtension } from "../extension-core/sqlite/index.cjs";
6
7
  import type { Logger } from "../logger.cjs";
7
8
  import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
8
9
  import { type Query } from "../sql/sql.cjs";
@@ -24,11 +25,11 @@ export declare class LibSQLSession<TFullSchema extends Record<string, unknown>,
24
25
  static readonly [entityKind]: string;
25
26
  private logger;
26
27
  private cache;
27
- constructor(client: Client, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: LibSQLSessionOptions, tx: Transaction | undefined);
28
+ constructor(client: Client, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: LibSQLSessionOptions, tx: Transaction | undefined, extensions?: DrizzleSQLiteExtension[]);
28
29
  prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
29
30
  type: 'select' | 'update' | 'delete' | 'insert';
30
31
  tables: string[];
31
- }, cacheConfig?: WithCacheConfig): LibSQLPreparedQuery<T>;
32
+ }, cacheConfig?: WithCacheConfig, hookContext?: BlankSQLiteHookContext): LibSQLPreparedQuery<T>;
32
33
  batch<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise<unknown[]>;
33
34
  migrate<T extends BatchItem<'sqlite'>[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise<unknown[]>;
34
35
  transaction<T>(transaction: (db: LibSQLTransaction<TFullSchema, TSchema>) => T | Promise<T>, _config?: SQLiteTransactionConfig): Promise<T>;
@@ -57,13 +58,13 @@ export declare class LibSQLPreparedQuery<T extends PreparedQueryConfig = Prepare
57
58
  type: 'select' | 'update' | 'delete' | 'insert';
58
59
  tables: string[];
59
60
  } | undefined, cacheConfig: WithCacheConfig | undefined,
60
- /** @internal */ fields: SelectedFieldsOrdered | undefined, tx: Transaction | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean,
61
+ /** @internal */ fields: SelectedFieldsOrdered | undefined, tx: Transaction | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, extensions?: DrizzleSQLiteExtension[], hookContext?: BlankSQLiteHookContext,
61
62
  /** @internal */ customResultMapper?: ((rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined);
62
- run(placeholderValues?: Record<string, unknown>): Promise<ResultSet>;
63
- all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
63
+ _run(placeholderValues?: Record<string, unknown>): Promise<ResultSet>;
64
+ _all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
64
65
  mapAllResult(rows: unknown, isFromBatch?: boolean): unknown;
65
- get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
66
+ _get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
66
67
  mapGetResult(rows: unknown, isFromBatch?: boolean): unknown;
67
- values(placeholderValues?: Record<string, unknown>): Promise<T['values']>;
68
+ _values(placeholderValues?: Record<string, unknown>): Promise<T['values']>;
68
69
  }
69
70
  export {};