drizzle-orm 1.0.0-beta.20-afec359 → 1.0.0-beta.21

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 (1633) hide show
  1. package/_relations.cjs.map +1 -1
  2. package/_relations.d.cts +13 -2
  3. package/_relations.d.ts +13 -2
  4. package/_relations.js.map +1 -1
  5. package/alias.cjs +1 -1
  6. package/alias.js +1 -1
  7. package/aws-data-api/common/index.cjs +0 -2
  8. package/aws-data-api/common/index.cjs.map +1 -1
  9. package/aws-data-api/common/index.js +0 -2
  10. package/aws-data-api/common/index.js.map +1 -1
  11. package/aws-data-api/pg/driver.cjs +20 -93
  12. package/aws-data-api/pg/driver.cjs.map +1 -1
  13. package/aws-data-api/pg/driver.d.cts +13 -17
  14. package/aws-data-api/pg/driver.d.ts +13 -17
  15. package/aws-data-api/pg/driver.js +20 -93
  16. package/aws-data-api/pg/driver.js.map +1 -1
  17. package/aws-data-api/pg/index.cjs +1 -1
  18. package/aws-data-api/pg/index.d.cts +3 -3
  19. package/aws-data-api/pg/index.d.ts +3 -3
  20. package/aws-data-api/pg/index.js +3 -3
  21. package/aws-data-api/pg/migrator.cjs.map +1 -1
  22. package/aws-data-api/pg/migrator.d.cts +1 -1
  23. package/aws-data-api/pg/migrator.d.ts +1 -1
  24. package/aws-data-api/pg/migrator.js.map +1 -1
  25. package/aws-data-api/pg/session.cjs +113 -44
  26. package/aws-data-api/pg/session.cjs.map +1 -1
  27. package/aws-data-api/pg/session.d.cts +42 -12
  28. package/aws-data-api/pg/session.d.ts +43 -13
  29. package/aws-data-api/pg/session.js +114 -46
  30. package/aws-data-api/pg/session.js.map +1 -1
  31. package/better-sqlite3/driver.cjs +2 -5
  32. package/better-sqlite3/driver.cjs.map +1 -1
  33. package/better-sqlite3/driver.d.ts +1 -1
  34. package/better-sqlite3/driver.js +2 -5
  35. package/better-sqlite3/driver.js.map +1 -1
  36. package/better-sqlite3/session.cjs +15 -16
  37. package/better-sqlite3/session.cjs.map +1 -1
  38. package/better-sqlite3/session.d.cts +6 -10
  39. package/better-sqlite3/session.d.ts +7 -11
  40. package/better-sqlite3/session.js +16 -17
  41. package/better-sqlite3/session.js.map +1 -1
  42. package/bun-sql/driver.cjs.map +1 -1
  43. package/bun-sql/driver.d.cts +6 -7
  44. package/bun-sql/driver.d.ts +6 -7
  45. package/bun-sql/driver.js.map +1 -1
  46. package/bun-sql/index.cjs +1 -0
  47. package/bun-sql/index.d.cts +2 -2
  48. package/bun-sql/index.d.ts +2 -2
  49. package/bun-sql/index.js +2 -2
  50. package/bun-sql/migrator.cjs.map +1 -1
  51. package/bun-sql/migrator.d.cts +2 -2
  52. package/bun-sql/migrator.d.ts +2 -2
  53. package/bun-sql/migrator.js.map +1 -1
  54. package/bun-sql/mysql/driver.cjs +3 -4
  55. package/bun-sql/mysql/driver.cjs.map +1 -1
  56. package/bun-sql/mysql/driver.js +2 -3
  57. package/bun-sql/mysql/driver.js.map +1 -1
  58. package/bun-sql/mysql/session.cjs +24 -37
  59. package/bun-sql/mysql/session.cjs.map +1 -1
  60. package/bun-sql/mysql/session.d.cts +4 -10
  61. package/bun-sql/mysql/session.d.ts +6 -12
  62. package/bun-sql/mysql/session.js +25 -38
  63. package/bun-sql/mysql/session.js.map +1 -1
  64. package/bun-sql/postgres/driver.cjs +20 -144
  65. package/bun-sql/postgres/driver.cjs.map +1 -1
  66. package/bun-sql/postgres/driver.d.cts +6 -10
  67. package/bun-sql/postgres/driver.d.ts +7 -11
  68. package/bun-sql/postgres/driver.js +20 -144
  69. package/bun-sql/postgres/driver.js.map +1 -1
  70. package/bun-sql/postgres/index.cjs +1 -1
  71. package/bun-sql/postgres/index.d.cts +3 -3
  72. package/bun-sql/postgres/index.d.ts +3 -3
  73. package/bun-sql/postgres/index.js +3 -3
  74. package/bun-sql/postgres/migrator.cjs.map +1 -1
  75. package/bun-sql/postgres/migrator.d.cts +1 -1
  76. package/bun-sql/postgres/migrator.d.ts +1 -1
  77. package/bun-sql/postgres/migrator.js.map +1 -1
  78. package/bun-sql/postgres/session.cjs +112 -17
  79. package/bun-sql/postgres/session.cjs.map +1 -1
  80. package/bun-sql/postgres/session.d.cts +33 -11
  81. package/bun-sql/postgres/session.d.ts +34 -12
  82. package/bun-sql/postgres/session.js +112 -18
  83. package/bun-sql/postgres/session.js.map +1 -1
  84. package/bun-sql/session.cjs +1 -0
  85. package/bun-sql/session.d.cts +2 -2
  86. package/bun-sql/session.d.ts +2 -2
  87. package/bun-sql/session.js +2 -2
  88. package/bun-sql/sqlite/driver.cjs +3 -4
  89. package/bun-sql/sqlite/driver.cjs.map +1 -1
  90. package/bun-sql/sqlite/driver.d.ts +1 -1
  91. package/bun-sql/sqlite/driver.js +2 -3
  92. package/bun-sql/sqlite/driver.js.map +1 -1
  93. package/bun-sql/sqlite/session.cjs +17 -18
  94. package/bun-sql/sqlite/session.cjs.map +1 -1
  95. package/bun-sql/sqlite/session.d.cts +6 -9
  96. package/bun-sql/sqlite/session.d.ts +7 -10
  97. package/bun-sql/sqlite/session.js +18 -19
  98. package/bun-sql/sqlite/session.js.map +1 -1
  99. package/bun-sqlite/driver.cjs +2 -5
  100. package/bun-sqlite/driver.cjs.map +1 -1
  101. package/bun-sqlite/driver.d.ts +1 -1
  102. package/bun-sqlite/driver.js +2 -5
  103. package/bun-sqlite/driver.js.map +1 -1
  104. package/bun-sqlite/session.cjs +14 -15
  105. package/bun-sqlite/session.cjs.map +1 -1
  106. package/bun-sqlite/session.d.cts +6 -10
  107. package/bun-sqlite/session.d.ts +6 -10
  108. package/bun-sqlite/session.js +15 -16
  109. package/bun-sqlite/session.js.map +1 -1
  110. package/cache/core/cache-effect.cjs +2 -2
  111. package/cache/core/cache-effect.d.ts +1 -1
  112. package/cache/core/cache-effect.js +1 -1
  113. package/cockroach/driver.cjs +4 -10
  114. package/cockroach/driver.cjs.map +1 -1
  115. package/cockroach/driver.d.cts +0 -1
  116. package/cockroach/driver.d.ts +2 -3
  117. package/cockroach/driver.js +4 -10
  118. package/cockroach/driver.js.map +1 -1
  119. package/cockroach/session.cjs +9 -7
  120. package/cockroach/session.cjs.map +1 -1
  121. package/cockroach/session.d.cts +3 -5
  122. package/cockroach/session.d.ts +5 -7
  123. package/cockroach/session.js +10 -8
  124. package/cockroach/session.js.map +1 -1
  125. package/cockroach-core/columns/bigint.cjs +4 -4
  126. package/cockroach-core/columns/bigint.cjs.map +1 -1
  127. package/cockroach-core/columns/bigint.d.cts +2 -2
  128. package/cockroach-core/columns/bigint.d.ts +2 -2
  129. package/cockroach-core/columns/bigint.js +4 -4
  130. package/cockroach-core/columns/bigint.js.map +1 -1
  131. package/cockroach-core/columns/common.cjs +5 -5
  132. package/cockroach-core/columns/common.cjs.map +1 -1
  133. package/cockroach-core/columns/common.d.cts +2 -2
  134. package/cockroach-core/columns/common.d.ts +3 -3
  135. package/cockroach-core/columns/common.js +5 -5
  136. package/cockroach-core/columns/common.js.map +1 -1
  137. package/cockroach-core/columns/custom.cjs +4 -4
  138. package/cockroach-core/columns/custom.cjs.map +1 -1
  139. package/cockroach-core/columns/custom.d.cts +2 -2
  140. package/cockroach-core/columns/custom.d.ts +2 -2
  141. package/cockroach-core/columns/custom.js +4 -4
  142. package/cockroach-core/columns/custom.js.map +1 -1
  143. package/cockroach-core/columns/date.cjs +6 -6
  144. package/cockroach-core/columns/date.cjs.map +1 -1
  145. package/cockroach-core/columns/date.d.cts +3 -3
  146. package/cockroach-core/columns/date.d.ts +3 -3
  147. package/cockroach-core/columns/date.js +6 -6
  148. package/cockroach-core/columns/date.js.map +1 -1
  149. package/cockroach-core/columns/decimal.cjs +4 -4
  150. package/cockroach-core/columns/decimal.cjs.map +1 -1
  151. package/cockroach-core/columns/decimal.d.cts +2 -2
  152. package/cockroach-core/columns/decimal.d.ts +2 -2
  153. package/cockroach-core/columns/decimal.js +4 -4
  154. package/cockroach-core/columns/decimal.js.map +1 -1
  155. package/cockroach-core/columns/float.cjs +2 -2
  156. package/cockroach-core/columns/float.cjs.map +1 -1
  157. package/cockroach-core/columns/float.d.cts +1 -1
  158. package/cockroach-core/columns/float.d.ts +1 -1
  159. package/cockroach-core/columns/float.js +2 -2
  160. package/cockroach-core/columns/float.js.map +1 -1
  161. package/cockroach-core/columns/geometry.cjs +8 -8
  162. package/cockroach-core/columns/geometry.cjs.map +1 -1
  163. package/cockroach-core/columns/geometry.d.cts +5 -5
  164. package/cockroach-core/columns/geometry.d.ts +5 -5
  165. package/cockroach-core/columns/geometry.js +8 -8
  166. package/cockroach-core/columns/geometry.js.map +1 -1
  167. package/cockroach-core/columns/integer.cjs +2 -2
  168. package/cockroach-core/columns/integer.cjs.map +1 -1
  169. package/cockroach-core/columns/integer.d.cts +1 -1
  170. package/cockroach-core/columns/integer.d.ts +1 -1
  171. package/cockroach-core/columns/integer.js +2 -2
  172. package/cockroach-core/columns/integer.js.map +1 -1
  173. package/cockroach-core/columns/jsonb.cjs +4 -4
  174. package/cockroach-core/columns/jsonb.cjs.map +1 -1
  175. package/cockroach-core/columns/jsonb.d.cts +2 -2
  176. package/cockroach-core/columns/jsonb.d.ts +2 -2
  177. package/cockroach-core/columns/jsonb.js +4 -4
  178. package/cockroach-core/columns/jsonb.js.map +1 -1
  179. package/cockroach-core/columns/vector.cjs +4 -4
  180. package/cockroach-core/columns/vector.cjs.map +1 -1
  181. package/cockroach-core/columns/vector.d.cts +2 -2
  182. package/cockroach-core/columns/vector.d.ts +2 -2
  183. package/cockroach-core/columns/vector.js +4 -4
  184. package/cockroach-core/columns/vector.js.map +1 -1
  185. package/cockroach-core/db.cjs +1 -1
  186. package/cockroach-core/db.cjs.map +1 -1
  187. package/cockroach-core/db.d.ts +2 -2
  188. package/cockroach-core/db.js +1 -1
  189. package/cockroach-core/db.js.map +1 -1
  190. package/cockroach-core/dialect.cjs +2 -2
  191. package/cockroach-core/dialect.d.ts +2 -2
  192. package/cockroach-core/dialect.js +2 -2
  193. package/cockroach-core/index.cjs +14 -14
  194. package/cockroach-core/index.js +14 -14
  195. package/cockroach-core/query-builders/delete.cjs +1 -1
  196. package/cockroach-core/query-builders/delete.cjs.map +1 -1
  197. package/cockroach-core/query-builders/delete.d.cts +1 -1
  198. package/cockroach-core/query-builders/delete.d.ts +2 -2
  199. package/cockroach-core/query-builders/delete.js +1 -1
  200. package/cockroach-core/query-builders/delete.js.map +1 -1
  201. package/cockroach-core/query-builders/index.cjs +2 -2
  202. package/cockroach-core/query-builders/index.js +2 -2
  203. package/cockroach-core/query-builders/insert.cjs +1 -1
  204. package/cockroach-core/query-builders/insert.cjs.map +1 -1
  205. package/cockroach-core/query-builders/insert.d.ts +1 -1
  206. package/cockroach-core/query-builders/insert.js +1 -1
  207. package/cockroach-core/query-builders/insert.js.map +1 -1
  208. package/cockroach-core/query-builders/query.cjs +1 -1
  209. package/cockroach-core/query-builders/query.cjs.map +1 -1
  210. package/cockroach-core/query-builders/query.js +1 -1
  211. package/cockroach-core/query-builders/query.js.map +1 -1
  212. package/cockroach-core/query-builders/raw.cjs +4 -0
  213. package/cockroach-core/query-builders/raw.cjs.map +1 -1
  214. package/cockroach-core/query-builders/raw.js +4 -0
  215. package/cockroach-core/query-builders/raw.js.map +1 -1
  216. package/cockroach-core/query-builders/refresh-materialized-view.cjs +1 -1
  217. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  218. package/cockroach-core/query-builders/refresh-materialized-view.js +1 -1
  219. package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
  220. package/cockroach-core/query-builders/select.cjs +2 -2
  221. package/cockroach-core/query-builders/select.cjs.map +1 -1
  222. package/cockroach-core/query-builders/select.d.ts +3 -3
  223. package/cockroach-core/query-builders/select.js +2 -2
  224. package/cockroach-core/query-builders/select.js.map +1 -1
  225. package/cockroach-core/query-builders/select.types.d.ts +1 -1
  226. package/cockroach-core/query-builders/update.cjs +2 -2
  227. package/cockroach-core/query-builders/update.cjs.map +1 -1
  228. package/cockroach-core/query-builders/update.d.ts +1 -1
  229. package/cockroach-core/query-builders/update.js +2 -2
  230. package/cockroach-core/query-builders/update.js.map +1 -1
  231. package/cockroach-core/schema.cjs +1 -1
  232. package/cockroach-core/schema.js +1 -1
  233. package/cockroach-core/session.cjs +2 -2
  234. package/cockroach-core/session.cjs.map +1 -1
  235. package/cockroach-core/session.d.cts +1 -1
  236. package/cockroach-core/session.d.ts +1 -1
  237. package/cockroach-core/session.js +2 -2
  238. package/cockroach-core/session.js.map +1 -1
  239. package/cockroach-core/table.cjs +1 -1
  240. package/cockroach-core/table.cjs.map +1 -1
  241. package/cockroach-core/table.js +1 -1
  242. package/cockroach-core/table.js.map +1 -1
  243. package/cockroach-core/utils.cjs +3 -3
  244. package/cockroach-core/utils.js +3 -3
  245. package/cockroach-core/view.cjs +1 -1
  246. package/cockroach-core/view.js +1 -1
  247. package/column.cjs +5 -10
  248. package/column.cjs.map +1 -1
  249. package/column.d.cts +3 -3
  250. package/column.d.ts +3 -3
  251. package/column.js +5 -10
  252. package/column.js.map +1 -1
  253. package/d1/driver.cjs +2 -3
  254. package/d1/driver.cjs.map +1 -1
  255. package/d1/driver.d.ts +1 -1
  256. package/d1/driver.js +2 -3
  257. package/d1/driver.js.map +1 -1
  258. package/d1/session.cjs +15 -17
  259. package/d1/session.cjs.map +1 -1
  260. package/d1/session.d.cts +6 -9
  261. package/d1/session.d.ts +7 -10
  262. package/d1/session.js +16 -18
  263. package/d1/session.js.map +1 -1
  264. package/durable-sqlite/driver.cjs +2 -5
  265. package/durable-sqlite/driver.cjs.map +1 -1
  266. package/durable-sqlite/driver.d.ts +1 -1
  267. package/durable-sqlite/driver.js +2 -5
  268. package/durable-sqlite/driver.js.map +1 -1
  269. package/durable-sqlite/migrator.cjs +1 -1
  270. package/durable-sqlite/migrator.js +1 -1
  271. package/durable-sqlite/session.cjs +14 -15
  272. package/durable-sqlite/session.cjs.map +1 -1
  273. package/durable-sqlite/session.d.cts +6 -10
  274. package/durable-sqlite/session.d.ts +6 -10
  275. package/durable-sqlite/session.js +15 -16
  276. package/durable-sqlite/session.js.map +1 -1
  277. package/effect-core/index.cjs +1 -1
  278. package/effect-core/index.js +1 -1
  279. package/effect-postgres/driver.cjs +14 -100
  280. package/effect-postgres/driver.cjs.map +1 -1
  281. package/effect-postgres/driver.d.cts +8 -12
  282. package/effect-postgres/driver.d.ts +10 -14
  283. package/effect-postgres/driver.js +14 -100
  284. package/effect-postgres/driver.js.map +1 -1
  285. package/effect-postgres/index.cjs +1 -1
  286. package/effect-postgres/index.d.cts +3 -3
  287. package/effect-postgres/index.d.ts +3 -3
  288. package/effect-postgres/index.js +3 -3
  289. package/effect-postgres/migrator.cjs.map +1 -1
  290. package/effect-postgres/migrator.d.cts +1 -1
  291. package/effect-postgres/migrator.d.ts +2 -2
  292. package/effect-postgres/migrator.js.map +1 -1
  293. package/effect-postgres/session.cjs +71 -12
  294. package/effect-postgres/session.cjs.map +1 -1
  295. package/effect-postgres/session.d.cts +31 -14
  296. package/effect-postgres/session.d.ts +34 -17
  297. package/effect-postgres/session.js +71 -13
  298. package/effect-postgres/session.js.map +1 -1
  299. package/effect-schema/column.cjs +1 -1
  300. package/effect-schema/column.d.ts +8 -8
  301. package/effect-schema/column.js +1 -1
  302. package/effect-schema/column.types.d.ts +14 -14
  303. package/effect-schema/schema.types.internal.d.ts +7 -7
  304. package/expo-sqlite/driver.cjs +2 -5
  305. package/expo-sqlite/driver.cjs.map +1 -1
  306. package/expo-sqlite/driver.d.ts +1 -1
  307. package/expo-sqlite/driver.js +2 -5
  308. package/expo-sqlite/driver.js.map +1 -1
  309. package/expo-sqlite/session.cjs +14 -15
  310. package/expo-sqlite/session.cjs.map +1 -1
  311. package/expo-sqlite/session.d.cts +6 -10
  312. package/expo-sqlite/session.d.ts +6 -10
  313. package/expo-sqlite/session.js +15 -16
  314. package/expo-sqlite/session.js.map +1 -1
  315. package/gel/driver.cjs +3 -5
  316. package/gel/driver.cjs.map +1 -1
  317. package/gel/driver.d.cts +0 -1
  318. package/gel/driver.d.ts +4 -5
  319. package/gel/driver.js +3 -5
  320. package/gel/driver.js.map +1 -1
  321. package/gel/session.cjs +13 -13
  322. package/gel/session.cjs.map +1 -1
  323. package/gel/session.d.cts +5 -8
  324. package/gel/session.d.ts +9 -12
  325. package/gel/session.js +14 -14
  326. package/gel/session.js.map +1 -1
  327. package/gel-core/columns/bigintT.cjs +2 -2
  328. package/gel-core/columns/bigintT.cjs.map +1 -1
  329. package/gel-core/columns/bigintT.d.cts +1 -1
  330. package/gel-core/columns/bigintT.d.ts +1 -1
  331. package/gel-core/columns/bigintT.js +2 -2
  332. package/gel-core/columns/bigintT.js.map +1 -1
  333. package/gel-core/columns/common.cjs +3 -3
  334. package/gel-core/columns/common.cjs.map +1 -1
  335. package/gel-core/columns/common.d.cts +1 -1
  336. package/gel-core/columns/common.d.ts +1 -1
  337. package/gel-core/columns/common.js +3 -3
  338. package/gel-core/columns/common.js.map +1 -1
  339. package/gel-core/columns/custom.cjs +4 -4
  340. package/gel-core/columns/custom.cjs.map +1 -1
  341. package/gel-core/columns/custom.d.cts +2 -2
  342. package/gel-core/columns/custom.d.ts +2 -2
  343. package/gel-core/columns/custom.js +4 -4
  344. package/gel-core/columns/custom.js.map +1 -1
  345. package/gel-core/columns/double-precision.cjs +2 -2
  346. package/gel-core/columns/double-precision.cjs.map +1 -1
  347. package/gel-core/columns/double-precision.d.cts +1 -1
  348. package/gel-core/columns/double-precision.d.ts +1 -1
  349. package/gel-core/columns/double-precision.js +2 -2
  350. package/gel-core/columns/double-precision.js.map +1 -1
  351. package/gel-core/columns/timestamp.d.ts +1 -1
  352. package/gel-core/columns/timestamptz.cjs +2 -2
  353. package/gel-core/columns/timestamptz.cjs.map +1 -1
  354. package/gel-core/columns/timestamptz.d.cts +1 -1
  355. package/gel-core/columns/timestamptz.d.ts +1 -1
  356. package/gel-core/columns/timestamptz.js +2 -2
  357. package/gel-core/columns/timestamptz.js.map +1 -1
  358. package/gel-core/db.cjs +1 -1
  359. package/gel-core/db.cjs.map +1 -1
  360. package/gel-core/db.d.ts +3 -3
  361. package/gel-core/db.js +1 -1
  362. package/gel-core/db.js.map +1 -1
  363. package/gel-core/index.cjs +13 -13
  364. package/gel-core/index.js +13 -13
  365. package/gel-core/query-builders/_query.cjs +1 -1
  366. package/gel-core/query-builders/_query.cjs.map +1 -1
  367. package/gel-core/query-builders/_query.js +1 -1
  368. package/gel-core/query-builders/_query.js.map +1 -1
  369. package/gel-core/query-builders/delete.cjs +1 -1
  370. package/gel-core/query-builders/delete.cjs.map +1 -1
  371. package/gel-core/query-builders/delete.d.ts +2 -2
  372. package/gel-core/query-builders/delete.js +1 -1
  373. package/gel-core/query-builders/delete.js.map +1 -1
  374. package/gel-core/query-builders/index.cjs +1 -1
  375. package/gel-core/query-builders/index.js +1 -1
  376. package/gel-core/query-builders/insert.cjs +1 -1
  377. package/gel-core/query-builders/insert.cjs.map +1 -1
  378. package/gel-core/query-builders/insert.d.ts +2 -2
  379. package/gel-core/query-builders/insert.js +1 -1
  380. package/gel-core/query-builders/insert.js.map +1 -1
  381. package/gel-core/query-builders/query.cjs +5 -13
  382. package/gel-core/query-builders/query.cjs.map +1 -1
  383. package/gel-core/query-builders/query.d.ts +1 -1
  384. package/gel-core/query-builders/query.js +5 -13
  385. package/gel-core/query-builders/query.js.map +1 -1
  386. package/gel-core/query-builders/raw.cjs +4 -0
  387. package/gel-core/query-builders/raw.cjs.map +1 -1
  388. package/gel-core/query-builders/raw.js +4 -0
  389. package/gel-core/query-builders/raw.js.map +1 -1
  390. package/gel-core/query-builders/refresh-materialized-view.cjs +1 -1
  391. package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  392. package/gel-core/query-builders/refresh-materialized-view.d.ts +1 -1
  393. package/gel-core/query-builders/refresh-materialized-view.js +1 -1
  394. package/gel-core/query-builders/refresh-materialized-view.js.map +1 -1
  395. package/gel-core/query-builders/select.cjs +1 -1
  396. package/gel-core/query-builders/select.cjs.map +1 -1
  397. package/gel-core/query-builders/select.d.ts +3 -3
  398. package/gel-core/query-builders/select.js +1 -1
  399. package/gel-core/query-builders/select.js.map +1 -1
  400. package/gel-core/query-builders/select.types.d.ts +1 -1
  401. package/gel-core/query-builders/update.cjs +1 -1
  402. package/gel-core/query-builders/update.cjs.map +1 -1
  403. package/gel-core/query-builders/update.d.ts +2 -2
  404. package/gel-core/query-builders/update.js +1 -1
  405. package/gel-core/query-builders/update.js.map +1 -1
  406. package/gel-core/session.cjs +2 -2
  407. package/gel-core/session.cjs.map +1 -1
  408. package/gel-core/session.d.cts +3 -3
  409. package/gel-core/session.d.ts +3 -3
  410. package/gel-core/session.js +2 -2
  411. package/gel-core/session.js.map +1 -1
  412. package/gel-core/table.cjs +1 -1
  413. package/gel-core/table.cjs.map +1 -1
  414. package/gel-core/table.js +1 -1
  415. package/gel-core/table.js.map +1 -1
  416. package/gel-core/utils.cjs +4 -4
  417. package/gel-core/utils.js +4 -4
  418. package/gel-core/view.cjs +1 -1
  419. package/gel-core/view.js +1 -1
  420. package/index.cjs +6 -12
  421. package/index.d.cts +6 -6
  422. package/index.d.ts +6 -6
  423. package/index.js +9 -9
  424. package/libsql/driver-core.cjs +2 -3
  425. package/libsql/driver-core.cjs.map +1 -1
  426. package/libsql/driver-core.d.ts +1 -1
  427. package/libsql/driver-core.js +2 -3
  428. package/libsql/driver-core.js.map +1 -1
  429. package/libsql/session.cjs +15 -14
  430. package/libsql/session.cjs.map +1 -1
  431. package/libsql/session.d.cts +6 -9
  432. package/libsql/session.d.ts +7 -10
  433. package/libsql/session.js +16 -15
  434. package/libsql/session.js.map +1 -1
  435. package/mssql-core/columns/bigint.cjs +2 -2
  436. package/mssql-core/columns/bigint.cjs.map +1 -1
  437. package/mssql-core/columns/bigint.d.cts +1 -1
  438. package/mssql-core/columns/bigint.d.ts +1 -1
  439. package/mssql-core/columns/bigint.js +2 -2
  440. package/mssql-core/columns/bigint.js.map +1 -1
  441. package/mssql-core/columns/custom.cjs +4 -4
  442. package/mssql-core/columns/custom.cjs.map +1 -1
  443. package/mssql-core/columns/custom.d.cts +2 -2
  444. package/mssql-core/columns/custom.d.ts +2 -2
  445. package/mssql-core/columns/custom.js +4 -4
  446. package/mssql-core/columns/custom.js.map +1 -1
  447. package/mssql-core/columns/date.cjs +4 -4
  448. package/mssql-core/columns/date.cjs.map +1 -1
  449. package/mssql-core/columns/date.d.cts +2 -2
  450. package/mssql-core/columns/date.d.ts +2 -2
  451. package/mssql-core/columns/date.js +4 -4
  452. package/mssql-core/columns/date.js.map +1 -1
  453. package/mssql-core/columns/datetime.cjs +2 -2
  454. package/mssql-core/columns/datetime.cjs.map +1 -1
  455. package/mssql-core/columns/datetime.d.cts +1 -1
  456. package/mssql-core/columns/datetime.d.ts +1 -1
  457. package/mssql-core/columns/datetime.js +2 -2
  458. package/mssql-core/columns/datetime.js.map +1 -1
  459. package/mssql-core/columns/datetime2.cjs +2 -2
  460. package/mssql-core/columns/datetime2.cjs.map +1 -1
  461. package/mssql-core/columns/datetime2.d.cts +1 -1
  462. package/mssql-core/columns/datetime2.d.ts +1 -1
  463. package/mssql-core/columns/datetime2.js +2 -2
  464. package/mssql-core/columns/datetime2.js.map +1 -1
  465. package/mssql-core/columns/datetimeoffset.cjs +2 -2
  466. package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
  467. package/mssql-core/columns/datetimeoffset.d.cts +1 -1
  468. package/mssql-core/columns/datetimeoffset.d.ts +1 -1
  469. package/mssql-core/columns/datetimeoffset.js +2 -2
  470. package/mssql-core/columns/datetimeoffset.js.map +1 -1
  471. package/mssql-core/columns/decimal.cjs +4 -4
  472. package/mssql-core/columns/decimal.cjs.map +1 -1
  473. package/mssql-core/columns/decimal.d.cts +2 -2
  474. package/mssql-core/columns/decimal.d.ts +2 -2
  475. package/mssql-core/columns/decimal.js +4 -4
  476. package/mssql-core/columns/decimal.js.map +1 -1
  477. package/mssql-core/columns/numeric.cjs +4 -4
  478. package/mssql-core/columns/numeric.cjs.map +1 -1
  479. package/mssql-core/columns/numeric.d.cts +2 -2
  480. package/mssql-core/columns/numeric.d.ts +2 -2
  481. package/mssql-core/columns/numeric.js +4 -4
  482. package/mssql-core/columns/numeric.js.map +1 -1
  483. package/mssql-core/columns/smallint.cjs +2 -2
  484. package/mssql-core/columns/smallint.cjs.map +1 -1
  485. package/mssql-core/columns/smallint.d.cts +1 -1
  486. package/mssql-core/columns/smallint.d.ts +1 -1
  487. package/mssql-core/columns/smallint.js +2 -2
  488. package/mssql-core/columns/smallint.js.map +1 -1
  489. package/mssql-core/columns/time.cjs +2 -2
  490. package/mssql-core/columns/time.cjs.map +1 -1
  491. package/mssql-core/columns/time.d.cts +1 -1
  492. package/mssql-core/columns/time.d.ts +1 -1
  493. package/mssql-core/columns/time.js +2 -2
  494. package/mssql-core/columns/time.js.map +1 -1
  495. package/mssql-core/columns/tinyint.cjs +2 -2
  496. package/mssql-core/columns/tinyint.cjs.map +1 -1
  497. package/mssql-core/columns/tinyint.d.cts +1 -1
  498. package/mssql-core/columns/tinyint.d.ts +1 -1
  499. package/mssql-core/columns/tinyint.js +2 -2
  500. package/mssql-core/columns/tinyint.js.map +1 -1
  501. package/mssql-core/columns/varchar.cjs +4 -4
  502. package/mssql-core/columns/varchar.cjs.map +1 -1
  503. package/mssql-core/columns/varchar.d.cts +2 -2
  504. package/mssql-core/columns/varchar.d.ts +2 -2
  505. package/mssql-core/columns/varchar.js +4 -4
  506. package/mssql-core/columns/varchar.js.map +1 -1
  507. package/mssql-core/dialect.cjs +2 -2
  508. package/mssql-core/dialect.d.ts +1 -1
  509. package/mssql-core/dialect.js +2 -2
  510. package/mssql-core/index.cjs +13 -13
  511. package/mssql-core/index.js +13 -13
  512. package/mssql-core/query-builders/delete.d.ts +1 -1
  513. package/mssql-core/query-builders/insert.d.ts +1 -1
  514. package/mssql-core/query-builders/select.d.ts +1 -1
  515. package/mssql-core/query-builders/update.d.ts +2 -2
  516. package/mssql-core/table.cjs +1 -1
  517. package/mssql-core/table.cjs.map +1 -1
  518. package/mssql-core/table.js +1 -1
  519. package/mssql-core/table.js.map +1 -1
  520. package/mssql-core/utils.cjs +3 -3
  521. package/mssql-core/utils.js +3 -3
  522. package/mssql-core/view.cjs +2 -2
  523. package/mssql-core/view.js +2 -2
  524. package/mysql-core/columns/bigint.cjs +8 -8
  525. package/mysql-core/columns/bigint.cjs.map +1 -1
  526. package/mysql-core/columns/bigint.d.cts +4 -4
  527. package/mysql-core/columns/bigint.d.ts +4 -4
  528. package/mysql-core/columns/bigint.js +8 -8
  529. package/mysql-core/columns/bigint.js.map +1 -1
  530. package/mysql-core/columns/binary.cjs +2 -2
  531. package/mysql-core/columns/binary.cjs.map +1 -1
  532. package/mysql-core/columns/binary.d.cts +1 -1
  533. package/mysql-core/columns/binary.d.ts +1 -1
  534. package/mysql-core/columns/binary.js +2 -2
  535. package/mysql-core/columns/binary.js.map +1 -1
  536. package/mysql-core/columns/blob.cjs +4 -4
  537. package/mysql-core/columns/blob.cjs.map +1 -1
  538. package/mysql-core/columns/blob.d.cts +2 -2
  539. package/mysql-core/columns/blob.d.ts +2 -2
  540. package/mysql-core/columns/blob.js +4 -4
  541. package/mysql-core/columns/blob.js.map +1 -1
  542. package/mysql-core/columns/boolean.cjs +2 -2
  543. package/mysql-core/columns/boolean.cjs.map +1 -1
  544. package/mysql-core/columns/boolean.d.cts +1 -1
  545. package/mysql-core/columns/boolean.d.ts +1 -1
  546. package/mysql-core/columns/boolean.js +2 -2
  547. package/mysql-core/columns/boolean.js.map +1 -1
  548. package/mysql-core/columns/custom.cjs +4 -4
  549. package/mysql-core/columns/custom.cjs.map +1 -1
  550. package/mysql-core/columns/custom.d.cts +2 -2
  551. package/mysql-core/columns/custom.d.ts +2 -2
  552. package/mysql-core/columns/custom.js +4 -4
  553. package/mysql-core/columns/custom.js.map +1 -1
  554. package/mysql-core/columns/date.cjs +4 -4
  555. package/mysql-core/columns/date.cjs.map +1 -1
  556. package/mysql-core/columns/date.d.cts +2 -2
  557. package/mysql-core/columns/date.d.ts +2 -2
  558. package/mysql-core/columns/date.js +4 -4
  559. package/mysql-core/columns/date.js.map +1 -1
  560. package/mysql-core/columns/datetime.cjs +8 -8
  561. package/mysql-core/columns/datetime.cjs.map +1 -1
  562. package/mysql-core/columns/datetime.d.cts +4 -4
  563. package/mysql-core/columns/datetime.d.ts +4 -4
  564. package/mysql-core/columns/datetime.js +8 -8
  565. package/mysql-core/columns/datetime.js.map +1 -1
  566. package/mysql-core/columns/decimal.cjs +4 -4
  567. package/mysql-core/columns/decimal.cjs.map +1 -1
  568. package/mysql-core/columns/decimal.d.cts +2 -2
  569. package/mysql-core/columns/decimal.d.ts +2 -2
  570. package/mysql-core/columns/decimal.js +4 -4
  571. package/mysql-core/columns/decimal.js.map +1 -1
  572. package/mysql-core/columns/float.cjs +2 -2
  573. package/mysql-core/columns/float.cjs.map +1 -1
  574. package/mysql-core/columns/float.d.cts +1 -1
  575. package/mysql-core/columns/float.d.ts +1 -1
  576. package/mysql-core/columns/float.js +2 -2
  577. package/mysql-core/columns/float.js.map +1 -1
  578. package/mysql-core/columns/int.cjs +2 -2
  579. package/mysql-core/columns/int.cjs.map +1 -1
  580. package/mysql-core/columns/int.d.cts +1 -1
  581. package/mysql-core/columns/int.d.ts +1 -1
  582. package/mysql-core/columns/int.js +2 -2
  583. package/mysql-core/columns/int.js.map +1 -1
  584. package/mysql-core/columns/json.cjs +2 -2
  585. package/mysql-core/columns/json.cjs.map +1 -1
  586. package/mysql-core/columns/json.d.cts +1 -1
  587. package/mysql-core/columns/json.d.ts +1 -1
  588. package/mysql-core/columns/json.js +2 -2
  589. package/mysql-core/columns/json.js.map +1 -1
  590. package/mysql-core/columns/mediumint.cjs +2 -2
  591. package/mysql-core/columns/mediumint.cjs.map +1 -1
  592. package/mysql-core/columns/mediumint.d.cts +1 -1
  593. package/mysql-core/columns/mediumint.d.ts +1 -1
  594. package/mysql-core/columns/mediumint.js +2 -2
  595. package/mysql-core/columns/mediumint.js.map +1 -1
  596. package/mysql-core/columns/serial.cjs +2 -2
  597. package/mysql-core/columns/serial.cjs.map +1 -1
  598. package/mysql-core/columns/serial.d.cts +1 -1
  599. package/mysql-core/columns/serial.d.ts +1 -1
  600. package/mysql-core/columns/serial.js +2 -2
  601. package/mysql-core/columns/serial.js.map +1 -1
  602. package/mysql-core/columns/smallint.cjs +2 -2
  603. package/mysql-core/columns/smallint.cjs.map +1 -1
  604. package/mysql-core/columns/smallint.d.cts +1 -1
  605. package/mysql-core/columns/smallint.d.ts +1 -1
  606. package/mysql-core/columns/smallint.js +2 -2
  607. package/mysql-core/columns/smallint.js.map +1 -1
  608. package/mysql-core/columns/time.cjs +2 -2
  609. package/mysql-core/columns/time.cjs.map +1 -1
  610. package/mysql-core/columns/time.d.cts +1 -1
  611. package/mysql-core/columns/time.d.ts +1 -1
  612. package/mysql-core/columns/time.js +2 -2
  613. package/mysql-core/columns/time.js.map +1 -1
  614. package/mysql-core/columns/timestamp.cjs +8 -8
  615. package/mysql-core/columns/timestamp.cjs.map +1 -1
  616. package/mysql-core/columns/timestamp.d.cts +4 -4
  617. package/mysql-core/columns/timestamp.d.ts +4 -4
  618. package/mysql-core/columns/timestamp.js +8 -8
  619. package/mysql-core/columns/timestamp.js.map +1 -1
  620. package/mysql-core/columns/tinyint.cjs +2 -2
  621. package/mysql-core/columns/tinyint.cjs.map +1 -1
  622. package/mysql-core/columns/tinyint.d.cts +1 -1
  623. package/mysql-core/columns/tinyint.d.ts +1 -1
  624. package/mysql-core/columns/tinyint.js +2 -2
  625. package/mysql-core/columns/tinyint.js.map +1 -1
  626. package/mysql-core/columns/varbinary.cjs +2 -2
  627. package/mysql-core/columns/varbinary.cjs.map +1 -1
  628. package/mysql-core/columns/varbinary.d.cts +1 -1
  629. package/mysql-core/columns/varbinary.d.ts +1 -1
  630. package/mysql-core/columns/varbinary.js +2 -2
  631. package/mysql-core/columns/varbinary.js.map +1 -1
  632. package/mysql-core/columns/year.cjs +2 -2
  633. package/mysql-core/columns/year.cjs.map +1 -1
  634. package/mysql-core/columns/year.d.cts +1 -1
  635. package/mysql-core/columns/year.d.ts +1 -1
  636. package/mysql-core/columns/year.js +2 -2
  637. package/mysql-core/columns/year.js.map +1 -1
  638. package/mysql-core/db.d.ts +2 -2
  639. package/mysql-core/dialect.cjs +2 -2
  640. package/mysql-core/dialect.d.ts +1 -1
  641. package/mysql-core/dialect.js +2 -2
  642. package/mysql-core/index.cjs +1 -1
  643. package/mysql-core/index.js +1 -1
  644. package/mysql-core/query-builders/query.cjs +5 -13
  645. package/mysql-core/query-builders/query.cjs.map +1 -1
  646. package/mysql-core/query-builders/query.d.ts +1 -1
  647. package/mysql-core/query-builders/query.js +5 -13
  648. package/mysql-core/query-builders/query.js.map +1 -1
  649. package/mysql-core/session.cjs +2 -1
  650. package/mysql-core/session.cjs.map +1 -1
  651. package/mysql-core/session.d.cts +4 -3
  652. package/mysql-core/session.d.ts +4 -3
  653. package/mysql-core/session.js +2 -1
  654. package/mysql-core/session.js.map +1 -1
  655. package/mysql-core/table.cjs +1 -1
  656. package/mysql-core/table.cjs.map +1 -1
  657. package/mysql-core/table.js +1 -1
  658. package/mysql-core/table.js.map +1 -1
  659. package/mysql-proxy/driver.cjs +2 -5
  660. package/mysql-proxy/driver.cjs.map +1 -1
  661. package/mysql-proxy/driver.js +2 -5
  662. package/mysql-proxy/driver.js.map +1 -1
  663. package/mysql-proxy/session.cjs +19 -26
  664. package/mysql-proxy/session.cjs.map +1 -1
  665. package/mysql-proxy/session.d.cts +4 -11
  666. package/mysql-proxy/session.d.ts +6 -13
  667. package/mysql-proxy/session.js +20 -27
  668. package/mysql-proxy/session.js.map +1 -1
  669. package/mysql2/driver.cjs +2 -3
  670. package/mysql2/driver.cjs.map +1 -1
  671. package/mysql2/driver.d.cts +0 -1
  672. package/mysql2/driver.d.ts +3 -4
  673. package/mysql2/driver.js +2 -3
  674. package/mysql2/driver.js.map +1 -1
  675. package/mysql2/session.cjs +39 -49
  676. package/mysql2/session.cjs.map +1 -1
  677. package/mysql2/session.d.cts +4 -11
  678. package/mysql2/session.d.ts +6 -13
  679. package/mysql2/session.js +40 -50
  680. package/mysql2/session.js.map +1 -1
  681. package/neon-http/driver.cjs +65 -34
  682. package/neon-http/driver.cjs.map +1 -1
  683. package/neon-http/driver.d.cts +19 -15
  684. package/neon-http/driver.d.ts +20 -16
  685. package/neon-http/driver.js +64 -34
  686. package/neon-http/driver.js.map +1 -1
  687. package/neon-http/index.cjs +4 -2
  688. package/neon-http/index.d.cts +3 -3
  689. package/neon-http/index.d.ts +3 -3
  690. package/neon-http/index.js +3 -3
  691. package/neon-http/migrator.cjs +1 -1
  692. package/neon-http/migrator.cjs.map +1 -1
  693. package/neon-http/migrator.d.cts +1 -1
  694. package/neon-http/migrator.d.ts +1 -1
  695. package/neon-http/migrator.js +1 -1
  696. package/neon-http/migrator.js.map +1 -1
  697. package/neon-http/session.cjs +117 -28
  698. package/neon-http/session.cjs.map +1 -1
  699. package/neon-http/session.d.cts +38 -10
  700. package/neon-http/session.d.ts +40 -12
  701. package/neon-http/session.js +117 -30
  702. package/neon-http/session.js.map +1 -1
  703. package/neon-serverless/driver.cjs +32 -14
  704. package/neon-serverless/driver.cjs.map +1 -1
  705. package/neon-serverless/driver.d.cts +17 -12
  706. package/neon-serverless/driver.d.ts +18 -13
  707. package/neon-serverless/driver.js +31 -14
  708. package/neon-serverless/driver.js.map +1 -1
  709. package/neon-serverless/index.cjs +3 -2
  710. package/neon-serverless/index.d.cts +3 -3
  711. package/neon-serverless/index.d.ts +3 -3
  712. package/neon-serverless/index.js +3 -3
  713. package/neon-serverless/migrator.cjs.map +1 -1
  714. package/neon-serverless/migrator.d.cts +1 -1
  715. package/neon-serverless/migrator.d.ts +1 -1
  716. package/neon-serverless/migrator.js.map +1 -1
  717. package/neon-serverless/session.cjs +108 -32
  718. package/neon-serverless/session.cjs.map +1 -1
  719. package/neon-serverless/session.d.cts +32 -9
  720. package/neon-serverless/session.d.ts +33 -10
  721. package/neon-serverless/session.js +109 -34
  722. package/neon-serverless/session.js.map +1 -1
  723. package/netlify-db/driver.cjs +123 -0
  724. package/netlify-db/driver.cjs.map +1 -0
  725. package/netlify-db/driver.d.cts +90 -0
  726. package/netlify-db/driver.d.ts +90 -0
  727. package/netlify-db/driver.js +113 -0
  728. package/netlify-db/driver.js.map +1 -0
  729. package/netlify-db/index.cjs +15 -0
  730. package/netlify-db/index.d.cts +3 -0
  731. package/netlify-db/index.d.ts +3 -0
  732. package/netlify-db/index.js +4 -0
  733. package/netlify-db/migrator.cjs +17 -0
  734. package/netlify-db/migrator.cjs.map +1 -0
  735. package/netlify-db/migrator.d.cts +11 -0
  736. package/netlify-db/migrator.d.ts +11 -0
  737. package/netlify-db/migrator.js +15 -0
  738. package/netlify-db/migrator.js.map +1 -0
  739. package/netlify-db/session.cjs +153 -0
  740. package/netlify-db/session.cjs.map +1 -0
  741. package/netlify-db/session.d.cts +68 -0
  742. package/netlify-db/session.d.ts +68 -0
  743. package/netlify-db/session.js +149 -0
  744. package/netlify-db/session.js.map +1 -0
  745. package/node-mssql/driver.cjs +3 -9
  746. package/node-mssql/driver.cjs.map +1 -1
  747. package/node-mssql/driver.d.cts +0 -1
  748. package/node-mssql/driver.d.ts +2 -3
  749. package/node-mssql/driver.js +3 -9
  750. package/node-mssql/driver.js.map +1 -1
  751. package/node-mssql/session.cjs +4 -6
  752. package/node-mssql/session.cjs.map +1 -1
  753. package/node-mssql/session.d.cts +1 -4
  754. package/node-mssql/session.d.ts +3 -6
  755. package/node-mssql/session.js +5 -7
  756. package/node-mssql/session.js.map +1 -1
  757. package/node-postgres/driver.cjs +18 -15
  758. package/node-postgres/driver.cjs.map +1 -1
  759. package/node-postgres/driver.d.cts +6 -11
  760. package/node-postgres/driver.d.ts +7 -12
  761. package/node-postgres/driver.js +18 -15
  762. package/node-postgres/driver.js.map +1 -1
  763. package/node-postgres/index.cjs +2 -2
  764. package/node-postgres/index.d.cts +3 -3
  765. package/node-postgres/index.d.ts +3 -3
  766. package/node-postgres/index.js +3 -3
  767. package/node-postgres/migrator.cjs.map +1 -1
  768. package/node-postgres/migrator.d.cts +1 -1
  769. package/node-postgres/migrator.d.ts +1 -1
  770. package/node-postgres/migrator.js.map +1 -1
  771. package/node-postgres/session.cjs +126 -33
  772. package/node-postgres/session.cjs.map +1 -1
  773. package/node-postgres/session.d.cts +30 -10
  774. package/node-postgres/session.d.ts +31 -11
  775. package/node-postgres/session.js +127 -35
  776. package/node-postgres/session.js.map +1 -1
  777. package/node-sqlite/driver.cjs +1 -1
  778. package/node-sqlite/driver.d.ts +1 -1
  779. package/node-sqlite/driver.js +1 -1
  780. package/node-sqlite/session.cjs +9 -4
  781. package/node-sqlite/session.cjs.map +1 -1
  782. package/node-sqlite/session.d.cts +4 -3
  783. package/node-sqlite/session.d.ts +5 -4
  784. package/node-sqlite/session.js +9 -4
  785. package/node-sqlite/session.js.map +1 -1
  786. package/op-sqlite/driver.cjs +2 -3
  787. package/op-sqlite/driver.cjs.map +1 -1
  788. package/op-sqlite/driver.d.ts +1 -1
  789. package/op-sqlite/driver.js +2 -3
  790. package/op-sqlite/driver.js.map +1 -1
  791. package/op-sqlite/session.cjs +16 -18
  792. package/op-sqlite/session.cjs.map +1 -1
  793. package/op-sqlite/session.d.cts +6 -10
  794. package/op-sqlite/session.d.ts +7 -11
  795. package/op-sqlite/session.js +17 -19
  796. package/op-sqlite/session.js.map +1 -1
  797. package/operations.d.cts +0 -3
  798. package/operations.d.ts +0 -3
  799. package/package.cjs +1 -1
  800. package/package.js +1 -1
  801. package/package.json +4736 -4700
  802. package/pg-core/async/count.cjs +9 -2
  803. package/pg-core/async/count.cjs.map +1 -1
  804. package/pg-core/async/count.js +9 -2
  805. package/pg-core/async/count.js.map +1 -1
  806. package/pg-core/async/db.cjs +27 -10
  807. package/pg-core/async/db.cjs.map +1 -1
  808. package/pg-core/async/db.d.cts +13 -5
  809. package/pg-core/async/db.d.ts +16 -8
  810. package/pg-core/async/db.js +27 -10
  811. package/pg-core/async/db.js.map +1 -1
  812. package/pg-core/async/delete.cjs +13 -8
  813. package/pg-core/async/delete.cjs.map +1 -1
  814. package/pg-core/async/delete.js +13 -8
  815. package/pg-core/async/delete.js.map +1 -1
  816. package/pg-core/async/insert.cjs +12 -7
  817. package/pg-core/async/insert.cjs.map +1 -1
  818. package/pg-core/async/insert.js +12 -7
  819. package/pg-core/async/insert.js.map +1 -1
  820. package/pg-core/async/query.cjs +14 -8
  821. package/pg-core/async/query.cjs.map +1 -1
  822. package/pg-core/async/query.js +14 -8
  823. package/pg-core/async/query.js.map +1 -1
  824. package/pg-core/async/refresh-materialized-view.cjs +9 -1
  825. package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
  826. package/pg-core/async/refresh-materialized-view.js +9 -1
  827. package/pg-core/async/refresh-materialized-view.js.map +1 -1
  828. package/pg-core/async/select.cjs +13 -4
  829. package/pg-core/async/select.cjs.map +1 -1
  830. package/pg-core/async/select.js +13 -4
  831. package/pg-core/async/select.js.map +1 -1
  832. package/pg-core/async/session.cjs +22 -46
  833. package/pg-core/async/session.cjs.map +1 -1
  834. package/pg-core/async/session.d.cts +31 -25
  835. package/pg-core/async/session.d.ts +32 -26
  836. package/pg-core/async/session.js +23 -47
  837. package/pg-core/async/session.js.map +1 -1
  838. package/pg-core/async/update.cjs +15 -11
  839. package/pg-core/async/update.cjs.map +1 -1
  840. package/pg-core/async/update.js +15 -11
  841. package/pg-core/async/update.js.map +1 -1
  842. package/pg-core/columns/bigint.cjs +9 -10
  843. package/pg-core/columns/bigint.cjs.map +1 -1
  844. package/pg-core/columns/bigint.d.cts +3 -2
  845. package/pg-core/columns/bigint.d.ts +3 -2
  846. package/pg-core/columns/bigint.js +9 -10
  847. package/pg-core/columns/bigint.js.map +1 -1
  848. package/pg-core/columns/bigserial.cjs +6 -6
  849. package/pg-core/columns/bigserial.cjs.map +1 -1
  850. package/pg-core/columns/bigserial.d.cts +2 -1
  851. package/pg-core/columns/bigserial.d.ts +2 -1
  852. package/pg-core/columns/bigserial.js +6 -6
  853. package/pg-core/columns/bigserial.js.map +1 -1
  854. package/pg-core/columns/boolean.cjs +0 -2
  855. package/pg-core/columns/boolean.cjs.map +1 -1
  856. package/pg-core/columns/boolean.js +0 -2
  857. package/pg-core/columns/boolean.js.map +1 -1
  858. package/pg-core/columns/bytea.cjs +8 -2
  859. package/pg-core/columns/bytea.cjs.map +1 -1
  860. package/pg-core/columns/bytea.d.cts +1 -0
  861. package/pg-core/columns/bytea.d.ts +1 -0
  862. package/pg-core/columns/bytea.js +8 -2
  863. package/pg-core/columns/bytea.js.map +1 -1
  864. package/pg-core/columns/char.cjs +0 -2
  865. package/pg-core/columns/char.cjs.map +1 -1
  866. package/pg-core/columns/char.js +0 -2
  867. package/pg-core/columns/char.js.map +1 -1
  868. package/pg-core/columns/cidr.cjs +0 -2
  869. package/pg-core/columns/cidr.cjs.map +1 -1
  870. package/pg-core/columns/cidr.js +0 -2
  871. package/pg-core/columns/cidr.js.map +1 -1
  872. package/pg-core/columns/common.cjs +9 -11
  873. package/pg-core/columns/common.cjs.map +1 -1
  874. package/pg-core/columns/common.d.cts +39 -34
  875. package/pg-core/columns/common.d.ts +39 -34
  876. package/pg-core/columns/common.js +9 -11
  877. package/pg-core/columns/common.js.map +1 -1
  878. package/pg-core/columns/custom.cjs +46 -16
  879. package/pg-core/columns/custom.cjs.map +1 -1
  880. package/pg-core/columns/custom.d.cts +8 -17
  881. package/pg-core/columns/custom.d.ts +8 -17
  882. package/pg-core/columns/custom.js +46 -16
  883. package/pg-core/columns/custom.js.map +1 -1
  884. package/pg-core/columns/date.cjs +12 -11
  885. package/pg-core/columns/date.cjs.map +1 -1
  886. package/pg-core/columns/date.d.cts +4 -3
  887. package/pg-core/columns/date.d.ts +4 -3
  888. package/pg-core/columns/date.js +12 -11
  889. package/pg-core/columns/date.js.map +1 -1
  890. package/pg-core/columns/double-precision.cjs +4 -2
  891. package/pg-core/columns/double-precision.cjs.map +1 -1
  892. package/pg-core/columns/double-precision.d.cts +1 -0
  893. package/pg-core/columns/double-precision.d.ts +1 -0
  894. package/pg-core/columns/double-precision.js +4 -2
  895. package/pg-core/columns/double-precision.js.map +1 -1
  896. package/pg-core/columns/enum.cjs +0 -4
  897. package/pg-core/columns/enum.cjs.map +1 -1
  898. package/pg-core/columns/enum.js +0 -4
  899. package/pg-core/columns/enum.js.map +1 -1
  900. package/pg-core/columns/index.d.cts +2 -2
  901. package/pg-core/columns/index.d.ts +2 -2
  902. package/pg-core/columns/inet.cjs +0 -2
  903. package/pg-core/columns/inet.cjs.map +1 -1
  904. package/pg-core/columns/inet.js +0 -2
  905. package/pg-core/columns/inet.js.map +1 -1
  906. package/pg-core/columns/integer.cjs +4 -2
  907. package/pg-core/columns/integer.cjs.map +1 -1
  908. package/pg-core/columns/integer.d.cts +1 -0
  909. package/pg-core/columns/integer.d.ts +1 -0
  910. package/pg-core/columns/integer.js +4 -2
  911. package/pg-core/columns/integer.js.map +1 -1
  912. package/pg-core/columns/interval.cjs +0 -2
  913. package/pg-core/columns/interval.cjs.map +1 -1
  914. package/pg-core/columns/interval.js +0 -2
  915. package/pg-core/columns/interval.js.map +1 -1
  916. package/pg-core/columns/json.cjs +11 -2
  917. package/pg-core/columns/json.cjs.map +1 -1
  918. package/pg-core/columns/json.d.cts +2 -0
  919. package/pg-core/columns/json.d.ts +2 -0
  920. package/pg-core/columns/json.js +11 -2
  921. package/pg-core/columns/json.js.map +1 -1
  922. package/pg-core/columns/jsonb.cjs +11 -2
  923. package/pg-core/columns/jsonb.cjs.map +1 -1
  924. package/pg-core/columns/jsonb.d.cts +2 -0
  925. package/pg-core/columns/jsonb.d.ts +2 -0
  926. package/pg-core/columns/jsonb.js +11 -2
  927. package/pg-core/columns/jsonb.js.map +1 -1
  928. package/pg-core/columns/line.cjs +8 -12
  929. package/pg-core/columns/line.cjs.map +1 -1
  930. package/pg-core/columns/line.d.cts +5 -5
  931. package/pg-core/columns/line.d.ts +5 -5
  932. package/pg-core/columns/line.js +8 -12
  933. package/pg-core/columns/line.js.map +1 -1
  934. package/pg-core/columns/macaddr.cjs +0 -2
  935. package/pg-core/columns/macaddr.cjs.map +1 -1
  936. package/pg-core/columns/macaddr.js +0 -2
  937. package/pg-core/columns/macaddr.js.map +1 -1
  938. package/pg-core/columns/macaddr8.cjs +0 -2
  939. package/pg-core/columns/macaddr8.cjs.map +1 -1
  940. package/pg-core/columns/macaddr8.js +0 -2
  941. package/pg-core/columns/macaddr8.js.map +1 -1
  942. package/pg-core/columns/numeric.cjs +15 -12
  943. package/pg-core/columns/numeric.cjs.map +1 -1
  944. package/pg-core/columns/numeric.d.cts +5 -4
  945. package/pg-core/columns/numeric.d.ts +5 -4
  946. package/pg-core/columns/numeric.js +15 -12
  947. package/pg-core/columns/numeric.js.map +1 -1
  948. package/pg-core/columns/point.cjs +21 -19
  949. package/pg-core/columns/point.cjs.map +1 -1
  950. package/pg-core/columns/point.d.cts +11 -5
  951. package/pg-core/columns/point.d.ts +11 -5
  952. package/pg-core/columns/point.js +21 -19
  953. package/pg-core/columns/point.js.map +1 -1
  954. package/pg-core/columns/postgis_extension/geometry.cjs +9 -12
  955. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  956. package/pg-core/columns/postgis_extension/geometry.d.cts +5 -5
  957. package/pg-core/columns/postgis_extension/geometry.d.ts +5 -5
  958. package/pg-core/columns/postgis_extension/geometry.js +9 -12
  959. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  960. package/pg-core/columns/real.cjs +4 -2
  961. package/pg-core/columns/real.cjs.map +1 -1
  962. package/pg-core/columns/real.d.cts +1 -0
  963. package/pg-core/columns/real.d.ts +1 -0
  964. package/pg-core/columns/real.js +4 -2
  965. package/pg-core/columns/real.js.map +1 -1
  966. package/pg-core/columns/serial.cjs +0 -2
  967. package/pg-core/columns/serial.cjs.map +1 -1
  968. package/pg-core/columns/serial.js +0 -2
  969. package/pg-core/columns/serial.js.map +1 -1
  970. package/pg-core/columns/smallint.cjs +4 -2
  971. package/pg-core/columns/smallint.cjs.map +1 -1
  972. package/pg-core/columns/smallint.d.cts +1 -0
  973. package/pg-core/columns/smallint.d.ts +1 -0
  974. package/pg-core/columns/smallint.js +4 -2
  975. package/pg-core/columns/smallint.js.map +1 -1
  976. package/pg-core/columns/smallserial.cjs +0 -2
  977. package/pg-core/columns/smallserial.cjs.map +1 -1
  978. package/pg-core/columns/smallserial.js +0 -2
  979. package/pg-core/columns/smallserial.js.map +1 -1
  980. package/pg-core/columns/text.cjs +0 -2
  981. package/pg-core/columns/text.cjs.map +1 -1
  982. package/pg-core/columns/text.js +0 -2
  983. package/pg-core/columns/text.js.map +1 -1
  984. package/pg-core/columns/time.cjs +0 -2
  985. package/pg-core/columns/time.cjs.map +1 -1
  986. package/pg-core/columns/time.js +0 -2
  987. package/pg-core/columns/time.js.map +1 -1
  988. package/pg-core/columns/timestamp.cjs +14 -13
  989. package/pg-core/columns/timestamp.cjs.map +1 -1
  990. package/pg-core/columns/timestamp.d.cts +4 -3
  991. package/pg-core/columns/timestamp.d.ts +4 -3
  992. package/pg-core/columns/timestamp.js +14 -13
  993. package/pg-core/columns/timestamp.js.map +1 -1
  994. package/pg-core/columns/uuid.cjs +0 -2
  995. package/pg-core/columns/uuid.cjs.map +1 -1
  996. package/pg-core/columns/uuid.js +0 -2
  997. package/pg-core/columns/uuid.js.map +1 -1
  998. package/pg-core/columns/varchar.cjs +0 -2
  999. package/pg-core/columns/varchar.cjs.map +1 -1
  1000. package/pg-core/columns/varchar.js +0 -2
  1001. package/pg-core/columns/varchar.js.map +1 -1
  1002. package/pg-core/columns/vector_extension/bit.cjs +0 -2
  1003. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  1004. package/pg-core/columns/vector_extension/bit.js +0 -2
  1005. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  1006. package/pg-core/columns/vector_extension/halfvec.cjs +4 -6
  1007. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  1008. package/pg-core/columns/vector_extension/halfvec.d.cts +2 -2
  1009. package/pg-core/columns/vector_extension/halfvec.d.ts +2 -2
  1010. package/pg-core/columns/vector_extension/halfvec.js +4 -6
  1011. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  1012. package/pg-core/columns/vector_extension/sparsevec.cjs +0 -2
  1013. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  1014. package/pg-core/columns/vector_extension/sparsevec.js +0 -2
  1015. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  1016. package/pg-core/columns/vector_extension/vector.cjs +4 -6
  1017. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  1018. package/pg-core/columns/vector_extension/vector.d.cts +2 -2
  1019. package/pg-core/columns/vector_extension/vector.d.ts +2 -2
  1020. package/pg-core/columns/vector_extension/vector.js +4 -6
  1021. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  1022. package/pg-core/dialect.cjs +217 -52
  1023. package/pg-core/dialect.cjs.map +1 -1
  1024. package/pg-core/dialect.d.cts +30 -19
  1025. package/pg-core/dialect.d.ts +31 -20
  1026. package/pg-core/dialect.js +221 -57
  1027. package/pg-core/dialect.js.map +1 -1
  1028. package/pg-core/effect/count.cjs +1 -1
  1029. package/pg-core/effect/count.cjs.map +1 -1
  1030. package/pg-core/effect/count.d.cts +2 -2
  1031. package/pg-core/effect/count.d.ts +2 -2
  1032. package/pg-core/effect/count.js +1 -1
  1033. package/pg-core/effect/count.js.map +1 -1
  1034. package/pg-core/effect/db.cjs +20 -14
  1035. package/pg-core/effect/db.cjs.map +1 -1
  1036. package/pg-core/effect/db.d.cts +11 -7
  1037. package/pg-core/effect/db.d.ts +13 -9
  1038. package/pg-core/effect/db.js +20 -14
  1039. package/pg-core/effect/db.js.map +1 -1
  1040. package/pg-core/effect/delete.cjs +6 -8
  1041. package/pg-core/effect/delete.cjs.map +1 -1
  1042. package/pg-core/effect/delete.d.cts +1 -1
  1043. package/pg-core/effect/delete.d.ts +1 -1
  1044. package/pg-core/effect/delete.js +6 -8
  1045. package/pg-core/effect/delete.js.map +1 -1
  1046. package/pg-core/effect/index.cjs +3 -3
  1047. package/pg-core/effect/index.js +3 -3
  1048. package/pg-core/effect/insert.cjs +5 -7
  1049. package/pg-core/effect/insert.cjs.map +1 -1
  1050. package/pg-core/effect/insert.d.cts +1 -1
  1051. package/pg-core/effect/insert.d.ts +1 -1
  1052. package/pg-core/effect/insert.js +5 -7
  1053. package/pg-core/effect/insert.js.map +1 -1
  1054. package/pg-core/effect/query.cjs +6 -7
  1055. package/pg-core/effect/query.cjs.map +1 -1
  1056. package/pg-core/effect/query.d.cts +1 -1
  1057. package/pg-core/effect/query.d.ts +1 -1
  1058. package/pg-core/effect/query.js +6 -7
  1059. package/pg-core/effect/query.js.map +1 -1
  1060. package/pg-core/effect/refresh-materialized-view.cjs +2 -1
  1061. package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
  1062. package/pg-core/effect/refresh-materialized-view.d.cts +1 -1
  1063. package/pg-core/effect/refresh-materialized-view.d.ts +1 -1
  1064. package/pg-core/effect/refresh-materialized-view.js +2 -1
  1065. package/pg-core/effect/refresh-materialized-view.js.map +1 -1
  1066. package/pg-core/effect/select.cjs +5 -3
  1067. package/pg-core/effect/select.cjs.map +1 -1
  1068. package/pg-core/effect/select.d.cts +1 -1
  1069. package/pg-core/effect/select.d.ts +1 -1
  1070. package/pg-core/effect/select.js +5 -3
  1071. package/pg-core/effect/select.js.map +1 -1
  1072. package/pg-core/effect/session.cjs +19 -30
  1073. package/pg-core/effect/session.cjs.map +1 -1
  1074. package/pg-core/effect/session.d.cts +28 -24
  1075. package/pg-core/effect/session.d.ts +29 -25
  1076. package/pg-core/effect/session.js +20 -31
  1077. package/pg-core/effect/session.js.map +1 -1
  1078. package/pg-core/effect/update.cjs +8 -8
  1079. package/pg-core/effect/update.cjs.map +1 -1
  1080. package/pg-core/effect/update.d.cts +1 -1
  1081. package/pg-core/effect/update.d.ts +1 -1
  1082. package/pg-core/effect/update.js +8 -8
  1083. package/pg-core/effect/update.js.map +1 -1
  1084. package/pg-core/index.cjs +16 -16
  1085. package/pg-core/index.d.cts +4 -4
  1086. package/pg-core/index.d.ts +4 -4
  1087. package/pg-core/index.js +13 -13
  1088. package/pg-core/query-builders/_query.cjs +101 -0
  1089. package/pg-core/query-builders/_query.cjs.map +1 -0
  1090. package/pg-core/query-builders/_query.d.cts +55 -0
  1091. package/pg-core/query-builders/_query.d.ts +55 -0
  1092. package/pg-core/query-builders/_query.js +97 -0
  1093. package/pg-core/query-builders/_query.js.map +1 -0
  1094. package/pg-core/query-builders/delete.cjs +1 -1
  1095. package/pg-core/query-builders/delete.cjs.map +1 -1
  1096. package/pg-core/query-builders/delete.js +1 -1
  1097. package/pg-core/query-builders/delete.js.map +1 -1
  1098. package/pg-core/query-builders/index.cjs +1 -1
  1099. package/pg-core/query-builders/index.js +1 -1
  1100. package/pg-core/query-builders/insert.cjs +1 -1
  1101. package/pg-core/query-builders/insert.cjs.map +1 -1
  1102. package/pg-core/query-builders/insert.js +1 -1
  1103. package/pg-core/query-builders/insert.js.map +1 -1
  1104. package/pg-core/query-builders/query.cjs +1 -0
  1105. package/pg-core/query-builders/query.cjs.map +1 -1
  1106. package/pg-core/query-builders/query.d.cts +1 -2
  1107. package/pg-core/query-builders/query.d.ts +1 -2
  1108. package/pg-core/query-builders/query.js +1 -0
  1109. package/pg-core/query-builders/query.js.map +1 -1
  1110. package/pg-core/query-builders/raw.cjs +4 -0
  1111. package/pg-core/query-builders/raw.cjs.map +1 -1
  1112. package/pg-core/query-builders/raw.js +4 -0
  1113. package/pg-core/query-builders/raw.js.map +1 -1
  1114. package/pg-core/query-builders/update.cjs +1 -1
  1115. package/pg-core/query-builders/update.cjs.map +1 -1
  1116. package/pg-core/query-builders/update.js +1 -1
  1117. package/pg-core/query-builders/update.js.map +1 -1
  1118. package/pg-core/schema.cjs +1 -1
  1119. package/pg-core/schema.js +1 -1
  1120. package/pg-core/session.cjs +5 -3
  1121. package/pg-core/session.cjs.map +1 -1
  1122. package/pg-core/session.d.cts +7 -4
  1123. package/pg-core/session.d.ts +7 -4
  1124. package/pg-core/session.js +5 -3
  1125. package/pg-core/session.js.map +1 -1
  1126. package/pg-core/table.cjs +1 -1
  1127. package/pg-core/table.cjs.map +1 -1
  1128. package/pg-core/table.js +1 -1
  1129. package/pg-core/table.js.map +1 -1
  1130. package/pg-core/{array.cjs → utils/array.cjs} +1 -1
  1131. package/pg-core/utils/array.cjs.map +1 -0
  1132. package/pg-core/{array.d.cts → utils/array.d.cts} +1 -1
  1133. package/pg-core/{array.d.ts → utils/array.d.ts} +1 -1
  1134. package/pg-core/{array.js → utils/array.js} +1 -1
  1135. package/pg-core/utils/array.js.map +1 -0
  1136. package/pg-core/utils/index.cjs +6 -0
  1137. package/pg-core/utils/index.d.cts +2 -0
  1138. package/pg-core/utils/index.d.ts +2 -0
  1139. package/pg-core/utils/index.js +3 -0
  1140. package/pg-core/utils.cjs +2 -2
  1141. package/pg-core/utils.cjs.map +1 -1
  1142. package/pg-core/utils.d.cts +1 -7
  1143. package/pg-core/utils.d.ts +1 -7
  1144. package/pg-core/utils.js +2 -2
  1145. package/pg-core/utils.js.map +1 -1
  1146. package/pg-core/view.cjs +1 -1
  1147. package/pg-core/view.js +1 -1
  1148. package/pg-proxy/driver.cjs +15 -10
  1149. package/pg-proxy/driver.cjs.map +1 -1
  1150. package/pg-proxy/driver.d.cts +3 -6
  1151. package/pg-proxy/driver.d.ts +4 -7
  1152. package/pg-proxy/driver.js +14 -10
  1153. package/pg-proxy/driver.js.map +1 -1
  1154. package/pg-proxy/index.cjs +2 -0
  1155. package/pg-proxy/index.d.cts +2 -2
  1156. package/pg-proxy/index.d.ts +2 -2
  1157. package/pg-proxy/index.js +2 -2
  1158. package/pg-proxy/migrator.cjs.map +1 -1
  1159. package/pg-proxy/migrator.d.cts +1 -1
  1160. package/pg-proxy/migrator.d.ts +1 -1
  1161. package/pg-proxy/migrator.js.map +1 -1
  1162. package/pg-proxy/session.cjs +84 -8
  1163. package/pg-proxy/session.cjs.map +1 -1
  1164. package/pg-proxy/session.d.cts +32 -9
  1165. package/pg-proxy/session.d.ts +33 -10
  1166. package/pg-proxy/session.js +84 -10
  1167. package/pg-proxy/session.js.map +1 -1
  1168. package/pglite/driver.cjs +33 -71
  1169. package/pglite/driver.cjs.map +1 -1
  1170. package/pglite/driver.d.cts +17 -12
  1171. package/pglite/driver.d.ts +19 -14
  1172. package/pglite/driver.js +32 -71
  1173. package/pglite/driver.js.map +1 -1
  1174. package/pglite/index.cjs +3 -2
  1175. package/pglite/index.d.cts +3 -3
  1176. package/pglite/index.d.ts +3 -3
  1177. package/pglite/index.js +3 -3
  1178. package/pglite/migrator.cjs.map +1 -1
  1179. package/pglite/migrator.d.cts +1 -1
  1180. package/pglite/migrator.d.ts +1 -1
  1181. package/pglite/migrator.js.map +1 -1
  1182. package/pglite/session.cjs +86 -25
  1183. package/pglite/session.cjs.map +1 -1
  1184. package/pglite/session.d.cts +30 -9
  1185. package/pglite/session.d.ts +32 -11
  1186. package/pglite/session.js +87 -27
  1187. package/pglite/session.js.map +1 -1
  1188. package/planetscale-serverless/driver.cjs +2 -3
  1189. package/planetscale-serverless/driver.cjs.map +1 -1
  1190. package/planetscale-serverless/driver.d.cts +0 -1
  1191. package/planetscale-serverless/driver.d.ts +0 -1
  1192. package/planetscale-serverless/driver.js +2 -3
  1193. package/planetscale-serverless/driver.js.map +1 -1
  1194. package/planetscale-serverless/session.cjs +20 -27
  1195. package/planetscale-serverless/session.cjs.map +1 -1
  1196. package/planetscale-serverless/session.d.cts +6 -12
  1197. package/planetscale-serverless/session.d.ts +8 -14
  1198. package/planetscale-serverless/session.js +21 -28
  1199. package/planetscale-serverless/session.js.map +1 -1
  1200. package/postgres-js/driver.cjs +19 -124
  1201. package/postgres-js/driver.cjs.map +1 -1
  1202. package/postgres-js/driver.d.cts +6 -10
  1203. package/postgres-js/driver.d.ts +7 -11
  1204. package/postgres-js/driver.js +19 -124
  1205. package/postgres-js/driver.js.map +1 -1
  1206. package/postgres-js/index.cjs +2 -2
  1207. package/postgres-js/index.d.cts +3 -3
  1208. package/postgres-js/index.d.ts +3 -3
  1209. package/postgres-js/index.js +3 -3
  1210. package/postgres-js/migrator.cjs.map +1 -1
  1211. package/postgres-js/migrator.d.cts +1 -1
  1212. package/postgres-js/migrator.d.ts +1 -1
  1213. package/postgres-js/migrator.js.map +1 -1
  1214. package/postgres-js/session.cjs +112 -17
  1215. package/postgres-js/session.cjs.map +1 -1
  1216. package/postgres-js/session.d.cts +31 -10
  1217. package/postgres-js/session.d.ts +32 -11
  1218. package/postgres-js/session.js +112 -18
  1219. package/postgres-js/session.js.map +1 -1
  1220. package/prisma/mysql/driver.cjs +1 -1
  1221. package/prisma/mysql/driver.js +1 -1
  1222. package/prisma/mysql/session.cjs +1 -2
  1223. package/prisma/mysql/session.cjs.map +1 -1
  1224. package/prisma/mysql/session.d.cts +0 -1
  1225. package/prisma/mysql/session.d.ts +1 -2
  1226. package/prisma/mysql/session.js +1 -2
  1227. package/prisma/mysql/session.js.map +1 -1
  1228. package/prisma/pg/driver.cjs +3 -9
  1229. package/prisma/pg/driver.cjs.map +1 -1
  1230. package/prisma/pg/driver.d.cts +3 -7
  1231. package/prisma/pg/driver.d.ts +3 -7
  1232. package/prisma/pg/driver.js +4 -9
  1233. package/prisma/pg/driver.js.map +1 -1
  1234. package/prisma/pg/index.cjs +2 -2
  1235. package/prisma/pg/index.d.cts +3 -3
  1236. package/prisma/pg/index.d.ts +3 -3
  1237. package/prisma/pg/index.js +3 -3
  1238. package/prisma/pg/session.cjs +25 -1
  1239. package/prisma/pg/session.cjs.map +1 -1
  1240. package/prisma/pg/session.d.cts +15 -3
  1241. package/prisma/pg/session.d.ts +15 -3
  1242. package/prisma/pg/session.js +25 -2
  1243. package/prisma/pg/session.js.map +1 -1
  1244. package/prisma/sqlite/session.cjs +3 -0
  1245. package/prisma/sqlite/session.cjs.map +1 -1
  1246. package/prisma/sqlite/session.d.cts +1 -0
  1247. package/prisma/sqlite/session.d.ts +2 -1
  1248. package/prisma/sqlite/session.js +3 -0
  1249. package/prisma/sqlite/session.js.map +1 -1
  1250. package/relations.cjs +24 -85
  1251. package/relations.cjs.map +1 -1
  1252. package/relations.d.cts +16 -41
  1253. package/relations.d.ts +16 -41
  1254. package/relations.js +25 -84
  1255. package/relations.js.map +1 -1
  1256. package/row-mappers/index.cjs +1 -1
  1257. package/row-mappers/index.cjs.map +1 -1
  1258. package/row-mappers/index.js +1 -1
  1259. package/row-mappers/index.js.map +1 -1
  1260. package/selection-proxy.cjs +1 -1
  1261. package/selection-proxy.js +1 -1
  1262. package/singlestore/driver.cjs +2 -4
  1263. package/singlestore/driver.cjs.map +1 -1
  1264. package/singlestore/driver.d.cts +1 -2
  1265. package/singlestore/driver.d.ts +3 -4
  1266. package/singlestore/driver.js +2 -4
  1267. package/singlestore/driver.js.map +1 -1
  1268. package/singlestore/session.cjs +7 -17
  1269. package/singlestore/session.cjs.map +1 -1
  1270. package/singlestore/session.d.cts +4 -8
  1271. package/singlestore/session.d.ts +6 -10
  1272. package/singlestore/session.js +8 -18
  1273. package/singlestore/session.js.map +1 -1
  1274. package/singlestore-core/columns/bigint.cjs +4 -4
  1275. package/singlestore-core/columns/bigint.cjs.map +1 -1
  1276. package/singlestore-core/columns/bigint.d.cts +2 -2
  1277. package/singlestore-core/columns/bigint.d.ts +2 -2
  1278. package/singlestore-core/columns/bigint.js +4 -4
  1279. package/singlestore-core/columns/bigint.js.map +1 -1
  1280. package/singlestore-core/columns/binary.cjs +2 -2
  1281. package/singlestore-core/columns/binary.cjs.map +1 -1
  1282. package/singlestore-core/columns/binary.d.cts +1 -1
  1283. package/singlestore-core/columns/binary.d.ts +1 -1
  1284. package/singlestore-core/columns/binary.js +2 -2
  1285. package/singlestore-core/columns/binary.js.map +1 -1
  1286. package/singlestore-core/columns/boolean.cjs +2 -2
  1287. package/singlestore-core/columns/boolean.cjs.map +1 -1
  1288. package/singlestore-core/columns/boolean.d.cts +1 -1
  1289. package/singlestore-core/columns/boolean.d.ts +1 -1
  1290. package/singlestore-core/columns/boolean.js +2 -2
  1291. package/singlestore-core/columns/boolean.js.map +1 -1
  1292. package/singlestore-core/columns/custom.cjs +4 -4
  1293. package/singlestore-core/columns/custom.cjs.map +1 -1
  1294. package/singlestore-core/columns/custom.d.cts +2 -2
  1295. package/singlestore-core/columns/custom.d.ts +2 -2
  1296. package/singlestore-core/columns/custom.js +4 -4
  1297. package/singlestore-core/columns/custom.js.map +1 -1
  1298. package/singlestore-core/columns/date.cjs +2 -2
  1299. package/singlestore-core/columns/date.cjs.map +1 -1
  1300. package/singlestore-core/columns/date.d.cts +1 -1
  1301. package/singlestore-core/columns/date.d.ts +1 -1
  1302. package/singlestore-core/columns/date.js +2 -2
  1303. package/singlestore-core/columns/date.js.map +1 -1
  1304. package/singlestore-core/columns/datetime.cjs +6 -6
  1305. package/singlestore-core/columns/datetime.cjs.map +1 -1
  1306. package/singlestore-core/columns/datetime.d.cts +3 -3
  1307. package/singlestore-core/columns/datetime.d.ts +3 -3
  1308. package/singlestore-core/columns/datetime.js +6 -6
  1309. package/singlestore-core/columns/datetime.js.map +1 -1
  1310. package/singlestore-core/columns/decimal.cjs +4 -4
  1311. package/singlestore-core/columns/decimal.cjs.map +1 -1
  1312. package/singlestore-core/columns/decimal.d.cts +2 -2
  1313. package/singlestore-core/columns/decimal.d.ts +2 -2
  1314. package/singlestore-core/columns/decimal.js +4 -4
  1315. package/singlestore-core/columns/decimal.js.map +1 -1
  1316. package/singlestore-core/columns/float.cjs +2 -2
  1317. package/singlestore-core/columns/float.cjs.map +1 -1
  1318. package/singlestore-core/columns/float.d.cts +1 -1
  1319. package/singlestore-core/columns/float.d.ts +1 -1
  1320. package/singlestore-core/columns/float.js +2 -2
  1321. package/singlestore-core/columns/float.js.map +1 -1
  1322. package/singlestore-core/columns/int.cjs +2 -2
  1323. package/singlestore-core/columns/int.cjs.map +1 -1
  1324. package/singlestore-core/columns/int.d.cts +1 -1
  1325. package/singlestore-core/columns/int.d.ts +1 -1
  1326. package/singlestore-core/columns/int.js +2 -2
  1327. package/singlestore-core/columns/int.js.map +1 -1
  1328. package/singlestore-core/columns/json.cjs +2 -2
  1329. package/singlestore-core/columns/json.cjs.map +1 -1
  1330. package/singlestore-core/columns/json.d.cts +1 -1
  1331. package/singlestore-core/columns/json.d.ts +1 -1
  1332. package/singlestore-core/columns/json.js +2 -2
  1333. package/singlestore-core/columns/json.js.map +1 -1
  1334. package/singlestore-core/columns/mediumint.cjs +2 -2
  1335. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  1336. package/singlestore-core/columns/mediumint.d.cts +1 -1
  1337. package/singlestore-core/columns/mediumint.d.ts +1 -1
  1338. package/singlestore-core/columns/mediumint.js +2 -2
  1339. package/singlestore-core/columns/mediumint.js.map +1 -1
  1340. package/singlestore-core/columns/serial.cjs +2 -2
  1341. package/singlestore-core/columns/serial.cjs.map +1 -1
  1342. package/singlestore-core/columns/serial.d.cts +1 -1
  1343. package/singlestore-core/columns/serial.d.ts +1 -1
  1344. package/singlestore-core/columns/serial.js +2 -2
  1345. package/singlestore-core/columns/serial.js.map +1 -1
  1346. package/singlestore-core/columns/smallint.cjs +2 -2
  1347. package/singlestore-core/columns/smallint.cjs.map +1 -1
  1348. package/singlestore-core/columns/smallint.d.cts +1 -1
  1349. package/singlestore-core/columns/smallint.d.ts +1 -1
  1350. package/singlestore-core/columns/smallint.js +2 -2
  1351. package/singlestore-core/columns/smallint.js.map +1 -1
  1352. package/singlestore-core/columns/timestamp.cjs +6 -6
  1353. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  1354. package/singlestore-core/columns/timestamp.d.cts +3 -3
  1355. package/singlestore-core/columns/timestamp.d.ts +3 -3
  1356. package/singlestore-core/columns/timestamp.js +6 -6
  1357. package/singlestore-core/columns/timestamp.js.map +1 -1
  1358. package/singlestore-core/columns/tinyint.cjs +2 -2
  1359. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  1360. package/singlestore-core/columns/tinyint.d.cts +1 -1
  1361. package/singlestore-core/columns/tinyint.d.ts +1 -1
  1362. package/singlestore-core/columns/tinyint.js +2 -2
  1363. package/singlestore-core/columns/tinyint.js.map +1 -1
  1364. package/singlestore-core/columns/varbinary.cjs +2 -2
  1365. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  1366. package/singlestore-core/columns/varbinary.d.cts +1 -1
  1367. package/singlestore-core/columns/varbinary.d.ts +1 -1
  1368. package/singlestore-core/columns/varbinary.js +2 -2
  1369. package/singlestore-core/columns/varbinary.js.map +1 -1
  1370. package/singlestore-core/columns/vector.cjs +8 -8
  1371. package/singlestore-core/columns/vector.cjs.map +1 -1
  1372. package/singlestore-core/columns/vector.d.cts +4 -4
  1373. package/singlestore-core/columns/vector.d.ts +4 -4
  1374. package/singlestore-core/columns/vector.js +8 -8
  1375. package/singlestore-core/columns/vector.js.map +1 -1
  1376. package/singlestore-core/columns/year.cjs +2 -2
  1377. package/singlestore-core/columns/year.cjs.map +1 -1
  1378. package/singlestore-core/columns/year.d.cts +1 -1
  1379. package/singlestore-core/columns/year.d.ts +1 -1
  1380. package/singlestore-core/columns/year.js +2 -2
  1381. package/singlestore-core/columns/year.js.map +1 -1
  1382. package/singlestore-core/db.d.ts +2 -2
  1383. package/singlestore-core/dialect.cjs +2 -2
  1384. package/singlestore-core/dialect.d.ts +1 -1
  1385. package/singlestore-core/dialect.js +2 -2
  1386. package/singlestore-core/query-builders/delete.d.ts +1 -1
  1387. package/singlestore-core/query-builders/insert.d.ts +1 -1
  1388. package/singlestore-core/query-builders/query.cjs +5 -13
  1389. package/singlestore-core/query-builders/query.cjs.map +1 -1
  1390. package/singlestore-core/query-builders/query.d.ts +1 -1
  1391. package/singlestore-core/query-builders/query.js +5 -13
  1392. package/singlestore-core/query-builders/query.js.map +1 -1
  1393. package/singlestore-core/query-builders/select.d.ts +1 -1
  1394. package/singlestore-core/query-builders/update.d.ts +1 -1
  1395. package/singlestore-core/session.cjs.map +1 -1
  1396. package/singlestore-core/session.d.cts +2 -2
  1397. package/singlestore-core/session.d.ts +2 -2
  1398. package/singlestore-core/session.js.map +1 -1
  1399. package/singlestore-core/table.cjs +1 -1
  1400. package/singlestore-core/table.cjs.map +1 -1
  1401. package/singlestore-core/table.js +1 -1
  1402. package/singlestore-core/table.js.map +1 -1
  1403. package/singlestore-proxy/driver.cjs +2 -5
  1404. package/singlestore-proxy/driver.cjs.map +1 -1
  1405. package/singlestore-proxy/driver.js +2 -5
  1406. package/singlestore-proxy/driver.js.map +1 -1
  1407. package/singlestore-proxy/session.cjs +6 -11
  1408. package/singlestore-proxy/session.cjs.map +1 -1
  1409. package/singlestore-proxy/session.d.cts +4 -9
  1410. package/singlestore-proxy/session.d.ts +5 -10
  1411. package/singlestore-proxy/session.js +7 -12
  1412. package/singlestore-proxy/session.js.map +1 -1
  1413. package/sql/index.cjs +0 -1
  1414. package/sql/index.d.cts +2 -2
  1415. package/sql/index.d.ts +2 -2
  1416. package/sql/index.js +2 -2
  1417. package/sql/sql.cjs +11 -32
  1418. package/sql/sql.cjs.map +1 -1
  1419. package/sql/sql.d.cts +5 -15
  1420. package/sql/sql.d.ts +5 -15
  1421. package/sql/sql.js +12 -32
  1422. package/sql/sql.js.map +1 -1
  1423. package/sql-js/driver.cjs +2 -5
  1424. package/sql-js/driver.cjs.map +1 -1
  1425. package/sql-js/driver.d.ts +1 -1
  1426. package/sql-js/driver.js +2 -5
  1427. package/sql-js/driver.js.map +1 -1
  1428. package/sql-js/session.cjs +14 -14
  1429. package/sql-js/session.cjs.map +1 -1
  1430. package/sql-js/session.d.cts +6 -10
  1431. package/sql-js/session.d.ts +6 -10
  1432. package/sql-js/session.js +15 -15
  1433. package/sql-js/session.js.map +1 -1
  1434. package/sqlite-cloud/driver.cjs +2 -3
  1435. package/sqlite-cloud/driver.cjs.map +1 -1
  1436. package/sqlite-cloud/driver.d.ts +1 -1
  1437. package/sqlite-cloud/driver.js +2 -3
  1438. package/sqlite-cloud/driver.js.map +1 -1
  1439. package/sqlite-cloud/session.cjs +20 -21
  1440. package/sqlite-cloud/session.cjs.map +1 -1
  1441. package/sqlite-cloud/session.d.cts +6 -9
  1442. package/sqlite-cloud/session.d.ts +7 -10
  1443. package/sqlite-cloud/session.js +21 -22
  1444. package/sqlite-cloud/session.js.map +1 -1
  1445. package/sqlite-core/columns/blob.cjs +10 -10
  1446. package/sqlite-core/columns/blob.cjs.map +1 -1
  1447. package/sqlite-core/columns/blob.d.cts +5 -5
  1448. package/sqlite-core/columns/blob.d.ts +5 -5
  1449. package/sqlite-core/columns/blob.js +10 -10
  1450. package/sqlite-core/columns/blob.js.map +1 -1
  1451. package/sqlite-core/columns/custom.cjs +4 -4
  1452. package/sqlite-core/columns/custom.cjs.map +1 -1
  1453. package/sqlite-core/columns/custom.d.cts +2 -2
  1454. package/sqlite-core/columns/custom.d.ts +2 -2
  1455. package/sqlite-core/columns/custom.js +4 -4
  1456. package/sqlite-core/columns/custom.js.map +1 -1
  1457. package/sqlite-core/columns/integer.cjs +8 -8
  1458. package/sqlite-core/columns/integer.cjs.map +1 -1
  1459. package/sqlite-core/columns/integer.d.cts +4 -4
  1460. package/sqlite-core/columns/integer.d.ts +4 -4
  1461. package/sqlite-core/columns/integer.js +8 -8
  1462. package/sqlite-core/columns/integer.js.map +1 -1
  1463. package/sqlite-core/columns/numeric.cjs +4 -4
  1464. package/sqlite-core/columns/numeric.cjs.map +1 -1
  1465. package/sqlite-core/columns/numeric.d.cts +2 -2
  1466. package/sqlite-core/columns/numeric.d.ts +2 -2
  1467. package/sqlite-core/columns/numeric.js +4 -4
  1468. package/sqlite-core/columns/numeric.js.map +1 -1
  1469. package/sqlite-core/columns/text.cjs +4 -4
  1470. package/sqlite-core/columns/text.cjs.map +1 -1
  1471. package/sqlite-core/columns/text.d.cts +2 -2
  1472. package/sqlite-core/columns/text.d.ts +2 -2
  1473. package/sqlite-core/columns/text.js +4 -4
  1474. package/sqlite-core/columns/text.js.map +1 -1
  1475. package/sqlite-core/db.d.ts +1 -1
  1476. package/sqlite-core/dialect.cjs +2 -2
  1477. package/sqlite-core/dialect.d.ts +1 -1
  1478. package/sqlite-core/dialect.js +2 -2
  1479. package/sqlite-core/index.cjs +9 -9
  1480. package/sqlite-core/index.js +9 -9
  1481. package/sqlite-core/query-builders/_query.cjs +1 -1
  1482. package/sqlite-core/query-builders/_query.cjs.map +1 -1
  1483. package/sqlite-core/query-builders/_query.js +1 -1
  1484. package/sqlite-core/query-builders/_query.js.map +1 -1
  1485. package/sqlite-core/query-builders/delete.cjs +1 -1
  1486. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  1487. package/sqlite-core/query-builders/delete.js +1 -1
  1488. package/sqlite-core/query-builders/delete.js.map +1 -1
  1489. package/sqlite-core/query-builders/index.cjs +1 -1
  1490. package/sqlite-core/query-builders/index.js +1 -1
  1491. package/sqlite-core/query-builders/insert.cjs +1 -1
  1492. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1493. package/sqlite-core/query-builders/insert.js +1 -1
  1494. package/sqlite-core/query-builders/insert.js.map +1 -1
  1495. package/sqlite-core/query-builders/query.cjs +5 -13
  1496. package/sqlite-core/query-builders/query.cjs.map +1 -1
  1497. package/sqlite-core/query-builders/query.d.ts +1 -1
  1498. package/sqlite-core/query-builders/query.js +5 -13
  1499. package/sqlite-core/query-builders/query.js.map +1 -1
  1500. package/sqlite-core/query-builders/raw.cjs +4 -0
  1501. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  1502. package/sqlite-core/query-builders/raw.js +4 -0
  1503. package/sqlite-core/query-builders/raw.js.map +1 -1
  1504. package/sqlite-core/query-builders/select.cjs +2 -2
  1505. package/sqlite-core/query-builders/select.cjs.map +1 -1
  1506. package/sqlite-core/query-builders/select.js +2 -2
  1507. package/sqlite-core/query-builders/select.js.map +1 -1
  1508. package/sqlite-core/query-builders/update.cjs +2 -2
  1509. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1510. package/sqlite-core/query-builders/update.js +2 -2
  1511. package/sqlite-core/query-builders/update.js.map +1 -1
  1512. package/sqlite-core/session.cjs +8 -8
  1513. package/sqlite-core/session.cjs.map +1 -1
  1514. package/sqlite-core/session.d.cts +5 -5
  1515. package/sqlite-core/session.d.ts +5 -5
  1516. package/sqlite-core/session.js +8 -8
  1517. package/sqlite-core/session.js.map +1 -1
  1518. package/sqlite-core/table.cjs +1 -1
  1519. package/sqlite-core/table.cjs.map +1 -1
  1520. package/sqlite-core/table.js +1 -1
  1521. package/sqlite-core/table.js.map +1 -1
  1522. package/sqlite-core/utils.cjs +3 -3
  1523. package/sqlite-core/utils.js +3 -3
  1524. package/sqlite-proxy/driver.cjs +2 -3
  1525. package/sqlite-proxy/driver.cjs.map +1 -1
  1526. package/sqlite-proxy/driver.d.ts +1 -1
  1527. package/sqlite-proxy/driver.js +2 -3
  1528. package/sqlite-proxy/driver.js.map +1 -1
  1529. package/sqlite-proxy/session.cjs +17 -20
  1530. package/sqlite-proxy/session.cjs.map +1 -1
  1531. package/sqlite-proxy/session.d.cts +7 -11
  1532. package/sqlite-proxy/session.d.ts +8 -12
  1533. package/sqlite-proxy/session.js +18 -21
  1534. package/sqlite-proxy/session.js.map +1 -1
  1535. package/table.d.cts +1 -1
  1536. package/table.d.ts +1 -1
  1537. package/tidb-serverless/driver.cjs +2 -3
  1538. package/tidb-serverless/driver.cjs.map +1 -1
  1539. package/tidb-serverless/driver.d.cts +0 -1
  1540. package/tidb-serverless/driver.d.ts +0 -1
  1541. package/tidb-serverless/driver.js +2 -3
  1542. package/tidb-serverless/driver.js.map +1 -1
  1543. package/tidb-serverless/session.cjs +37 -25
  1544. package/tidb-serverless/session.cjs.map +1 -1
  1545. package/tidb-serverless/session.d.cts +4 -10
  1546. package/tidb-serverless/session.d.ts +6 -12
  1547. package/tidb-serverless/session.js +38 -26
  1548. package/tidb-serverless/session.js.map +1 -1
  1549. package/tursodatabase/driver-core.cjs +2 -3
  1550. package/tursodatabase/driver-core.cjs.map +1 -1
  1551. package/tursodatabase/driver-core.d.ts +1 -1
  1552. package/tursodatabase/driver-core.js +2 -3
  1553. package/tursodatabase/driver-core.js.map +1 -1
  1554. package/tursodatabase/session.cjs +19 -20
  1555. package/tursodatabase/session.cjs.map +1 -1
  1556. package/tursodatabase/session.d.cts +6 -9
  1557. package/tursodatabase/session.d.ts +7 -10
  1558. package/tursodatabase/session.js +20 -21
  1559. package/tursodatabase/session.js.map +1 -1
  1560. package/up-migrations/effect-pg.cjs +3 -3
  1561. package/up-migrations/effect-pg.cjs.map +1 -1
  1562. package/up-migrations/effect-pg.d.ts +1 -1
  1563. package/up-migrations/effect-pg.js +3 -3
  1564. package/up-migrations/effect-pg.js.map +1 -1
  1565. package/up-migrations/pg.cjs +8 -3
  1566. package/up-migrations/pg.cjs.map +1 -1
  1567. package/up-migrations/pg.d.cts +1 -1
  1568. package/up-migrations/pg.d.ts +2 -2
  1569. package/up-migrations/pg.js +8 -3
  1570. package/up-migrations/pg.js.map +1 -1
  1571. package/up-migrations/sqlite.d.ts +2 -2
  1572. package/utils.cjs +7 -129
  1573. package/utils.cjs.map +1 -1
  1574. package/utils.d.cts +3 -10
  1575. package/utils.d.ts +3 -10
  1576. package/utils.js +8 -127
  1577. package/utils.js.map +1 -1
  1578. package/vercel-postgres/driver.cjs +32 -14
  1579. package/vercel-postgres/driver.cjs.map +1 -1
  1580. package/vercel-postgres/driver.d.cts +17 -12
  1581. package/vercel-postgres/driver.d.ts +18 -13
  1582. package/vercel-postgres/driver.js +31 -14
  1583. package/vercel-postgres/driver.js.map +1 -1
  1584. package/vercel-postgres/index.cjs +3 -2
  1585. package/vercel-postgres/index.d.cts +3 -3
  1586. package/vercel-postgres/index.d.ts +3 -3
  1587. package/vercel-postgres/index.js +3 -3
  1588. package/vercel-postgres/migrator.cjs.map +1 -1
  1589. package/vercel-postgres/migrator.d.cts +1 -1
  1590. package/vercel-postgres/migrator.d.ts +1 -1
  1591. package/vercel-postgres/migrator.js.map +1 -1
  1592. package/vercel-postgres/session.cjs +110 -32
  1593. package/vercel-postgres/session.cjs.map +1 -1
  1594. package/vercel-postgres/session.d.cts +32 -9
  1595. package/vercel-postgres/session.d.ts +33 -10
  1596. package/vercel-postgres/session.js +111 -34
  1597. package/vercel-postgres/session.js.map +1 -1
  1598. package/xata-http/driver.cjs +31 -91
  1599. package/xata-http/driver.cjs.map +1 -1
  1600. package/xata-http/driver.d.cts +16 -10
  1601. package/xata-http/driver.d.ts +17 -11
  1602. package/xata-http/driver.js +30 -91
  1603. package/xata-http/driver.js.map +1 -1
  1604. package/xata-http/index.cjs +4 -2
  1605. package/xata-http/index.d.cts +3 -3
  1606. package/xata-http/index.d.ts +3 -3
  1607. package/xata-http/index.js +3 -3
  1608. package/xata-http/migrator.cjs +1 -1
  1609. package/xata-http/migrator.cjs.map +1 -1
  1610. package/xata-http/migrator.d.cts +1 -1
  1611. package/xata-http/migrator.d.ts +1 -1
  1612. package/xata-http/migrator.js +1 -1
  1613. package/xata-http/migrator.js.map +1 -1
  1614. package/xata-http/session.cjs +110 -24
  1615. package/xata-http/session.cjs.map +1 -1
  1616. package/xata-http/session.d.cts +33 -7
  1617. package/xata-http/session.d.ts +34 -8
  1618. package/xata-http/session.js +110 -26
  1619. package/xata-http/session.js.map +1 -1
  1620. package/codecs.cjs +0 -77
  1621. package/codecs.cjs.map +0 -1
  1622. package/codecs.d.cts +0 -68
  1623. package/codecs.d.ts +0 -68
  1624. package/codecs.js +0 -74
  1625. package/codecs.js.map +0 -1
  1626. package/pg-core/array.cjs.map +0 -1
  1627. package/pg-core/array.js.map +0 -1
  1628. package/pg-core/codecs.cjs +0 -156
  1629. package/pg-core/codecs.cjs.map +0 -1
  1630. package/pg-core/codecs.d.cts +0 -27
  1631. package/pg-core/codecs.d.ts +0 -27
  1632. package/pg-core/codecs.js +0 -148
  1633. package/pg-core/codecs.js.map +0 -1
package/sql/sql.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sql.cjs","names":["entityKind","Table","tracer","IsAlias","Column","ViewBaseConfig","Subquery","TableName","TableSchema","OriginalName","TableColumns"],"sources":["../../src/sql/sql.ts"],"sourcesContent":["import type { CasingCache } from '~/casing.ts';\nimport type { CodecsCollection } from '~/codecs.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { SelectResult } from '~/query-builders/select.types.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { TableName } from '~/table.utils.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { AnyColumn } from '../column.ts';\nimport { Column } from '../column.ts';\nimport { IsAlias, OriginalName, Table, TableColumns, TableSchema } from '../table.ts';\n\n/**\n * This class is used to indicate a primitive param value that is used in `sql` tag.\n * It is only used on type level and is never instantiated at runtime.\n * If you see a value of this type in the code, its runtime value is actually the primitive param value.\n */\nexport class FakePrimitiveParam {\n\tstatic readonly [entityKind]: string = 'FakePrimitiveParam';\n}\n\nexport type Chunk =\n\t| string\n\t| Table\n\t| View\n\t| AnyColumn\n\t| Name\n\t| Param\n\t| Placeholder\n\t| SQL;\n\nexport interface BuildQueryConfig {\n\tcasing: CasingCache;\n\tescapeName(name: string): string;\n\tescapeParam(num: number, value: unknown): string;\n\tescapeString(str: string): string;\n\tprepareTyping?: (encoder: DriverValueEncoder<unknown, unknown>) => QueryTypingsValue;\n\tcodecs?: CodecsCollection;\n\tparamStartIndex?: { value: number };\n\tinlineParams?: boolean;\n\tinvokeSource?: 'indexes' | 'mssql-check' | 'mssql-view-with-schemabinding' | undefined;\n}\n\nexport type QueryTypingsValue = 'json' | 'decimal' | 'time' | 'timestamp' | 'uuid' | 'date' | 'none';\n\nexport interface Query {\n\tsql: string;\n\tparams: unknown[];\n}\n\nexport interface QueryWithTypings extends Query {\n\ttypings?: QueryTypingsValue[];\n}\n\n/**\n * Any value that implements the `getSQL` method. The implementations include:\n * - `Table`\n * - `Column`\n * - `View`\n * - `Subquery`\n * - `SQL`\n * - `SQL.Aliased`\n * - `Placeholder`\n * - `Param`\n */\nexport interface SQLWrapper<T = unknown> {\n\tgetSQL(): SQL<T>;\n\tshouldOmitSQLParens?(): boolean;\n}\n\nexport function isSQLWrapper(value: unknown): value is SQLWrapper {\n\treturn value !== null && value !== undefined && typeof (value as any).getSQL === 'function';\n}\n\nfunction mergeQueries(queries: QueryWithTypings[]): QueryWithTypings {\n\tconst result: QueryWithTypings = { sql: '', params: [] };\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t\tif (query.typings?.length) {\n\t\t\tif (!result.typings) {\n\t\t\t\tresult.typings = [];\n\t\t\t}\n\t\t\tresult.typings.push(...query.typings);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport class StringChunk implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'StringChunk';\n\n\treadonly value: string[];\n\n\tconstructor(value: string | string[]) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport class SQL<T = unknown> implements SQLWrapper<T> {\n\tstatic readonly [entityKind]: string = 'SQL';\n\n\tdeclare _: {\n\t\tbrand: 'SQL';\n\t\ttype: T;\n\t};\n\n\t/** @internal */\n\tdecoder: DriverValueDecoder<T, any> = noopDecoder;\n\t/** @internal */\n\tpublic shouldInlineParams = false;\n\n\t/** @internal */\n\tusedTables: string[] = [];\n\n\tconstructor(readonly queryChunks: SQLChunk[]) {\n\t\tfor (const chunk of queryChunks) {\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\n\t\t\t\tthis.usedTables.push(\n\t\t\t\t\tschemaName === undefined\n\t\t\t\t\t\t? chunk[Table.Symbol.Name]\n\t\t\t\t\t\t: schemaName + '.' + chunk[Table.Symbol.Name],\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(query: SQL): this {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\n\ttoQuery(config: BuildQueryConfig): QueryWithTypings {\n\t\treturn tracer.startActiveSpan('drizzle.buildSQL', (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': query.sql,\n\t\t\t\t'drizzle.query.params': JSON.stringify(query.params),\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\n\tbuildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 },\n\t\t});\n\n\t\tconst {\n\t\t\tcasing,\n\t\t\tescapeName,\n\t\t\tescapeParam,\n\t\t\tprepareTyping,\n\t\t\tcodecs,\n\t\t\tinlineParams,\n\t\t\tparamStartIndex,\n\t\t\tinvokeSource,\n\t\t} = config;\n\n\t\treturn mergeQueries(chunks.map((chunk): QueryWithTypings => {\n\t\t\tif (is(chunk, StringChunk)) {\n\t\t\t\treturn { sql: chunk.value.join(''), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Name)) {\n\t\t\t\treturn { sql: escapeName(chunk.value), params: [] };\n\t\t\t}\n\n\t\t\tif (chunk === undefined) {\n\t\t\t\treturn { sql: '', params: [] };\n\t\t\t}\n\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result: SQLChunk[] = [new StringChunk('(')];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) {\n\t\t\t\t\t\tresult.push(new StringChunk(', '));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(')'));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL)) {\n\t\t\t\treturn this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t\t...config,\n\t\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\n\t\t\t\tif (invokeSource === 'mssql-view-with-schemabinding') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: (schemaName === undefined ? escapeName('dbo') : escapeName(schemaName)) + '.'\n\t\t\t\t\t\t\t+ escapeName(tableName),\n\t\t\t\t\t\tparams: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[IsAlias]\n\t\t\t\t\t\t? escapeName(tableName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(tableName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = casing.getColumnCasing(chunk);\n\t\t\t\tif (_config.invokeSource === 'indexes') {\n\t\t\t\t\treturn { sql: escapeName(columnName), params: [] };\n\t\t\t\t}\n\n\t\t\t\tconst schemaName = invokeSource === 'mssql-check' ? undefined : chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.isAlias ? escapeName(chunk.name) : chunk.table[IsAlias] || schemaName === undefined\n\t\t\t\t\t\t? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'\n\t\t\t\t\t\t\t+ escapeName(columnName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[ViewBaseConfig].isAlias\n\t\t\t\t\t\t? escapeName(viewName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(viewName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, SQL)) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.value], config);\n\t\t\t\t}\n\n\t\t\t\tconst useCodecs = codecs && is(chunk.encoder, Column);\n\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, chunk);\n\t\t\t\t\tchunk.codec = useCodecs\n\t\t\t\t\t\t? (value) => codecs.apply(chunk.encoder as Column, 'normalizeParam', value)\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: useCodecs\n\t\t\t\t\t\t\t? codecs.apply(chunk.encoder, 'castParam', escaped)\n\t\t\t\t\t\t\t: escaped,\n\t\t\t\t\t\tparams: [chunk],\n\t\t\t\t\t\ttypings: ['none'],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tlet mappedValue: any;\n\t\t\t\tif (chunk.value === null) {\n\t\t\t\t\tmappedValue = chunk.value;\n\t\t\t\t} else {\n\t\t\t\t\tmappedValue = chunk.encoder.mapToDriverValue.isNoop\n\t\t\t\t\t\t? chunk.value\n\t\t\t\t\t\t: chunk.encoder.mapToDriverValue(chunk.value);\n\n\t\t\t\t\tif (is(mappedValue, SQL)) {\n\t\t\t\t\t\treturn this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (useCodecs) {\n\t\t\t\t\t\tmappedValue = codecs.apply(\n\t\t\t\t\t\t\tchunk.encoder,\n\t\t\t\t\t\t\t'normalizeParam',\n\t\t\t\t\t\t\tmappedValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (inlineParams) {\n\t\t\t\t\treturn { sql: this.mapInlineParam(mappedValue, config), params: [] };\n\t\t\t\t}\n\n\t\t\t\tlet typings: QueryTypingsValue[] = ['none'];\n\t\t\t\tif (prepareTyping) {\n\t\t\t\t\ttypings = [prepareTyping(chunk.encoder)];\n\t\t\t\t}\n\n\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, mappedValue);\n\t\t\t\treturn {\n\t\t\t\t\tsql: useCodecs\n\t\t\t\t\t\t? codecs.apply(chunk.encoder, 'castParam', escaped)\n\t\t\t\t\t\t: escaped,\n\t\t\t\t\tparams: [mappedValue],\n\t\t\t\t\ttypings,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Placeholder)) {\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== undefined) {\n\t\t\t\treturn {\n\t\t\t\t\tsql: (chunk.origin !== undefined ? escapeName(chunk.origin) + '.' : '') + escapeName(chunk.fieldAlias),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) {\n\t\t\t\t\treturn { sql: escapeName(chunk._.alias), params: [] };\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(') '),\n\t\t\t\t\tnew Name(chunk._.alias),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (typeof chunk === 'function' && 'enumName' in chunk) {\n\t\t\t\tif ('schema' in chunk && chunk.schema) {\n\t\t\t\t\treturn { sql: escapeName(chunk.schema as string) + '.' + escapeName(chunk.enumName as string), params: [] };\n\t\t\t\t}\n\t\t\t\treturn { sql: escapeName(chunk.enumName as string), params: [] };\n\t\t\t}\n\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(')'),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (inlineParams) {\n\t\t\t\treturn { sql: this.mapInlineParam(chunk, config), params: [] };\n\t\t\t}\n\n\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t}));\n\t}\n\n\tprivate mapInlineParam(\n\t\tchunk: unknown,\n\t\t{ escapeString }: BuildQueryConfig,\n\t): string {\n\t\tif (chunk === null) {\n\t\t\treturn 'null';\n\t\t}\n\t\tif (typeof chunk === 'number' || typeof chunk === 'boolean' || typeof chunk === 'bigint') {\n\t\t\treturn chunk.toString();\n\t\t}\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn escapeString(chunk);\n\t\t}\n\t\tif (typeof chunk === 'object') {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === '[object Object]') {\n\t\t\t\treturn escapeString(JSON.stringify(chunk));\n\t\t\t}\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error('Unexpected param value: ' + chunk);\n\t}\n\n\tgetSQL(): SQL<T> {\n\t\treturn this;\n\t}\n\n\tas(alias: string): SQL.Aliased<T>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(): SQL<TData>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(alias: string): SQL.Aliased<TData>;\n\tas(alias?: string): SQL<T> | SQL.Aliased<T> {\n\t\t// TODO: remove with deprecated overloads\n\t\tif (alias === undefined) {\n\t\t\treturn this;\n\t\t}\n\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\n\tmapWith<\n\t\tTDecoder extends\n\t\t\t| DriverValueDecoder<any, any>\n\t\t\t| DriverValueDecoder<any, any>['mapFromDriverValue'],\n\t>(decoder: TDecoder): SQL<GetDecoderResult<TDecoder>> {\n\t\tthis.decoder = typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this as SQL<GetDecoderResult<TDecoder>>;\n\t}\n\n\tinlineParams(): this {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * This method is used to conditionally include a part of the query.\n\t *\n\t * @param condition - Condition to check\n\t * @returns itself if the condition is `true`, otherwise `undefined`\n\t */\n\tif(condition: any | undefined): this | undefined {\n\t\treturn condition ? this : undefined;\n\t}\n}\n\nexport type GetDecoderResult<T> = T extends Column ? T['_']['data'] : T extends\n\t| DriverValueDecoder<infer TData, any>\n\t| DriverValueDecoder<infer TData, any>['mapFromDriverValue'] ? TData\n: never;\n\n/**\n * Any DB name (table, column, index etc.)\n */\nexport class Name implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Name';\n\n\tprotected brand!: 'Name';\n\n\tconstructor(readonly value: string) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/**\n * Any DB name (table, column, index etc.)\n * @deprecated Use `sql.identifier` instead.\n */\nexport function name(value: string): Name {\n\treturn new Name(value);\n}\n\nexport interface DriverValueDecoderFn<TData, TDriverParam> {\n\t(value: TDriverParam): TData;\n\t/** @internal */\n\tisNoop?: true | undefined;\n}\n\nexport interface DriverValueDecoder<TData, TDriverParam> {\n\tmapFromDriverValue: DriverValueDecoderFn<TData, TDriverParam>;\n}\n\nexport interface DriverValueEncoderFn<TData, TDriverParam> {\n\t(value: TData): TDriverParam;\n\t/** @internal */\n\tisNoop?: true | undefined;\n}\n\nexport interface DriverValueEncoder<TData, TDriverParam> {\n\tmapToDriverValue: DriverValueEncoderFn<TData, TDriverParam>;\n}\n\nexport function isDriverValueEncoder(value: unknown): value is DriverValueEncoder<any, any> {\n\treturn typeof value === 'object' && value !== null && 'mapToDriverValue' in value\n\t\t&& typeof (value as any).mapToDriverValue === 'function';\n}\n\nexport const noopDecoder: DriverValueDecoder<any, any> = {\n\tmapFromDriverValue: (value) => value,\n};\n\nnoopDecoder.mapFromDriverValue.isNoop = true;\n\nexport const noopEncoder: DriverValueEncoder<any, any> = {\n\tmapToDriverValue: (value) => value,\n};\n\nnoopEncoder.mapToDriverValue.isNoop = true;\n\nexport interface DriverValueMapper<TData, TDriverParam>\n\textends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam>\n{}\n\nexport function isNoop(mapper: DriverValueEncoderFn<any, any> | DriverValueDecoderFn<any, any>) {\n\treturn mapper.isNoop;\n}\n\nexport const noopMapper: DriverValueMapper<any, any> = {\n\t...noopDecoder,\n\t...noopEncoder,\n};\n\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nexport class Param<TDataType = any, TDriverParamType = TDataType> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Param';\n\n\tprotected brand!: 'BoundParamValue';\n\n\t/**\n\t * @param value - Parameter value\n\t * @param encoder - Encoder to convert the value to a driver parameter\n\t */\n\tconstructor(\n\t\treadonly value: TDataType,\n\t\treadonly encoder: DriverValueEncoder<TDataType, TDriverParamType> = noopEncoder,\n\t\tpublic codec?: (value: any) => any,\n\t) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.param` instead. */\nexport function param<TData, TDriver>(\n\tvalue: TData,\n\tencoder?: DriverValueEncoder<TData, TDriver>,\n): Param<TData, TDriver> {\n\treturn new Param(value, encoder);\n}\n\n/**\n * Anything that can be passed to the `` sql`...` `` tagged function.\n */\nexport type SQLChunk =\n\t| StringChunk\n\t| SQLChunk[]\n\t| SQLWrapper\n\t| SQL\n\t| Table\n\t| View\n\t| Subquery\n\t| AnyColumn\n\t| Param\n\t| Name\n\t| undefined\n\t| FakePrimitiveParam\n\t| Placeholder;\n\nexport type SQLGenerator<T = unknown> = typeof sql<T>;\n\nexport function sql<T>(strings: TemplateStringsArray, ...params: any[]): SQL<T>;\n/*\n\tThe type of `params` is specified as `SQLChunk[]`, but that's slightly incorrect -\n\tin runtime, users won't pass `FakePrimitiveParam` instances as `params` - they will pass primitive values\n\twhich will be wrapped in `Param`. That's why the overload specifies `params` as `any[]` and not as `SQLSourceParam[]`.\n\tThis type is used to make our lives easier and the type checker happy.\n*/\nexport function sql(strings: TemplateStringsArray, ...params: SQLChunk[]): SQL {\n\tconst queryChunks: SQLChunk[] = [];\n\tif (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {\n\t\tqueryChunks.push(new StringChunk(strings[0]!));\n\t}\n\tfor (const [paramIndex, param] of params.entries()) {\n\t\tqueryChunks.push(param, new StringChunk(strings[paramIndex + 1]!));\n\t}\n\n\treturn new SQL(queryChunks);\n}\n\nexport namespace sql {\n\texport function empty(): SQL {\n\t\treturn new SQL([]);\n\t}\n\n\t/** @deprecated - use `sql.join()` */\n\texport function fromList(list: SQLChunk[]): SQL {\n\t\treturn new SQL(list);\n\t}\n\n\t/**\n\t * Convenience function to create an SQL query from a raw string.\n\t * @param str The raw SQL query string.\n\t */\n\texport function raw(str: string): SQL {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\n\t/**\n\t * Join a list of SQL chunks with a separator.\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`]);\n\t * // sql`abc`\n\t * ```\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`], sql`, `);\n\t * // sql`a, b, c`\n\t * ```\n\t */\n\texport function join(chunks: SQLChunk[], separator?: SQLChunk): SQL {\n\t\tconst result: SQLChunk[] = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== undefined) {\n\t\t\t\tresult.push(separator);\n\t\t\t}\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\n\t/**\n\t * Create a SQL chunk that represents a DB identifier (table, column, index etc.).\n\t * When used in a query, the identifier will be escaped based on the DB engine.\n\t * For example, in PostgreSQL, identifiers are escaped with double quotes.\n\t *\n\t * **WARNING: This function does not offer any protection against SQL injections, so you must validate any user input beforehand.**\n\t *\n\t * @example ```ts\n\t * const query = sql`SELECT * FROM ${sql.identifier('my-table')}`;\n\t * // 'SELECT * FROM \"my-table\"'\n\t * ```\n\t */\n\texport function identifier(value: string): Name {\n\t\treturn new Name(value);\n\t}\n\n\texport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\t\treturn new Placeholder(name);\n\t}\n\n\texport function param<TData, TDriver>(\n\t\tvalue: TData,\n\t\tencoder?: DriverValueEncoder<TData, TDriver>,\n\t): Param<TData, TDriver> {\n\t\treturn new Param(value, encoder);\n\t}\n\n\t/**\n\t * Attach [sqlcommenter](https://google.github.io/sqlcommenter) comment to a query\n\t */\n\texport function comment(input: CommentInput): SQL | undefined {\n\t\tconst encoded = sqlCommenter(input);\n\t\tif (!encoded.length) return undefined;\n\n\t\treturn sql.raw(encoded);\n\t}\n}\n\nexport function sqlCommenter(input: CommentInput): string {\n\tconst encoded = sqlCommenter.encodeInput(input);\n\tif (!encoded.length) return '';\n\n\treturn `/*${encoded}*/`;\n}\n\nexport namespace sqlCommenter {\n\texport function merge(input1: CommentInput | undefined, input2: CommentInput | undefined) {\n\t\tlet encoded: CommentInput;\n\t\tif (typeof input1 === 'object' && typeof input2 === 'object') {\n\t\t\tencoded = encodeInput({ ...input1, ...input2 });\n\t\t} else if (input1 && input2) {\n\t\t\tencoded = [encodeInput(input1), encodeInput(input2)].filter((i) => i.length).join(',');\n\t\t} else if (input2) {\n\t\t\tencoded = encodeInput(input2);\n\t\t} else if (input1) {\n\t\t\tencoded = encodeInput(input1);\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (!encoded.length) return '';\n\n\t\treturn `/*${encoded}*/`;\n\t}\n\n\texport function encodeInput(input: CommentInput): string {\n\t\tif (typeof input === 'string') {\n\t\t\tif (!input.length) return input;\n\n\t\t\treturn sanitizeStringInput(input);\n\t\t}\n\n\t\tconst parts: string[] = [];\n\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\tif (value === null || value === undefined || value === '') continue;\n\n\t\t\tconst encodedKey = sanitizeObjectElement(key);\n\t\t\tconst encodedValue = sanitizeObjectElement(String(value));\n\n\t\t\tparts.push(`${encodedKey}='${encodedValue}'`);\n\t\t}\n\n\t\tif (!parts.length) return '';\n\n\t\treturn parts.sort().join(',');\n\t}\n\n\texport function sanitizeObjectElement(key: string): string {\n\t\tconst urlEncoded = encodeURIComponent(key);\n\t\treturn urlEncoded.replace(/'/g, `\\\\'`);\n\t}\n\n\texport function sanitizeStringInput(input: string): string {\n\t\treturn input.replace(/\\/\\*/g, '/ *').replace(/\\*\\//g, '* /');\n\t}\n}\n\nexport type CommentInput = string | SqlCommenterInput;\n\nexport type SqlCommenterInput = Record<\n\tstring,\n\tstring | number | bigint | boolean | null | undefined\n>;\n\nexport namespace SQL {\n\texport class Aliased<T = unknown> implements SQLWrapper<T> {\n\t\tstatic readonly [entityKind]: string = 'SQL.Aliased';\n\n\t\tdeclare _: {\n\t\t\tbrand: 'SQL.Aliased';\n\t\t\ttype: T;\n\t\t};\n\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\t\t/** @internal */\n\t\torigin?: string;\n\n\t\tconstructor(\n\t\t\treadonly sql: SQL<T>,\n\t\t\treadonly fieldAlias: string,\n\t\t) {}\n\n\t\tgetSQL(): SQL<T> {\n\t\t\treturn this.sql as SQL<T>;\n\t\t}\n\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased<T>(this.sql, this.fieldAlias);\n\t\t}\n\t}\n}\n\nexport class Placeholder<TName extends string = string, TValue = any> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Placeholder';\n\n\tdeclare protected: TValue;\n\n\tconstructor(readonly name: TName) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.placeholder` instead. */\nexport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\treturn new Placeholder(name);\n}\n\nexport function fillPlaceholders(params: unknown[], values: Record<string, unknown>): unknown[] {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn values[p.name];\n\t\t}\n\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\t}\n\n\t\t\tif (values[p.value.name] === null) return values[p.value.name];\n\n\t\t\tconst mapped = p.encoder.mapToDriverValue.isNoop\n\t\t\t\t? values[p.value.name]\n\t\t\t\t: p.encoder.mapToDriverValue(values[p.value.name]);\n\n\t\t\treturn p.codec ? p.codec(mapped) : mapped;\n\t\t}\n\n\t\treturn p;\n\t});\n}\n\nexport type ColumnsSelection = Record<string, unknown>;\n\nconst IsDrizzleView = Symbol.for('drizzle:IsDrizzleView');\n\nexport abstract class View<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> {\n\tstatic readonly [entityKind]: string = 'View';\n\n\tdeclare _: {\n\t\tbrand: 'View';\n\t\tviewBrand: string;\n\t\tname: TName;\n\t\texisting: TExisting;\n\t\tselectedFields: TSelection;\n\t};\n\n\t/** @internal */\n\t[ViewBaseConfig]: {\n\t\tname: TName;\n\t\toriginalName: TName;\n\t\tschema: string | undefined;\n\t\tselectedFields: ColumnsSelection;\n\t\tisExisting: TExisting;\n\t\tquery: TExisting extends true ? undefined : SQL;\n\t\tisAlias: boolean;\n\t};\n\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\n\t/** @internal */\n\tpublic get [TableName]() {\n\t\treturn this[ViewBaseConfig].name;\n\t}\n\n\t/** @internal */\n\tpublic get [TableSchema]() {\n\t\treturn this[ViewBaseConfig].schema;\n\t}\n\n\t/** @internal */\n\tpublic get [IsAlias]() {\n\t\treturn this[ViewBaseConfig].isAlias;\n\t}\n\n\t/** @internal */\n\tpublic get [OriginalName]() {\n\t\treturn this[ViewBaseConfig].originalName;\n\t}\n\n\t/** @internal */\n\tpublic get [TableColumns]() {\n\t\treturn (this[ViewBaseConfig].selectedFields) as any as Record<string, unknown>;\n\t}\n\n\tdeclare readonly $inferSelect: InferSelectViewModel<View<Assume<TName, string>, TExisting, TSelection>>;\n\n\tconstructor(\n\t\t{ name, schema, selectedFields, query }: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t},\n\t) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery: query as (TExisting extends true ? undefined : SQL),\n\t\t\tisExisting: !query as TExisting,\n\t\t\tisAlias: false,\n\t\t};\n\t}\n}\n\nexport function isView(view: unknown): view is View {\n\treturn typeof view === 'object' && view !== null && IsDrizzleView in view;\n}\n\nexport function getViewName<T extends View>(view: T): T['_']['name'] {\n\treturn view[ViewBaseConfig].name;\n}\n\nexport type InferSelectViewModel<TView extends View> =\n\tEqual<TView['_']['selectedFields'], { [x: string]: unknown }> extends true ? { [x: string]: unknown }\n\t\t: SelectResult<\n\t\t\tTView['_']['selectedFields'],\n\t\t\t'single',\n\t\t\tRecord<TView['_']['name'], 'not-null'>\n\t\t>;\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n// Defined separately from the Column class to resolve circular dependency\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\nexport type SQLEntity = SQL | SQLWrapper | SQL.Aliased | Table | View;\n"],"mappings":"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"}
1
+ {"version":3,"file":"sql.cjs","names":["entityKind","Table","tracer","IsAlias","Column","ViewBaseConfig","Subquery","TableName","TableSchema","OriginalName","TableColumns"],"sources":["../../src/sql/sql.ts"],"sourcesContent":["import type { CasingCache } from '~/casing.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { SelectResult } from '~/query-builders/select.types.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { TableName } from '~/table.utils.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { AnyColumn } from '../column.ts';\nimport { Column } from '../column.ts';\nimport { IsAlias, OriginalName, Table, TableColumns, TableSchema } from '../table.ts';\n\n/**\n * This class is used to indicate a primitive param value that is used in `sql` tag.\n * It is only used on type level and is never instantiated at runtime.\n * If you see a value of this type in the code, its runtime value is actually the primitive param value.\n */\nexport class FakePrimitiveParam {\n\tstatic readonly [entityKind]: string = 'FakePrimitiveParam';\n}\n\nexport type Chunk =\n\t| string\n\t| Table\n\t| View\n\t| AnyColumn\n\t| Name\n\t| Param\n\t| Placeholder\n\t| SQL;\n\nexport interface BuildQueryConfig {\n\tcasing: CasingCache;\n\tescapeName(name: string): string;\n\tescapeParam(num: number, value: unknown): string;\n\tescapeString(str: string): string;\n\tprepareTyping?: (encoder: DriverValueEncoder<unknown, unknown>) => QueryTypingsValue;\n\tparamStartIndex?: { value: number };\n\tinlineParams?: boolean;\n\tinvokeSource?: 'indexes' | 'mssql-check' | 'mssql-view-with-schemabinding' | undefined;\n}\n\nexport type QueryTypingsValue = 'json' | 'decimal' | 'time' | 'timestamp' | 'uuid' | 'date' | 'none';\n\nexport interface Query {\n\tsql: string;\n\tparams: unknown[];\n}\n\nexport interface QueryWithTypings extends Query {\n\ttypings?: QueryTypingsValue[];\n}\n\n/**\n * Any value that implements the `getSQL` method. The implementations include:\n * - `Table`\n * - `Column`\n * - `View`\n * - `Subquery`\n * - `SQL`\n * - `SQL.Aliased`\n * - `Placeholder`\n * - `Param`\n */\nexport interface SQLWrapper<T = unknown> {\n\tgetSQL(): SQL<T>;\n\tshouldOmitSQLParens?(): boolean;\n}\n\nexport function isSQLWrapper(value: unknown): value is SQLWrapper {\n\treturn value !== null && value !== undefined && typeof (value as any).getSQL === 'function';\n}\n\nfunction mergeQueries(queries: QueryWithTypings[]): QueryWithTypings {\n\tconst result: QueryWithTypings = { sql: '', params: [] };\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t\tif (query.typings?.length) {\n\t\t\tif (!result.typings) {\n\t\t\t\tresult.typings = [];\n\t\t\t}\n\t\t\tresult.typings.push(...query.typings);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport class StringChunk implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'StringChunk';\n\n\treadonly value: string[];\n\n\tconstructor(value: string | string[]) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport class SQL<T = unknown> implements SQLWrapper<T> {\n\tstatic readonly [entityKind]: string = 'SQL';\n\n\tdeclare _: {\n\t\tbrand: 'SQL';\n\t\ttype: T;\n\t};\n\n\t/** @internal */\n\tdecoder: DriverValueDecoder<T, any> = noopDecoder;\n\t/** @internal */\n\tpublic shouldInlineParams = false;\n\n\t/** @internal */\n\tusedTables: string[] = [];\n\n\tconstructor(readonly queryChunks: SQLChunk[]) {\n\t\tfor (const chunk of queryChunks) {\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\n\t\t\t\tthis.usedTables.push(\n\t\t\t\t\tschemaName === undefined\n\t\t\t\t\t\t? chunk[Table.Symbol.Name]\n\t\t\t\t\t\t: schemaName + '.' + chunk[Table.Symbol.Name],\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(query: SQL): this {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\n\ttoQuery(config: BuildQueryConfig): QueryWithTypings {\n\t\treturn tracer.startActiveSpan('drizzle.buildSQL', (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': query.sql,\n\t\t\t\t'drizzle.query.params': JSON.stringify(query.params),\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\n\tbuildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 },\n\t\t});\n\n\t\tconst {\n\t\t\tcasing,\n\t\t\tescapeName,\n\t\t\tescapeParam,\n\t\t\tprepareTyping,\n\t\t\tinlineParams,\n\t\t\tparamStartIndex,\n\t\t\tinvokeSource,\n\t\t} = config;\n\n\t\treturn mergeQueries(chunks.map((chunk): QueryWithTypings => {\n\t\t\tif (is(chunk, StringChunk)) {\n\t\t\t\treturn { sql: chunk.value.join(''), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Name)) {\n\t\t\t\treturn { sql: escapeName(chunk.value), params: [] };\n\t\t\t}\n\n\t\t\tif (chunk === undefined) {\n\t\t\t\treturn { sql: '', params: [] };\n\t\t\t}\n\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result: SQLChunk[] = [new StringChunk('(')];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) {\n\t\t\t\t\t\tresult.push(new StringChunk(', '));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(')'));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL)) {\n\t\t\t\treturn this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t\t...config,\n\t\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\n\t\t\t\tif (invokeSource === 'mssql-view-with-schemabinding') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: (schemaName === undefined ? escapeName('dbo') : escapeName(schemaName)) + '.'\n\t\t\t\t\t\t\t+ escapeName(tableName),\n\t\t\t\t\t\tparams: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[IsAlias]\n\t\t\t\t\t\t? escapeName(tableName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(tableName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = casing.getColumnCasing(chunk);\n\t\t\t\tif (_config.invokeSource === 'indexes') {\n\t\t\t\t\treturn { sql: escapeName(columnName), params: [] };\n\t\t\t\t}\n\n\t\t\t\tconst schemaName = invokeSource === 'mssql-check' ? undefined : chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.isAlias ? escapeName(chunk.name) : chunk.table[IsAlias] || schemaName === undefined\n\t\t\t\t\t\t? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'\n\t\t\t\t\t\t\t+ escapeName(columnName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[ViewBaseConfig].isAlias\n\t\t\t\t\t\t? escapeName(viewName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(viewName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t\t}\n\n\t\t\t\tconst mappedValue = chunk.value === null ? null : chunk.encoder.mapToDriverValue(chunk.value);\n\n\t\t\t\tif (is(mappedValue, SQL)) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t}\n\n\t\t\t\tif (inlineParams) {\n\t\t\t\t\treturn { sql: this.mapInlineParam(mappedValue, config), params: [] };\n\t\t\t\t}\n\n\t\t\t\tlet typings: QueryTypingsValue[] = ['none'];\n\t\t\t\tif (prepareTyping) {\n\t\t\t\t\ttypings = [prepareTyping(chunk.encoder)];\n\t\t\t\t}\n\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, mappedValue), params: [mappedValue], typings };\n\t\t\t}\n\n\t\t\tif (is(chunk, Placeholder)) {\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== undefined) {\n\t\t\t\treturn {\n\t\t\t\t\tsql: (chunk.origin !== undefined ? escapeName(chunk.origin) + '.' : '') + escapeName(chunk.fieldAlias),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) {\n\t\t\t\t\treturn { sql: escapeName(chunk._.alias), params: [] };\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(') '),\n\t\t\t\t\tnew Name(chunk._.alias),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (typeof chunk === 'function' && 'enumName' in chunk) {\n\t\t\t\tif ('schema' in chunk && chunk.schema) {\n\t\t\t\t\treturn { sql: escapeName(chunk.schema as string) + '.' + escapeName(chunk.enumName as string), params: [] };\n\t\t\t\t}\n\t\t\t\treturn { sql: escapeName(chunk.enumName as string), params: [] };\n\t\t\t}\n\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(')'),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (inlineParams) {\n\t\t\t\treturn { sql: this.mapInlineParam(chunk, config), params: [] };\n\t\t\t}\n\n\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t}));\n\t}\n\n\tprivate mapInlineParam(\n\t\tchunk: unknown,\n\t\t{ escapeString }: BuildQueryConfig,\n\t): string {\n\t\tif (chunk === null) {\n\t\t\treturn 'null';\n\t\t}\n\t\tif (typeof chunk === 'number' || typeof chunk === 'boolean' || typeof chunk === 'bigint') {\n\t\t\treturn chunk.toString();\n\t\t}\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn escapeString(chunk);\n\t\t}\n\t\tif (typeof chunk === 'object') {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === '[object Object]') {\n\t\t\t\treturn escapeString(JSON.stringify(chunk));\n\t\t\t}\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error('Unexpected param value: ' + chunk);\n\t}\n\n\tgetSQL(): SQL<T> {\n\t\treturn this;\n\t}\n\n\tas(alias: string): SQL.Aliased<T>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(): SQL<TData>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(alias: string): SQL.Aliased<TData>;\n\tas(alias?: string): SQL<T> | SQL.Aliased<T> {\n\t\t// TODO: remove with deprecated overloads\n\t\tif (alias === undefined) {\n\t\t\treturn this;\n\t\t}\n\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\n\tmapWith<\n\t\tTDecoder extends\n\t\t\t| DriverValueDecoder<any, any>\n\t\t\t| DriverValueDecoder<any, any>['mapFromDriverValue'],\n\t>(decoder: TDecoder): SQL<GetDecoderResult<TDecoder>> {\n\t\tthis.decoder = typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this as SQL<GetDecoderResult<TDecoder>>;\n\t}\n\n\tinlineParams(): this {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * This method is used to conditionally include a part of the query.\n\t *\n\t * @param condition - Condition to check\n\t * @returns itself if the condition is `true`, otherwise `undefined`\n\t */\n\tif(condition: any | undefined): this | undefined {\n\t\treturn condition ? this : undefined;\n\t}\n}\n\nexport type GetDecoderResult<T> = T extends Column ? T['_']['data'] : T extends\n\t| DriverValueDecoder<infer TData, any>\n\t| DriverValueDecoder<infer TData, any>['mapFromDriverValue'] ? TData\n: never;\n\n/**\n * Any DB name (table, column, index etc.)\n */\nexport class Name implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Name';\n\n\tprotected brand!: 'Name';\n\n\tconstructor(readonly value: string) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/**\n * Any DB name (table, column, index etc.)\n * @deprecated Use `sql.identifier` instead.\n */\nexport function name(value: string): Name {\n\treturn new Name(value);\n}\n\nexport interface DriverValueDecoder<TData, TDriverParam> {\n\tmapFromDriverValue(value: TDriverParam): TData;\n}\n\nexport interface DriverValueEncoder<TData, TDriverParam> {\n\tmapToDriverValue(value: TData): TDriverParam | SQL;\n}\n\nexport function isDriverValueEncoder(value: unknown): value is DriverValueEncoder<any, any> {\n\treturn typeof value === 'object' && value !== null && 'mapToDriverValue' in value\n\t\t&& typeof (value as any).mapToDriverValue === 'function';\n}\n\nexport const noopDecoder: DriverValueDecoder<any, any> = {\n\tmapFromDriverValue: (value) => value,\n};\n\nexport const noopEncoder: DriverValueEncoder<any, any> = {\n\tmapToDriverValue: (value) => value,\n};\n\nexport interface DriverValueMapper<TData, TDriverParam>\n\textends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam>\n{}\n\nexport const noopMapper: DriverValueMapper<any, any> = {\n\t...noopDecoder,\n\t...noopEncoder,\n};\n\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nexport class Param<TDataType = unknown, TDriverParamType = TDataType> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Param';\n\n\tprotected brand!: 'BoundParamValue';\n\n\t/**\n\t * @param value - Parameter value\n\t * @param encoder - Encoder to convert the value to a driver parameter\n\t */\n\tconstructor(\n\t\treadonly value: TDataType,\n\t\treadonly encoder: DriverValueEncoder<TDataType, TDriverParamType> = noopEncoder,\n\t) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.param` instead. */\nexport function param<TData, TDriver>(\n\tvalue: TData,\n\tencoder?: DriverValueEncoder<TData, TDriver>,\n): Param<TData, TDriver> {\n\treturn new Param(value, encoder);\n}\n\n/**\n * Anything that can be passed to the `` sql`...` `` tagged function.\n */\nexport type SQLChunk =\n\t| StringChunk\n\t| SQLChunk[]\n\t| SQLWrapper\n\t| SQL\n\t| Table\n\t| View\n\t| Subquery\n\t| AnyColumn\n\t| Param\n\t| Name\n\t| undefined\n\t| FakePrimitiveParam\n\t| Placeholder;\n\nexport type SQLGenerator<T = unknown> = typeof sql<T>;\n\nexport function sql<T>(strings: TemplateStringsArray, ...params: any[]): SQL<T>;\n/*\n\tThe type of `params` is specified as `SQLChunk[]`, but that's slightly incorrect -\n\tin runtime, users won't pass `FakePrimitiveParam` instances as `params` - they will pass primitive values\n\twhich will be wrapped in `Param`. That's why the overload specifies `params` as `any[]` and not as `SQLSourceParam[]`.\n\tThis type is used to make our lives easier and the type checker happy.\n*/\nexport function sql(strings: TemplateStringsArray, ...params: SQLChunk[]): SQL {\n\tconst queryChunks: SQLChunk[] = [];\n\tif (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {\n\t\tqueryChunks.push(new StringChunk(strings[0]!));\n\t}\n\tfor (const [paramIndex, param] of params.entries()) {\n\t\tqueryChunks.push(param, new StringChunk(strings[paramIndex + 1]!));\n\t}\n\n\treturn new SQL(queryChunks);\n}\n\nexport namespace sql {\n\texport function empty(): SQL {\n\t\treturn new SQL([]);\n\t}\n\n\t/** @deprecated - use `sql.join()` */\n\texport function fromList(list: SQLChunk[]): SQL {\n\t\treturn new SQL(list);\n\t}\n\n\t/**\n\t * Convenience function to create an SQL query from a raw string.\n\t * @param str The raw SQL query string.\n\t */\n\texport function raw(str: string): SQL {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\n\t/**\n\t * Join a list of SQL chunks with a separator.\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`]);\n\t * // sql`abc`\n\t * ```\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`], sql`, `);\n\t * // sql`a, b, c`\n\t * ```\n\t */\n\texport function join(chunks: SQLChunk[], separator?: SQLChunk): SQL {\n\t\tconst result: SQLChunk[] = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== undefined) {\n\t\t\t\tresult.push(separator);\n\t\t\t}\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\n\t/**\n\t * Create a SQL chunk that represents a DB identifier (table, column, index etc.).\n\t * When used in a query, the identifier will be escaped based on the DB engine.\n\t * For example, in PostgreSQL, identifiers are escaped with double quotes.\n\t *\n\t * **WARNING: This function does not offer any protection against SQL injections, so you must validate any user input beforehand.**\n\t *\n\t * @example ```ts\n\t * const query = sql`SELECT * FROM ${sql.identifier('my-table')}`;\n\t * // 'SELECT * FROM \"my-table\"'\n\t * ```\n\t */\n\texport function identifier(value: string): Name {\n\t\treturn new Name(value);\n\t}\n\n\texport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\t\treturn new Placeholder(name);\n\t}\n\n\texport function param<TData, TDriver>(\n\t\tvalue: TData,\n\t\tencoder?: DriverValueEncoder<TData, TDriver>,\n\t): Param<TData, TDriver> {\n\t\treturn new Param(value, encoder);\n\t}\n\n\t/**\n\t * Attach [sqlcommenter](https://google.github.io/sqlcommenter) comment to a query\n\t */\n\texport function comment(input: CommentInput): SQL | undefined {\n\t\tconst encoded = sqlCommenter(input);\n\t\tif (!encoded.length) return undefined;\n\n\t\treturn sql.raw(encoded);\n\t}\n}\n\nexport function sqlCommenter(input: CommentInput): string {\n\tconst encoded = sqlCommenter.encodeInput(input);\n\tif (!encoded.length) return '';\n\n\treturn `/*${encoded}*/`;\n}\n\nexport namespace sqlCommenter {\n\texport function merge(input1: CommentInput | undefined, input2: CommentInput | undefined) {\n\t\tlet encoded: CommentInput;\n\t\tif (typeof input1 === 'object' && typeof input2 === 'object') {\n\t\t\tencoded = encodeInput({ ...input1, ...input2 });\n\t\t} else if (input1 && input2) {\n\t\t\tencoded = [encodeInput(input1), encodeInput(input2)].filter((i) => i.length).join(',');\n\t\t} else if (input2) {\n\t\t\tencoded = encodeInput(input2);\n\t\t} else if (input1) {\n\t\t\tencoded = encodeInput(input1);\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (!encoded.length) return '';\n\n\t\treturn `/*${encoded}*/`;\n\t}\n\n\texport function encodeInput(input: CommentInput): string {\n\t\tif (typeof input === 'string') {\n\t\t\tif (!input.length) return input;\n\n\t\t\treturn sanitizeStringInput(input);\n\t\t}\n\n\t\tconst parts: string[] = [];\n\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\tif (value === null || value === undefined || value === '') continue;\n\n\t\t\tconst encodedKey = sanitizeObjectElement(key);\n\t\t\tconst encodedValue = sanitizeObjectElement(String(value));\n\n\t\t\tparts.push(`${encodedKey}='${encodedValue}'`);\n\t\t}\n\n\t\tif (!parts.length) return '';\n\n\t\treturn parts.sort().join(',');\n\t}\n\n\texport function sanitizeObjectElement(key: string): string {\n\t\tconst urlEncoded = encodeURIComponent(key);\n\t\treturn urlEncoded.replace(/'/g, `\\\\'`);\n\t}\n\n\texport function sanitizeStringInput(input: string): string {\n\t\treturn input.replace(/\\/\\*/g, '/ *').replace(/\\*\\//g, '* /');\n\t}\n}\n\nexport type CommentInput = string | SqlCommenterInput;\n\nexport type SqlCommenterInput = Record<\n\tstring,\n\tstring | number | bigint | boolean | null | undefined\n>;\n\nexport namespace SQL {\n\texport class Aliased<T = unknown> implements SQLWrapper<T> {\n\t\tstatic readonly [entityKind]: string = 'SQL.Aliased';\n\n\t\tdeclare _: {\n\t\t\tbrand: 'SQL.Aliased';\n\t\t\ttype: T;\n\t\t};\n\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\t\t/** @internal */\n\t\torigin?: string;\n\n\t\tconstructor(\n\t\t\treadonly sql: SQL<T>,\n\t\t\treadonly fieldAlias: string,\n\t\t) {}\n\n\t\tgetSQL(): SQL<T> {\n\t\t\treturn this.sql as SQL<T>;\n\t\t}\n\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased<T>(this.sql, this.fieldAlias);\n\t\t}\n\t}\n}\n\nexport class Placeholder<TName extends string = string, TValue = any> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Placeholder';\n\n\tdeclare protected: TValue;\n\n\tconstructor(readonly name: TName) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.placeholder` instead. */\nexport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\treturn new Placeholder(name);\n}\n\nexport function fillPlaceholders(params: unknown[], values: Record<string, unknown>): unknown[] {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn values[p.name];\n\t\t}\n\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn p.encoder.mapToDriverValue(values[p.value.name]);\n\t\t}\n\n\t\treturn p;\n\t});\n}\n\nexport type ColumnsSelection = Record<string, unknown>;\n\nconst IsDrizzleView = Symbol.for('drizzle:IsDrizzleView');\n\nexport abstract class View<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> {\n\tstatic readonly [entityKind]: string = 'View';\n\n\tdeclare _: {\n\t\tbrand: 'View';\n\t\tviewBrand: string;\n\t\tname: TName;\n\t\texisting: TExisting;\n\t\tselectedFields: TSelection;\n\t};\n\n\t/** @internal */\n\t[ViewBaseConfig]: {\n\t\tname: TName;\n\t\toriginalName: TName;\n\t\tschema: string | undefined;\n\t\tselectedFields: ColumnsSelection;\n\t\tisExisting: TExisting;\n\t\tquery: TExisting extends true ? undefined : SQL;\n\t\tisAlias: boolean;\n\t};\n\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\n\t/** @internal */\n\tpublic get [TableName]() {\n\t\treturn this[ViewBaseConfig].name;\n\t}\n\n\t/** @internal */\n\tpublic get [TableSchema]() {\n\t\treturn this[ViewBaseConfig].schema;\n\t}\n\n\t/** @internal */\n\tpublic get [IsAlias]() {\n\t\treturn this[ViewBaseConfig].isAlias;\n\t}\n\n\t/** @internal */\n\tpublic get [OriginalName]() {\n\t\treturn this[ViewBaseConfig].originalName;\n\t}\n\n\t/** @internal */\n\tpublic get [TableColumns]() {\n\t\treturn (this[ViewBaseConfig].selectedFields) as any as Record<string, unknown>;\n\t}\n\n\tdeclare readonly $inferSelect: InferSelectViewModel<View<Assume<TName, string>, TExisting, TSelection>>;\n\n\tconstructor(\n\t\t{ name, schema, selectedFields, query }: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t},\n\t) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery: query as (TExisting extends true ? undefined : SQL),\n\t\t\tisExisting: !query as TExisting,\n\t\t\tisAlias: false,\n\t\t};\n\t}\n}\n\nexport function isView(view: unknown): view is View {\n\treturn typeof view === 'object' && view !== null && IsDrizzleView in view;\n}\n\nexport function getViewName<T extends View>(view: T): T['_']['name'] {\n\treturn view[ViewBaseConfig].name;\n}\n\nexport type InferSelectViewModel<TView extends View> =\n\tEqual<TView['_']['selectedFields'], { [x: string]: unknown }> extends true ? { [x: string]: unknown }\n\t\t: SelectResult<\n\t\t\tTView['_']['selectedFields'],\n\t\t\t'single',\n\t\t\tRecord<TView['_']['name'], 'not-null'>\n\t\t>;\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n// Defined separately from the Column class to resolve circular dependency\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\nexport type SQLEntity = SQL | SQLWrapper | SQL.Aliased | Table | View;\n"],"mappings":"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"}
package/sql/sql.d.cts CHANGED
@@ -4,7 +4,6 @@ import { entityKind } from "../entity.cjs";
4
4
  import { SelectResult } from "../query-builders/select.types.cjs";
5
5
  import { Subquery } from "../subquery.cjs";
6
6
  import { Assume, Equal } from "../utils.cjs";
7
- import { CodecsCollection } from "../codecs.cjs";
8
7
  import { CasingCache } from "../casing.cjs";
9
8
 
10
9
  //#region src/sql/sql.d.ts
@@ -23,7 +22,6 @@ interface BuildQueryConfig {
23
22
  escapeParam(num: number, value: unknown): string;
24
23
  escapeString(str: string): string;
25
24
  prepareTyping?: (encoder: DriverValueEncoder<unknown, unknown>) => QueryTypingsValue;
26
- codecs?: CodecsCollection;
27
25
  paramStartIndex?: {
28
26
  value: number;
29
27
  };
@@ -110,36 +108,28 @@ declare class Name implements SQLWrapper {
110
108
  * @deprecated Use `sql.identifier` instead.
111
109
  */
112
110
  declare function name(value: string): Name;
113
- interface DriverValueDecoderFn<TData, TDriverParam> {
114
- (value: TDriverParam): TData;
115
- }
116
111
  interface DriverValueDecoder<TData, TDriverParam> {
117
- mapFromDriverValue: DriverValueDecoderFn<TData, TDriverParam>;
118
- }
119
- interface DriverValueEncoderFn<TData, TDriverParam> {
120
- (value: TData): TDriverParam;
112
+ mapFromDriverValue(value: TDriverParam): TData;
121
113
  }
122
114
  interface DriverValueEncoder<TData, TDriverParam> {
123
- mapToDriverValue: DriverValueEncoderFn<TData, TDriverParam>;
115
+ mapToDriverValue(value: TData): TDriverParam | SQL;
124
116
  }
125
117
  declare function isDriverValueEncoder(value: unknown): value is DriverValueEncoder<any, any>;
126
118
  declare const noopDecoder: DriverValueDecoder<any, any>;
127
119
  declare const noopEncoder: DriverValueEncoder<any, any>;
128
120
  interface DriverValueMapper<TData, TDriverParam> extends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam> {}
129
- declare function isNoop(mapper: DriverValueEncoderFn<any, any> | DriverValueDecoderFn<any, any>): true | undefined;
130
121
  declare const noopMapper: DriverValueMapper<any, any>;
131
122
  /** Parameter value that is optionally bound to an encoder (for example, a column). */
132
- declare class Param<TDataType = any, TDriverParamType = TDataType> implements SQLWrapper {
123
+ declare class Param<TDataType = unknown, TDriverParamType = TDataType> implements SQLWrapper {
133
124
  readonly value: TDataType;
134
125
  readonly encoder: DriverValueEncoder<TDataType, TDriverParamType>;
135
- codec?: ((value: any) => any) | undefined;
136
126
  static readonly [entityKind]: string;
137
127
  protected brand: 'BoundParamValue';
138
128
  /**
139
129
  * @param value - Parameter value
140
130
  * @param encoder - Encoder to convert the value to a driver parameter
141
131
  */
142
- constructor(value: TDataType, encoder?: DriverValueEncoder<TDataType, TDriverParamType>, codec?: ((value: any) => any) | undefined);
132
+ constructor(value: TDataType, encoder?: DriverValueEncoder<TDataType, TDriverParamType>);
143
133
  getSQL(): SQL<unknown>;
144
134
  }
145
135
  /** @deprecated Use `sql.param` instead. */
@@ -257,5 +247,5 @@ type InferSelectViewModel<TView extends View> = Equal<TView['_']['selectedFields
257
247
  } : SelectResult<TView['_']['selectedFields'], 'single', Record<TView['_']['name'], 'not-null'>>;
258
248
  type SQLEntity = SQL | SQLWrapper | SQL.Aliased | Table | View;
259
249
  //#endregion
260
- export { BuildQueryConfig, Chunk, ColumnsSelection, CommentInput, DriverValueDecoder, DriverValueDecoderFn, DriverValueEncoder, DriverValueEncoderFn, DriverValueMapper, FakePrimitiveParam, GetDecoderResult, InferSelectViewModel, Name, Param, Placeholder, Query, QueryTypingsValue, QueryWithTypings, SQL, SQLChunk, SQLEntity, SQLGenerator, SQLWrapper, SqlCommenterInput, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isNoop, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };
250
+ export { BuildQueryConfig, Chunk, ColumnsSelection, CommentInput, DriverValueDecoder, DriverValueEncoder, DriverValueMapper, FakePrimitiveParam, GetDecoderResult, InferSelectViewModel, Name, Param, Placeholder, Query, QueryTypingsValue, QueryWithTypings, SQL, SQLChunk, SQLEntity, SQLGenerator, SQLWrapper, SqlCommenterInput, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };
261
251
  //# sourceMappingURL=sql.d.cts.map
package/sql/sql.d.ts CHANGED
@@ -3,7 +3,6 @@ import { AnyColumn, Column } from "../column.js";
3
3
  import { entityKind } from "../entity.js";
4
4
  import { Subquery } from "../subquery.js";
5
5
  import { Assume, Equal } from "../utils.js";
6
- import { CodecsCollection } from "../codecs.js";
7
6
  import { CasingCache } from "../casing.js";
8
7
  import { SelectResult } from "../query-builders/select.types.js";
9
8
 
@@ -23,7 +22,6 @@ interface BuildQueryConfig {
23
22
  escapeParam(num: number, value: unknown): string;
24
23
  escapeString(str: string): string;
25
24
  prepareTyping?: (encoder: DriverValueEncoder<unknown, unknown>) => QueryTypingsValue;
26
- codecs?: CodecsCollection;
27
25
  paramStartIndex?: {
28
26
  value: number;
29
27
  };
@@ -110,36 +108,28 @@ declare class Name implements SQLWrapper {
110
108
  * @deprecated Use `sql.identifier` instead.
111
109
  */
112
110
  declare function name(value: string): Name;
113
- interface DriverValueDecoderFn<TData, TDriverParam> {
114
- (value: TDriverParam): TData;
115
- }
116
111
  interface DriverValueDecoder<TData, TDriverParam> {
117
- mapFromDriverValue: DriverValueDecoderFn<TData, TDriverParam>;
118
- }
119
- interface DriverValueEncoderFn<TData, TDriverParam> {
120
- (value: TData): TDriverParam;
112
+ mapFromDriverValue(value: TDriverParam): TData;
121
113
  }
122
114
  interface DriverValueEncoder<TData, TDriverParam> {
123
- mapToDriverValue: DriverValueEncoderFn<TData, TDriverParam>;
115
+ mapToDriverValue(value: TData): TDriverParam | SQL;
124
116
  }
125
117
  declare function isDriverValueEncoder(value: unknown): value is DriverValueEncoder<any, any>;
126
118
  declare const noopDecoder: DriverValueDecoder<any, any>;
127
119
  declare const noopEncoder: DriverValueEncoder<any, any>;
128
120
  interface DriverValueMapper<TData, TDriverParam> extends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam> {}
129
- declare function isNoop(mapper: DriverValueEncoderFn<any, any> | DriverValueDecoderFn<any, any>): true | undefined;
130
121
  declare const noopMapper: DriverValueMapper<any, any>;
131
122
  /** Parameter value that is optionally bound to an encoder (for example, a column). */
132
- declare class Param<TDataType = any, TDriverParamType = TDataType> implements SQLWrapper {
123
+ declare class Param<TDataType = unknown, TDriverParamType = TDataType> implements SQLWrapper {
133
124
  readonly value: TDataType;
134
125
  readonly encoder: DriverValueEncoder<TDataType, TDriverParamType>;
135
- codec?: ((value: any) => any) | undefined;
136
126
  static readonly [entityKind]: string;
137
127
  protected brand: 'BoundParamValue';
138
128
  /**
139
129
  * @param value - Parameter value
140
130
  * @param encoder - Encoder to convert the value to a driver parameter
141
131
  */
142
- constructor(value: TDataType, encoder?: DriverValueEncoder<TDataType, TDriverParamType>, codec?: ((value: any) => any) | undefined);
132
+ constructor(value: TDataType, encoder?: DriverValueEncoder<TDataType, TDriverParamType>);
143
133
  getSQL(): SQL<unknown>;
144
134
  }
145
135
  /** @deprecated Use `sql.param` instead. */
@@ -257,5 +247,5 @@ type InferSelectViewModel<TView extends View> = Equal<TView['_']['selectedFields
257
247
  } : SelectResult<TView['_']['selectedFields'], 'single', Record<TView['_']['name'], 'not-null'>>;
258
248
  type SQLEntity = SQL | SQLWrapper | SQL.Aliased | Table | View;
259
249
  //#endregion
260
- export { BuildQueryConfig, Chunk, ColumnsSelection, CommentInput, DriverValueDecoder, DriverValueDecoderFn, DriverValueEncoder, DriverValueEncoderFn, DriverValueMapper, FakePrimitiveParam, GetDecoderResult, InferSelectViewModel, Name, Param, Placeholder, Query, QueryTypingsValue, QueryWithTypings, SQL, SQLChunk, SQLEntity, SQLGenerator, SQLWrapper, SqlCommenterInput, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isNoop, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };
250
+ export { BuildQueryConfig, Chunk, ColumnsSelection, CommentInput, DriverValueDecoder, DriverValueEncoder, DriverValueMapper, FakePrimitiveParam, GetDecoderResult, InferSelectViewModel, Name, Param, Placeholder, Query, QueryTypingsValue, QueryWithTypings, SQL, SQLChunk, SQLEntity, SQLGenerator, SQLWrapper, SqlCommenterInput, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };
261
251
  //# sourceMappingURL=sql.d.ts.map
package/sql/sql.js CHANGED
@@ -77,7 +77,7 @@ var SQL = class SQL {
77
77
  inlineParams: _config.inlineParams || this.shouldInlineParams,
78
78
  paramStartIndex: _config.paramStartIndex || { value: 0 }
79
79
  });
80
- const { casing, escapeName, escapeParam, prepareTyping, codecs, inlineParams, paramStartIndex, invokeSource } = config;
80
+ const { casing, escapeName, escapeParam, prepareTyping, inlineParams, paramStartIndex, invokeSource } = config;
81
81
  return mergeQueries(chunks.map((chunk) => {
82
82
  if (is(chunk, StringChunk)) return {
83
83
  sql: chunk.value.join(""),
@@ -137,33 +137,21 @@ var SQL = class SQL {
137
137
  };
138
138
  }
139
139
  if (is(chunk, Param)) {
140
- if (is(chunk.value, SQL)) return this.buildQueryFromSourceParams([chunk.value], config);
141
- const useCodecs = codecs && is(chunk.encoder, Column);
142
- if (is(chunk.value, Placeholder)) {
143
- const escaped = escapeParam(paramStartIndex.value++, chunk);
144
- chunk.codec = useCodecs ? (value) => codecs.apply(chunk.encoder, "normalizeParam", value) : void 0;
145
- return {
146
- sql: useCodecs ? codecs.apply(chunk.encoder, "castParam", escaped) : escaped,
147
- params: [chunk],
148
- typings: ["none"]
149
- };
150
- }
151
- let mappedValue;
152
- if (chunk.value === null) mappedValue = chunk.value;
153
- else {
154
- mappedValue = chunk.encoder.mapToDriverValue.isNoop ? chunk.value : chunk.encoder.mapToDriverValue(chunk.value);
155
- if (is(mappedValue, SQL)) return this.buildQueryFromSourceParams([mappedValue], config);
156
- if (useCodecs) mappedValue = codecs.apply(chunk.encoder, "normalizeParam", mappedValue);
157
- }
140
+ if (is(chunk.value, Placeholder)) return {
141
+ sql: escapeParam(paramStartIndex.value++, chunk),
142
+ params: [chunk],
143
+ typings: ["none"]
144
+ };
145
+ const mappedValue = chunk.value === null ? null : chunk.encoder.mapToDriverValue(chunk.value);
146
+ if (is(mappedValue, SQL)) return this.buildQueryFromSourceParams([mappedValue], config);
158
147
  if (inlineParams) return {
159
148
  sql: this.mapInlineParam(mappedValue, config),
160
149
  params: []
161
150
  };
162
151
  let typings = ["none"];
163
152
  if (prepareTyping) typings = [prepareTyping(chunk.encoder)];
164
- const escaped = escapeParam(paramStartIndex.value++, mappedValue);
165
153
  return {
166
- sql: useCodecs ? codecs.apply(chunk.encoder, "castParam", escaped) : escaped,
154
+ sql: escapeParam(paramStartIndex.value++, mappedValue),
167
155
  params: [mappedValue],
168
156
  typings
169
157
  };
@@ -278,12 +266,7 @@ function isDriverValueEncoder(value) {
278
266
  return typeof value === "object" && value !== null && "mapToDriverValue" in value && typeof value.mapToDriverValue === "function";
279
267
  }
280
268
  const noopDecoder = { mapFromDriverValue: (value) => value };
281
- noopDecoder.mapFromDriverValue.isNoop = true;
282
269
  const noopEncoder = { mapToDriverValue: (value) => value };
283
- noopEncoder.mapToDriverValue.isNoop = true;
284
- function isNoop(mapper) {
285
- return mapper.isNoop;
286
- }
287
270
  const noopMapper = {
288
271
  ...noopDecoder,
289
272
  ...noopEncoder
@@ -296,10 +279,9 @@ var Param = class {
296
279
  * @param value - Parameter value
297
280
  * @param encoder - Encoder to convert the value to a driver parameter
298
281
  */
299
- constructor(value, encoder = noopEncoder, codec) {
282
+ constructor(value, encoder = noopEncoder) {
300
283
  this.value = value;
301
284
  this.encoder = encoder;
302
- this.codec = codec;
303
285
  }
304
286
  getSQL() {
305
287
  return new SQL([this]);
@@ -443,9 +425,7 @@ function fillPlaceholders(params, values) {
443
425
  }
444
426
  if (is(p, Param) && is(p.value, Placeholder)) {
445
427
  if (!(p.value.name in values)) throw new Error(`No value for placeholder "${p.value.name}" was provided`);
446
- if (values[p.value.name] === null) return values[p.value.name];
447
- const mapped = p.encoder.mapToDriverValue.isNoop ? values[p.value.name] : p.encoder.mapToDriverValue(values[p.value.name]);
448
- return p.codec ? p.codec(mapped) : mapped;
428
+ return p.encoder.mapToDriverValue(values[p.value.name]);
449
429
  }
450
430
  return p;
451
431
  });
@@ -503,5 +483,5 @@ Subquery.prototype.getSQL = function() {
503
483
  };
504
484
 
505
485
  //#endregion
506
- export { FakePrimitiveParam, Name, Param, Placeholder, SQL, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isNoop, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };
486
+ export { FakePrimitiveParam, Name, Param, Placeholder, SQL, StringChunk, View, fillPlaceholders, getViewName, isDriverValueEncoder, isSQLWrapper, isView, name, noopDecoder, noopEncoder, noopMapper, param, placeholder, sql, sqlCommenter };
507
487
  //# sourceMappingURL=sql.js.map
package/sql/sql.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","names":[],"sources":["../../src/sql/sql.ts"],"sourcesContent":["import type { CasingCache } from '~/casing.ts';\nimport type { CodecsCollection } from '~/codecs.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { SelectResult } from '~/query-builders/select.types.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { TableName } from '~/table.utils.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { AnyColumn } from '../column.ts';\nimport { Column } from '../column.ts';\nimport { IsAlias, OriginalName, Table, TableColumns, TableSchema } from '../table.ts';\n\n/**\n * This class is used to indicate a primitive param value that is used in `sql` tag.\n * It is only used on type level and is never instantiated at runtime.\n * If you see a value of this type in the code, its runtime value is actually the primitive param value.\n */\nexport class FakePrimitiveParam {\n\tstatic readonly [entityKind]: string = 'FakePrimitiveParam';\n}\n\nexport type Chunk =\n\t| string\n\t| Table\n\t| View\n\t| AnyColumn\n\t| Name\n\t| Param\n\t| Placeholder\n\t| SQL;\n\nexport interface BuildQueryConfig {\n\tcasing: CasingCache;\n\tescapeName(name: string): string;\n\tescapeParam(num: number, value: unknown): string;\n\tescapeString(str: string): string;\n\tprepareTyping?: (encoder: DriverValueEncoder<unknown, unknown>) => QueryTypingsValue;\n\tcodecs?: CodecsCollection;\n\tparamStartIndex?: { value: number };\n\tinlineParams?: boolean;\n\tinvokeSource?: 'indexes' | 'mssql-check' | 'mssql-view-with-schemabinding' | undefined;\n}\n\nexport type QueryTypingsValue = 'json' | 'decimal' | 'time' | 'timestamp' | 'uuid' | 'date' | 'none';\n\nexport interface Query {\n\tsql: string;\n\tparams: unknown[];\n}\n\nexport interface QueryWithTypings extends Query {\n\ttypings?: QueryTypingsValue[];\n}\n\n/**\n * Any value that implements the `getSQL` method. The implementations include:\n * - `Table`\n * - `Column`\n * - `View`\n * - `Subquery`\n * - `SQL`\n * - `SQL.Aliased`\n * - `Placeholder`\n * - `Param`\n */\nexport interface SQLWrapper<T = unknown> {\n\tgetSQL(): SQL<T>;\n\tshouldOmitSQLParens?(): boolean;\n}\n\nexport function isSQLWrapper(value: unknown): value is SQLWrapper {\n\treturn value !== null && value !== undefined && typeof (value as any).getSQL === 'function';\n}\n\nfunction mergeQueries(queries: QueryWithTypings[]): QueryWithTypings {\n\tconst result: QueryWithTypings = { sql: '', params: [] };\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t\tif (query.typings?.length) {\n\t\t\tif (!result.typings) {\n\t\t\t\tresult.typings = [];\n\t\t\t}\n\t\t\tresult.typings.push(...query.typings);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport class StringChunk implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'StringChunk';\n\n\treadonly value: string[];\n\n\tconstructor(value: string | string[]) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport class SQL<T = unknown> implements SQLWrapper<T> {\n\tstatic readonly [entityKind]: string = 'SQL';\n\n\tdeclare _: {\n\t\tbrand: 'SQL';\n\t\ttype: T;\n\t};\n\n\t/** @internal */\n\tdecoder: DriverValueDecoder<T, any> = noopDecoder;\n\t/** @internal */\n\tpublic shouldInlineParams = false;\n\n\t/** @internal */\n\tusedTables: string[] = [];\n\n\tconstructor(readonly queryChunks: SQLChunk[]) {\n\t\tfor (const chunk of queryChunks) {\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\n\t\t\t\tthis.usedTables.push(\n\t\t\t\t\tschemaName === undefined\n\t\t\t\t\t\t? chunk[Table.Symbol.Name]\n\t\t\t\t\t\t: schemaName + '.' + chunk[Table.Symbol.Name],\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(query: SQL): this {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\n\ttoQuery(config: BuildQueryConfig): QueryWithTypings {\n\t\treturn tracer.startActiveSpan('drizzle.buildSQL', (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': query.sql,\n\t\t\t\t'drizzle.query.params': JSON.stringify(query.params),\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\n\tbuildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 },\n\t\t});\n\n\t\tconst {\n\t\t\tcasing,\n\t\t\tescapeName,\n\t\t\tescapeParam,\n\t\t\tprepareTyping,\n\t\t\tcodecs,\n\t\t\tinlineParams,\n\t\t\tparamStartIndex,\n\t\t\tinvokeSource,\n\t\t} = config;\n\n\t\treturn mergeQueries(chunks.map((chunk): QueryWithTypings => {\n\t\t\tif (is(chunk, StringChunk)) {\n\t\t\t\treturn { sql: chunk.value.join(''), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Name)) {\n\t\t\t\treturn { sql: escapeName(chunk.value), params: [] };\n\t\t\t}\n\n\t\t\tif (chunk === undefined) {\n\t\t\t\treturn { sql: '', params: [] };\n\t\t\t}\n\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result: SQLChunk[] = [new StringChunk('(')];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) {\n\t\t\t\t\t\tresult.push(new StringChunk(', '));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(')'));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL)) {\n\t\t\t\treturn this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t\t...config,\n\t\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\n\t\t\t\tif (invokeSource === 'mssql-view-with-schemabinding') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: (schemaName === undefined ? escapeName('dbo') : escapeName(schemaName)) + '.'\n\t\t\t\t\t\t\t+ escapeName(tableName),\n\t\t\t\t\t\tparams: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[IsAlias]\n\t\t\t\t\t\t? escapeName(tableName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(tableName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = casing.getColumnCasing(chunk);\n\t\t\t\tif (_config.invokeSource === 'indexes') {\n\t\t\t\t\treturn { sql: escapeName(columnName), params: [] };\n\t\t\t\t}\n\n\t\t\t\tconst schemaName = invokeSource === 'mssql-check' ? undefined : chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.isAlias ? escapeName(chunk.name) : chunk.table[IsAlias] || schemaName === undefined\n\t\t\t\t\t\t? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'\n\t\t\t\t\t\t\t+ escapeName(columnName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[ViewBaseConfig].isAlias\n\t\t\t\t\t\t? escapeName(viewName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(viewName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, SQL)) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.value], config);\n\t\t\t\t}\n\n\t\t\t\tconst useCodecs = codecs && is(chunk.encoder, Column);\n\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, chunk);\n\t\t\t\t\tchunk.codec = useCodecs\n\t\t\t\t\t\t? (value) => codecs.apply(chunk.encoder as Column, 'normalizeParam', value)\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: useCodecs\n\t\t\t\t\t\t\t? codecs.apply(chunk.encoder, 'castParam', escaped)\n\t\t\t\t\t\t\t: escaped,\n\t\t\t\t\t\tparams: [chunk],\n\t\t\t\t\t\ttypings: ['none'],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tlet mappedValue: any;\n\t\t\t\tif (chunk.value === null) {\n\t\t\t\t\tmappedValue = chunk.value;\n\t\t\t\t} else {\n\t\t\t\t\tmappedValue = chunk.encoder.mapToDriverValue.isNoop\n\t\t\t\t\t\t? chunk.value\n\t\t\t\t\t\t: chunk.encoder.mapToDriverValue(chunk.value);\n\n\t\t\t\t\tif (is(mappedValue, SQL)) {\n\t\t\t\t\t\treturn this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (useCodecs) {\n\t\t\t\t\t\tmappedValue = codecs.apply(\n\t\t\t\t\t\t\tchunk.encoder,\n\t\t\t\t\t\t\t'normalizeParam',\n\t\t\t\t\t\t\tmappedValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (inlineParams) {\n\t\t\t\t\treturn { sql: this.mapInlineParam(mappedValue, config), params: [] };\n\t\t\t\t}\n\n\t\t\t\tlet typings: QueryTypingsValue[] = ['none'];\n\t\t\t\tif (prepareTyping) {\n\t\t\t\t\ttypings = [prepareTyping(chunk.encoder)];\n\t\t\t\t}\n\n\t\t\t\tconst escaped = escapeParam(paramStartIndex.value++, mappedValue);\n\t\t\t\treturn {\n\t\t\t\t\tsql: useCodecs\n\t\t\t\t\t\t? codecs.apply(chunk.encoder, 'castParam', escaped)\n\t\t\t\t\t\t: escaped,\n\t\t\t\t\tparams: [mappedValue],\n\t\t\t\t\ttypings,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Placeholder)) {\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== undefined) {\n\t\t\t\treturn {\n\t\t\t\t\tsql: (chunk.origin !== undefined ? escapeName(chunk.origin) + '.' : '') + escapeName(chunk.fieldAlias),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) {\n\t\t\t\t\treturn { sql: escapeName(chunk._.alias), params: [] };\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(') '),\n\t\t\t\t\tnew Name(chunk._.alias),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (typeof chunk === 'function' && 'enumName' in chunk) {\n\t\t\t\tif ('schema' in chunk && chunk.schema) {\n\t\t\t\t\treturn { sql: escapeName(chunk.schema as string) + '.' + escapeName(chunk.enumName as string), params: [] };\n\t\t\t\t}\n\t\t\t\treturn { sql: escapeName(chunk.enumName as string), params: [] };\n\t\t\t}\n\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(')'),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (inlineParams) {\n\t\t\t\treturn { sql: this.mapInlineParam(chunk, config), params: [] };\n\t\t\t}\n\n\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t}));\n\t}\n\n\tprivate mapInlineParam(\n\t\tchunk: unknown,\n\t\t{ escapeString }: BuildQueryConfig,\n\t): string {\n\t\tif (chunk === null) {\n\t\t\treturn 'null';\n\t\t}\n\t\tif (typeof chunk === 'number' || typeof chunk === 'boolean' || typeof chunk === 'bigint') {\n\t\t\treturn chunk.toString();\n\t\t}\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn escapeString(chunk);\n\t\t}\n\t\tif (typeof chunk === 'object') {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === '[object Object]') {\n\t\t\t\treturn escapeString(JSON.stringify(chunk));\n\t\t\t}\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error('Unexpected param value: ' + chunk);\n\t}\n\n\tgetSQL(): SQL<T> {\n\t\treturn this;\n\t}\n\n\tas(alias: string): SQL.Aliased<T>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(): SQL<TData>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(alias: string): SQL.Aliased<TData>;\n\tas(alias?: string): SQL<T> | SQL.Aliased<T> {\n\t\t// TODO: remove with deprecated overloads\n\t\tif (alias === undefined) {\n\t\t\treturn this;\n\t\t}\n\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\n\tmapWith<\n\t\tTDecoder extends\n\t\t\t| DriverValueDecoder<any, any>\n\t\t\t| DriverValueDecoder<any, any>['mapFromDriverValue'],\n\t>(decoder: TDecoder): SQL<GetDecoderResult<TDecoder>> {\n\t\tthis.decoder = typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this as SQL<GetDecoderResult<TDecoder>>;\n\t}\n\n\tinlineParams(): this {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * This method is used to conditionally include a part of the query.\n\t *\n\t * @param condition - Condition to check\n\t * @returns itself if the condition is `true`, otherwise `undefined`\n\t */\n\tif(condition: any | undefined): this | undefined {\n\t\treturn condition ? this : undefined;\n\t}\n}\n\nexport type GetDecoderResult<T> = T extends Column ? T['_']['data'] : T extends\n\t| DriverValueDecoder<infer TData, any>\n\t| DriverValueDecoder<infer TData, any>['mapFromDriverValue'] ? TData\n: never;\n\n/**\n * Any DB name (table, column, index etc.)\n */\nexport class Name implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Name';\n\n\tprotected brand!: 'Name';\n\n\tconstructor(readonly value: string) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/**\n * Any DB name (table, column, index etc.)\n * @deprecated Use `sql.identifier` instead.\n */\nexport function name(value: string): Name {\n\treturn new Name(value);\n}\n\nexport interface DriverValueDecoderFn<TData, TDriverParam> {\n\t(value: TDriverParam): TData;\n\t/** @internal */\n\tisNoop?: true | undefined;\n}\n\nexport interface DriverValueDecoder<TData, TDriverParam> {\n\tmapFromDriverValue: DriverValueDecoderFn<TData, TDriverParam>;\n}\n\nexport interface DriverValueEncoderFn<TData, TDriverParam> {\n\t(value: TData): TDriverParam;\n\t/** @internal */\n\tisNoop?: true | undefined;\n}\n\nexport interface DriverValueEncoder<TData, TDriverParam> {\n\tmapToDriverValue: DriverValueEncoderFn<TData, TDriverParam>;\n}\n\nexport function isDriverValueEncoder(value: unknown): value is DriverValueEncoder<any, any> {\n\treturn typeof value === 'object' && value !== null && 'mapToDriverValue' in value\n\t\t&& typeof (value as any).mapToDriverValue === 'function';\n}\n\nexport const noopDecoder: DriverValueDecoder<any, any> = {\n\tmapFromDriverValue: (value) => value,\n};\n\nnoopDecoder.mapFromDriverValue.isNoop = true;\n\nexport const noopEncoder: DriverValueEncoder<any, any> = {\n\tmapToDriverValue: (value) => value,\n};\n\nnoopEncoder.mapToDriverValue.isNoop = true;\n\nexport interface DriverValueMapper<TData, TDriverParam>\n\textends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam>\n{}\n\nexport function isNoop(mapper: DriverValueEncoderFn<any, any> | DriverValueDecoderFn<any, any>) {\n\treturn mapper.isNoop;\n}\n\nexport const noopMapper: DriverValueMapper<any, any> = {\n\t...noopDecoder,\n\t...noopEncoder,\n};\n\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nexport class Param<TDataType = any, TDriverParamType = TDataType> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Param';\n\n\tprotected brand!: 'BoundParamValue';\n\n\t/**\n\t * @param value - Parameter value\n\t * @param encoder - Encoder to convert the value to a driver parameter\n\t */\n\tconstructor(\n\t\treadonly value: TDataType,\n\t\treadonly encoder: DriverValueEncoder<TDataType, TDriverParamType> = noopEncoder,\n\t\tpublic codec?: (value: any) => any,\n\t) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.param` instead. */\nexport function param<TData, TDriver>(\n\tvalue: TData,\n\tencoder?: DriverValueEncoder<TData, TDriver>,\n): Param<TData, TDriver> {\n\treturn new Param(value, encoder);\n}\n\n/**\n * Anything that can be passed to the `` sql`...` `` tagged function.\n */\nexport type SQLChunk =\n\t| StringChunk\n\t| SQLChunk[]\n\t| SQLWrapper\n\t| SQL\n\t| Table\n\t| View\n\t| Subquery\n\t| AnyColumn\n\t| Param\n\t| Name\n\t| undefined\n\t| FakePrimitiveParam\n\t| Placeholder;\n\nexport type SQLGenerator<T = unknown> = typeof sql<T>;\n\nexport function sql<T>(strings: TemplateStringsArray, ...params: any[]): SQL<T>;\n/*\n\tThe type of `params` is specified as `SQLChunk[]`, but that's slightly incorrect -\n\tin runtime, users won't pass `FakePrimitiveParam` instances as `params` - they will pass primitive values\n\twhich will be wrapped in `Param`. That's why the overload specifies `params` as `any[]` and not as `SQLSourceParam[]`.\n\tThis type is used to make our lives easier and the type checker happy.\n*/\nexport function sql(strings: TemplateStringsArray, ...params: SQLChunk[]): SQL {\n\tconst queryChunks: SQLChunk[] = [];\n\tif (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {\n\t\tqueryChunks.push(new StringChunk(strings[0]!));\n\t}\n\tfor (const [paramIndex, param] of params.entries()) {\n\t\tqueryChunks.push(param, new StringChunk(strings[paramIndex + 1]!));\n\t}\n\n\treturn new SQL(queryChunks);\n}\n\nexport namespace sql {\n\texport function empty(): SQL {\n\t\treturn new SQL([]);\n\t}\n\n\t/** @deprecated - use `sql.join()` */\n\texport function fromList(list: SQLChunk[]): SQL {\n\t\treturn new SQL(list);\n\t}\n\n\t/**\n\t * Convenience function to create an SQL query from a raw string.\n\t * @param str The raw SQL query string.\n\t */\n\texport function raw(str: string): SQL {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\n\t/**\n\t * Join a list of SQL chunks with a separator.\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`]);\n\t * // sql`abc`\n\t * ```\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`], sql`, `);\n\t * // sql`a, b, c`\n\t * ```\n\t */\n\texport function join(chunks: SQLChunk[], separator?: SQLChunk): SQL {\n\t\tconst result: SQLChunk[] = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== undefined) {\n\t\t\t\tresult.push(separator);\n\t\t\t}\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\n\t/**\n\t * Create a SQL chunk that represents a DB identifier (table, column, index etc.).\n\t * When used in a query, the identifier will be escaped based on the DB engine.\n\t * For example, in PostgreSQL, identifiers are escaped with double quotes.\n\t *\n\t * **WARNING: This function does not offer any protection against SQL injections, so you must validate any user input beforehand.**\n\t *\n\t * @example ```ts\n\t * const query = sql`SELECT * FROM ${sql.identifier('my-table')}`;\n\t * // 'SELECT * FROM \"my-table\"'\n\t * ```\n\t */\n\texport function identifier(value: string): Name {\n\t\treturn new Name(value);\n\t}\n\n\texport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\t\treturn new Placeholder(name);\n\t}\n\n\texport function param<TData, TDriver>(\n\t\tvalue: TData,\n\t\tencoder?: DriverValueEncoder<TData, TDriver>,\n\t): Param<TData, TDriver> {\n\t\treturn new Param(value, encoder);\n\t}\n\n\t/**\n\t * Attach [sqlcommenter](https://google.github.io/sqlcommenter) comment to a query\n\t */\n\texport function comment(input: CommentInput): SQL | undefined {\n\t\tconst encoded = sqlCommenter(input);\n\t\tif (!encoded.length) return undefined;\n\n\t\treturn sql.raw(encoded);\n\t}\n}\n\nexport function sqlCommenter(input: CommentInput): string {\n\tconst encoded = sqlCommenter.encodeInput(input);\n\tif (!encoded.length) return '';\n\n\treturn `/*${encoded}*/`;\n}\n\nexport namespace sqlCommenter {\n\texport function merge(input1: CommentInput | undefined, input2: CommentInput | undefined) {\n\t\tlet encoded: CommentInput;\n\t\tif (typeof input1 === 'object' && typeof input2 === 'object') {\n\t\t\tencoded = encodeInput({ ...input1, ...input2 });\n\t\t} else if (input1 && input2) {\n\t\t\tencoded = [encodeInput(input1), encodeInput(input2)].filter((i) => i.length).join(',');\n\t\t} else if (input2) {\n\t\t\tencoded = encodeInput(input2);\n\t\t} else if (input1) {\n\t\t\tencoded = encodeInput(input1);\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (!encoded.length) return '';\n\n\t\treturn `/*${encoded}*/`;\n\t}\n\n\texport function encodeInput(input: CommentInput): string {\n\t\tif (typeof input === 'string') {\n\t\t\tif (!input.length) return input;\n\n\t\t\treturn sanitizeStringInput(input);\n\t\t}\n\n\t\tconst parts: string[] = [];\n\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\tif (value === null || value === undefined || value === '') continue;\n\n\t\t\tconst encodedKey = sanitizeObjectElement(key);\n\t\t\tconst encodedValue = sanitizeObjectElement(String(value));\n\n\t\t\tparts.push(`${encodedKey}='${encodedValue}'`);\n\t\t}\n\n\t\tif (!parts.length) return '';\n\n\t\treturn parts.sort().join(',');\n\t}\n\n\texport function sanitizeObjectElement(key: string): string {\n\t\tconst urlEncoded = encodeURIComponent(key);\n\t\treturn urlEncoded.replace(/'/g, `\\\\'`);\n\t}\n\n\texport function sanitizeStringInput(input: string): string {\n\t\treturn input.replace(/\\/\\*/g, '/ *').replace(/\\*\\//g, '* /');\n\t}\n}\n\nexport type CommentInput = string | SqlCommenterInput;\n\nexport type SqlCommenterInput = Record<\n\tstring,\n\tstring | number | bigint | boolean | null | undefined\n>;\n\nexport namespace SQL {\n\texport class Aliased<T = unknown> implements SQLWrapper<T> {\n\t\tstatic readonly [entityKind]: string = 'SQL.Aliased';\n\n\t\tdeclare _: {\n\t\t\tbrand: 'SQL.Aliased';\n\t\t\ttype: T;\n\t\t};\n\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\t\t/** @internal */\n\t\torigin?: string;\n\n\t\tconstructor(\n\t\t\treadonly sql: SQL<T>,\n\t\t\treadonly fieldAlias: string,\n\t\t) {}\n\n\t\tgetSQL(): SQL<T> {\n\t\t\treturn this.sql as SQL<T>;\n\t\t}\n\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased<T>(this.sql, this.fieldAlias);\n\t\t}\n\t}\n}\n\nexport class Placeholder<TName extends string = string, TValue = any> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Placeholder';\n\n\tdeclare protected: TValue;\n\n\tconstructor(readonly name: TName) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.placeholder` instead. */\nexport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\treturn new Placeholder(name);\n}\n\nexport function fillPlaceholders(params: unknown[], values: Record<string, unknown>): unknown[] {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn values[p.name];\n\t\t}\n\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\t}\n\n\t\t\tif (values[p.value.name] === null) return values[p.value.name];\n\n\t\t\tconst mapped = p.encoder.mapToDriverValue.isNoop\n\t\t\t\t? values[p.value.name]\n\t\t\t\t: p.encoder.mapToDriverValue(values[p.value.name]);\n\n\t\t\treturn p.codec ? p.codec(mapped) : mapped;\n\t\t}\n\n\t\treturn p;\n\t});\n}\n\nexport type ColumnsSelection = Record<string, unknown>;\n\nconst IsDrizzleView = Symbol.for('drizzle:IsDrizzleView');\n\nexport abstract class View<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> {\n\tstatic readonly [entityKind]: string = 'View';\n\n\tdeclare _: {\n\t\tbrand: 'View';\n\t\tviewBrand: string;\n\t\tname: TName;\n\t\texisting: TExisting;\n\t\tselectedFields: TSelection;\n\t};\n\n\t/** @internal */\n\t[ViewBaseConfig]: {\n\t\tname: TName;\n\t\toriginalName: TName;\n\t\tschema: string | undefined;\n\t\tselectedFields: ColumnsSelection;\n\t\tisExisting: TExisting;\n\t\tquery: TExisting extends true ? undefined : SQL;\n\t\tisAlias: boolean;\n\t};\n\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\n\t/** @internal */\n\tpublic get [TableName]() {\n\t\treturn this[ViewBaseConfig].name;\n\t}\n\n\t/** @internal */\n\tpublic get [TableSchema]() {\n\t\treturn this[ViewBaseConfig].schema;\n\t}\n\n\t/** @internal */\n\tpublic get [IsAlias]() {\n\t\treturn this[ViewBaseConfig].isAlias;\n\t}\n\n\t/** @internal */\n\tpublic get [OriginalName]() {\n\t\treturn this[ViewBaseConfig].originalName;\n\t}\n\n\t/** @internal */\n\tpublic get [TableColumns]() {\n\t\treturn (this[ViewBaseConfig].selectedFields) as any as Record<string, unknown>;\n\t}\n\n\tdeclare readonly $inferSelect: InferSelectViewModel<View<Assume<TName, string>, TExisting, TSelection>>;\n\n\tconstructor(\n\t\t{ name, schema, selectedFields, query }: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t},\n\t) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery: query as (TExisting extends true ? undefined : SQL),\n\t\t\tisExisting: !query as TExisting,\n\t\t\tisAlias: false,\n\t\t};\n\t}\n}\n\nexport function isView(view: unknown): view is View {\n\treturn typeof view === 'object' && view !== null && IsDrizzleView in view;\n}\n\nexport function getViewName<T extends View>(view: T): T['_']['name'] {\n\treturn view[ViewBaseConfig].name;\n}\n\nexport type InferSelectViewModel<TView extends View> =\n\tEqual<TView['_']['selectedFields'], { [x: string]: unknown }> extends true ? { [x: string]: unknown }\n\t\t: SelectResult<\n\t\t\tTView['_']['selectedFields'],\n\t\t\t'single',\n\t\t\tRecord<TView['_']['name'], 'not-null'>\n\t\t>;\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n// Defined separately from the Column class to resolve circular dependency\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\nexport type SQLEntity = SQL | SQLWrapper | SQL.Aliased | Table | View;\n"],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","names":[],"sources":["../../src/sql/sql.ts"],"sourcesContent":["import type { CasingCache } from '~/casing.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { SelectResult } from '~/query-builders/select.types.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { TableName } from '~/table.utils.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { AnyColumn } from '../column.ts';\nimport { Column } from '../column.ts';\nimport { IsAlias, OriginalName, Table, TableColumns, TableSchema } from '../table.ts';\n\n/**\n * This class is used to indicate a primitive param value that is used in `sql` tag.\n * It is only used on type level and is never instantiated at runtime.\n * If you see a value of this type in the code, its runtime value is actually the primitive param value.\n */\nexport class FakePrimitiveParam {\n\tstatic readonly [entityKind]: string = 'FakePrimitiveParam';\n}\n\nexport type Chunk =\n\t| string\n\t| Table\n\t| View\n\t| AnyColumn\n\t| Name\n\t| Param\n\t| Placeholder\n\t| SQL;\n\nexport interface BuildQueryConfig {\n\tcasing: CasingCache;\n\tescapeName(name: string): string;\n\tescapeParam(num: number, value: unknown): string;\n\tescapeString(str: string): string;\n\tprepareTyping?: (encoder: DriverValueEncoder<unknown, unknown>) => QueryTypingsValue;\n\tparamStartIndex?: { value: number };\n\tinlineParams?: boolean;\n\tinvokeSource?: 'indexes' | 'mssql-check' | 'mssql-view-with-schemabinding' | undefined;\n}\n\nexport type QueryTypingsValue = 'json' | 'decimal' | 'time' | 'timestamp' | 'uuid' | 'date' | 'none';\n\nexport interface Query {\n\tsql: string;\n\tparams: unknown[];\n}\n\nexport interface QueryWithTypings extends Query {\n\ttypings?: QueryTypingsValue[];\n}\n\n/**\n * Any value that implements the `getSQL` method. The implementations include:\n * - `Table`\n * - `Column`\n * - `View`\n * - `Subquery`\n * - `SQL`\n * - `SQL.Aliased`\n * - `Placeholder`\n * - `Param`\n */\nexport interface SQLWrapper<T = unknown> {\n\tgetSQL(): SQL<T>;\n\tshouldOmitSQLParens?(): boolean;\n}\n\nexport function isSQLWrapper(value: unknown): value is SQLWrapper {\n\treturn value !== null && value !== undefined && typeof (value as any).getSQL === 'function';\n}\n\nfunction mergeQueries(queries: QueryWithTypings[]): QueryWithTypings {\n\tconst result: QueryWithTypings = { sql: '', params: [] };\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t\tif (query.typings?.length) {\n\t\t\tif (!result.typings) {\n\t\t\t\tresult.typings = [];\n\t\t\t}\n\t\t\tresult.typings.push(...query.typings);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport class StringChunk implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'StringChunk';\n\n\treadonly value: string[];\n\n\tconstructor(value: string | string[]) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport class SQL<T = unknown> implements SQLWrapper<T> {\n\tstatic readonly [entityKind]: string = 'SQL';\n\n\tdeclare _: {\n\t\tbrand: 'SQL';\n\t\ttype: T;\n\t};\n\n\t/** @internal */\n\tdecoder: DriverValueDecoder<T, any> = noopDecoder;\n\t/** @internal */\n\tpublic shouldInlineParams = false;\n\n\t/** @internal */\n\tusedTables: string[] = [];\n\n\tconstructor(readonly queryChunks: SQLChunk[]) {\n\t\tfor (const chunk of queryChunks) {\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\n\t\t\t\tthis.usedTables.push(\n\t\t\t\t\tschemaName === undefined\n\t\t\t\t\t\t? chunk[Table.Symbol.Name]\n\t\t\t\t\t\t: schemaName + '.' + chunk[Table.Symbol.Name],\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(query: SQL): this {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\n\ttoQuery(config: BuildQueryConfig): QueryWithTypings {\n\t\treturn tracer.startActiveSpan('drizzle.buildSQL', (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': query.sql,\n\t\t\t\t'drizzle.query.params': JSON.stringify(query.params),\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\n\tbuildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 },\n\t\t});\n\n\t\tconst {\n\t\t\tcasing,\n\t\t\tescapeName,\n\t\t\tescapeParam,\n\t\t\tprepareTyping,\n\t\t\tinlineParams,\n\t\t\tparamStartIndex,\n\t\t\tinvokeSource,\n\t\t} = config;\n\n\t\treturn mergeQueries(chunks.map((chunk): QueryWithTypings => {\n\t\t\tif (is(chunk, StringChunk)) {\n\t\t\t\treturn { sql: chunk.value.join(''), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Name)) {\n\t\t\t\treturn { sql: escapeName(chunk.value), params: [] };\n\t\t\t}\n\n\t\t\tif (chunk === undefined) {\n\t\t\t\treturn { sql: '', params: [] };\n\t\t\t}\n\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result: SQLChunk[] = [new StringChunk('(')];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) {\n\t\t\t\t\t\tresult.push(new StringChunk(', '));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(')'));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL)) {\n\t\t\t\treturn this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t\t...config,\n\t\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\n\t\t\t\tif (invokeSource === 'mssql-view-with-schemabinding') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsql: (schemaName === undefined ? escapeName('dbo') : escapeName(schemaName)) + '.'\n\t\t\t\t\t\t\t+ escapeName(tableName),\n\t\t\t\t\t\tparams: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[IsAlias]\n\t\t\t\t\t\t? escapeName(tableName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(tableName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = casing.getColumnCasing(chunk);\n\t\t\t\tif (_config.invokeSource === 'indexes') {\n\t\t\t\t\treturn { sql: escapeName(columnName), params: [] };\n\t\t\t\t}\n\n\t\t\t\tconst schemaName = invokeSource === 'mssql-check' ? undefined : chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.isAlias ? escapeName(chunk.name) : chunk.table[IsAlias] || schemaName === undefined\n\t\t\t\t\t\t? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'\n\t\t\t\t\t\t\t+ escapeName(columnName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[ViewBaseConfig].isAlias\n\t\t\t\t\t\t? escapeName(viewName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(viewName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t\t}\n\n\t\t\t\tconst mappedValue = chunk.value === null ? null : chunk.encoder.mapToDriverValue(chunk.value);\n\n\t\t\t\tif (is(mappedValue, SQL)) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t}\n\n\t\t\t\tif (inlineParams) {\n\t\t\t\t\treturn { sql: this.mapInlineParam(mappedValue, config), params: [] };\n\t\t\t\t}\n\n\t\t\t\tlet typings: QueryTypingsValue[] = ['none'];\n\t\t\t\tif (prepareTyping) {\n\t\t\t\t\ttypings = [prepareTyping(chunk.encoder)];\n\t\t\t\t}\n\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, mappedValue), params: [mappedValue], typings };\n\t\t\t}\n\n\t\t\tif (is(chunk, Placeholder)) {\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== undefined) {\n\t\t\t\treturn {\n\t\t\t\t\tsql: (chunk.origin !== undefined ? escapeName(chunk.origin) + '.' : '') + escapeName(chunk.fieldAlias),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) {\n\t\t\t\t\treturn { sql: escapeName(chunk._.alias), params: [] };\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(') '),\n\t\t\t\t\tnew Name(chunk._.alias),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (typeof chunk === 'function' && 'enumName' in chunk) {\n\t\t\t\tif ('schema' in chunk && chunk.schema) {\n\t\t\t\t\treturn { sql: escapeName(chunk.schema as string) + '.' + escapeName(chunk.enumName as string), params: [] };\n\t\t\t\t}\n\t\t\t\treturn { sql: escapeName(chunk.enumName as string), params: [] };\n\t\t\t}\n\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(')'),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (inlineParams) {\n\t\t\t\treturn { sql: this.mapInlineParam(chunk, config), params: [] };\n\t\t\t}\n\n\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t}));\n\t}\n\n\tprivate mapInlineParam(\n\t\tchunk: unknown,\n\t\t{ escapeString }: BuildQueryConfig,\n\t): string {\n\t\tif (chunk === null) {\n\t\t\treturn 'null';\n\t\t}\n\t\tif (typeof chunk === 'number' || typeof chunk === 'boolean' || typeof chunk === 'bigint') {\n\t\t\treturn chunk.toString();\n\t\t}\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn escapeString(chunk);\n\t\t}\n\t\tif (typeof chunk === 'object') {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === '[object Object]') {\n\t\t\t\treturn escapeString(JSON.stringify(chunk));\n\t\t\t}\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error('Unexpected param value: ' + chunk);\n\t}\n\n\tgetSQL(): SQL<T> {\n\t\treturn this;\n\t}\n\n\tas(alias: string): SQL.Aliased<T>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(): SQL<TData>;\n\t/**\n\t * @deprecated\n\t * Use ``sql<DataType>`query`.as(alias)`` instead.\n\t */\n\tas<TData>(alias: string): SQL.Aliased<TData>;\n\tas(alias?: string): SQL<T> | SQL.Aliased<T> {\n\t\t// TODO: remove with deprecated overloads\n\t\tif (alias === undefined) {\n\t\t\treturn this;\n\t\t}\n\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\n\tmapWith<\n\t\tTDecoder extends\n\t\t\t| DriverValueDecoder<any, any>\n\t\t\t| DriverValueDecoder<any, any>['mapFromDriverValue'],\n\t>(decoder: TDecoder): SQL<GetDecoderResult<TDecoder>> {\n\t\tthis.decoder = typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this as SQL<GetDecoderResult<TDecoder>>;\n\t}\n\n\tinlineParams(): this {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * This method is used to conditionally include a part of the query.\n\t *\n\t * @param condition - Condition to check\n\t * @returns itself if the condition is `true`, otherwise `undefined`\n\t */\n\tif(condition: any | undefined): this | undefined {\n\t\treturn condition ? this : undefined;\n\t}\n}\n\nexport type GetDecoderResult<T> = T extends Column ? T['_']['data'] : T extends\n\t| DriverValueDecoder<infer TData, any>\n\t| DriverValueDecoder<infer TData, any>['mapFromDriverValue'] ? TData\n: never;\n\n/**\n * Any DB name (table, column, index etc.)\n */\nexport class Name implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Name';\n\n\tprotected brand!: 'Name';\n\n\tconstructor(readonly value: string) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/**\n * Any DB name (table, column, index etc.)\n * @deprecated Use `sql.identifier` instead.\n */\nexport function name(value: string): Name {\n\treturn new Name(value);\n}\n\nexport interface DriverValueDecoder<TData, TDriverParam> {\n\tmapFromDriverValue(value: TDriverParam): TData;\n}\n\nexport interface DriverValueEncoder<TData, TDriverParam> {\n\tmapToDriverValue(value: TData): TDriverParam | SQL;\n}\n\nexport function isDriverValueEncoder(value: unknown): value is DriverValueEncoder<any, any> {\n\treturn typeof value === 'object' && value !== null && 'mapToDriverValue' in value\n\t\t&& typeof (value as any).mapToDriverValue === 'function';\n}\n\nexport const noopDecoder: DriverValueDecoder<any, any> = {\n\tmapFromDriverValue: (value) => value,\n};\n\nexport const noopEncoder: DriverValueEncoder<any, any> = {\n\tmapToDriverValue: (value) => value,\n};\n\nexport interface DriverValueMapper<TData, TDriverParam>\n\textends DriverValueDecoder<TData, TDriverParam>, DriverValueEncoder<TData, TDriverParam>\n{}\n\nexport const noopMapper: DriverValueMapper<any, any> = {\n\t...noopDecoder,\n\t...noopEncoder,\n};\n\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nexport class Param<TDataType = unknown, TDriverParamType = TDataType> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Param';\n\n\tprotected brand!: 'BoundParamValue';\n\n\t/**\n\t * @param value - Parameter value\n\t * @param encoder - Encoder to convert the value to a driver parameter\n\t */\n\tconstructor(\n\t\treadonly value: TDataType,\n\t\treadonly encoder: DriverValueEncoder<TDataType, TDriverParamType> = noopEncoder,\n\t) {}\n\n\tgetSQL(): SQL<unknown> {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.param` instead. */\nexport function param<TData, TDriver>(\n\tvalue: TData,\n\tencoder?: DriverValueEncoder<TData, TDriver>,\n): Param<TData, TDriver> {\n\treturn new Param(value, encoder);\n}\n\n/**\n * Anything that can be passed to the `` sql`...` `` tagged function.\n */\nexport type SQLChunk =\n\t| StringChunk\n\t| SQLChunk[]\n\t| SQLWrapper\n\t| SQL\n\t| Table\n\t| View\n\t| Subquery\n\t| AnyColumn\n\t| Param\n\t| Name\n\t| undefined\n\t| FakePrimitiveParam\n\t| Placeholder;\n\nexport type SQLGenerator<T = unknown> = typeof sql<T>;\n\nexport function sql<T>(strings: TemplateStringsArray, ...params: any[]): SQL<T>;\n/*\n\tThe type of `params` is specified as `SQLChunk[]`, but that's slightly incorrect -\n\tin runtime, users won't pass `FakePrimitiveParam` instances as `params` - they will pass primitive values\n\twhich will be wrapped in `Param`. That's why the overload specifies `params` as `any[]` and not as `SQLSourceParam[]`.\n\tThis type is used to make our lives easier and the type checker happy.\n*/\nexport function sql(strings: TemplateStringsArray, ...params: SQLChunk[]): SQL {\n\tconst queryChunks: SQLChunk[] = [];\n\tif (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {\n\t\tqueryChunks.push(new StringChunk(strings[0]!));\n\t}\n\tfor (const [paramIndex, param] of params.entries()) {\n\t\tqueryChunks.push(param, new StringChunk(strings[paramIndex + 1]!));\n\t}\n\n\treturn new SQL(queryChunks);\n}\n\nexport namespace sql {\n\texport function empty(): SQL {\n\t\treturn new SQL([]);\n\t}\n\n\t/** @deprecated - use `sql.join()` */\n\texport function fromList(list: SQLChunk[]): SQL {\n\t\treturn new SQL(list);\n\t}\n\n\t/**\n\t * Convenience function to create an SQL query from a raw string.\n\t * @param str The raw SQL query string.\n\t */\n\texport function raw(str: string): SQL {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\n\t/**\n\t * Join a list of SQL chunks with a separator.\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`]);\n\t * // sql`abc`\n\t * ```\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`], sql`, `);\n\t * // sql`a, b, c`\n\t * ```\n\t */\n\texport function join(chunks: SQLChunk[], separator?: SQLChunk): SQL {\n\t\tconst result: SQLChunk[] = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== undefined) {\n\t\t\t\tresult.push(separator);\n\t\t\t}\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\n\t/**\n\t * Create a SQL chunk that represents a DB identifier (table, column, index etc.).\n\t * When used in a query, the identifier will be escaped based on the DB engine.\n\t * For example, in PostgreSQL, identifiers are escaped with double quotes.\n\t *\n\t * **WARNING: This function does not offer any protection against SQL injections, so you must validate any user input beforehand.**\n\t *\n\t * @example ```ts\n\t * const query = sql`SELECT * FROM ${sql.identifier('my-table')}`;\n\t * // 'SELECT * FROM \"my-table\"'\n\t * ```\n\t */\n\texport function identifier(value: string): Name {\n\t\treturn new Name(value);\n\t}\n\n\texport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\t\treturn new Placeholder(name);\n\t}\n\n\texport function param<TData, TDriver>(\n\t\tvalue: TData,\n\t\tencoder?: DriverValueEncoder<TData, TDriver>,\n\t): Param<TData, TDriver> {\n\t\treturn new Param(value, encoder);\n\t}\n\n\t/**\n\t * Attach [sqlcommenter](https://google.github.io/sqlcommenter) comment to a query\n\t */\n\texport function comment(input: CommentInput): SQL | undefined {\n\t\tconst encoded = sqlCommenter(input);\n\t\tif (!encoded.length) return undefined;\n\n\t\treturn sql.raw(encoded);\n\t}\n}\n\nexport function sqlCommenter(input: CommentInput): string {\n\tconst encoded = sqlCommenter.encodeInput(input);\n\tif (!encoded.length) return '';\n\n\treturn `/*${encoded}*/`;\n}\n\nexport namespace sqlCommenter {\n\texport function merge(input1: CommentInput | undefined, input2: CommentInput | undefined) {\n\t\tlet encoded: CommentInput;\n\t\tif (typeof input1 === 'object' && typeof input2 === 'object') {\n\t\t\tencoded = encodeInput({ ...input1, ...input2 });\n\t\t} else if (input1 && input2) {\n\t\t\tencoded = [encodeInput(input1), encodeInput(input2)].filter((i) => i.length).join(',');\n\t\t} else if (input2) {\n\t\t\tencoded = encodeInput(input2);\n\t\t} else if (input1) {\n\t\t\tencoded = encodeInput(input1);\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (!encoded.length) return '';\n\n\t\treturn `/*${encoded}*/`;\n\t}\n\n\texport function encodeInput(input: CommentInput): string {\n\t\tif (typeof input === 'string') {\n\t\t\tif (!input.length) return input;\n\n\t\t\treturn sanitizeStringInput(input);\n\t\t}\n\n\t\tconst parts: string[] = [];\n\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\tif (value === null || value === undefined || value === '') continue;\n\n\t\t\tconst encodedKey = sanitizeObjectElement(key);\n\t\t\tconst encodedValue = sanitizeObjectElement(String(value));\n\n\t\t\tparts.push(`${encodedKey}='${encodedValue}'`);\n\t\t}\n\n\t\tif (!parts.length) return '';\n\n\t\treturn parts.sort().join(',');\n\t}\n\n\texport function sanitizeObjectElement(key: string): string {\n\t\tconst urlEncoded = encodeURIComponent(key);\n\t\treturn urlEncoded.replace(/'/g, `\\\\'`);\n\t}\n\n\texport function sanitizeStringInput(input: string): string {\n\t\treturn input.replace(/\\/\\*/g, '/ *').replace(/\\*\\//g, '* /');\n\t}\n}\n\nexport type CommentInput = string | SqlCommenterInput;\n\nexport type SqlCommenterInput = Record<\n\tstring,\n\tstring | number | bigint | boolean | null | undefined\n>;\n\nexport namespace SQL {\n\texport class Aliased<T = unknown> implements SQLWrapper<T> {\n\t\tstatic readonly [entityKind]: string = 'SQL.Aliased';\n\n\t\tdeclare _: {\n\t\t\tbrand: 'SQL.Aliased';\n\t\t\ttype: T;\n\t\t};\n\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\t\t/** @internal */\n\t\torigin?: string;\n\n\t\tconstructor(\n\t\t\treadonly sql: SQL<T>,\n\t\t\treadonly fieldAlias: string,\n\t\t) {}\n\n\t\tgetSQL(): SQL<T> {\n\t\t\treturn this.sql as SQL<T>;\n\t\t}\n\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased<T>(this.sql, this.fieldAlias);\n\t\t}\n\t}\n}\n\nexport class Placeholder<TName extends string = string, TValue = any> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Placeholder';\n\n\tdeclare protected: TValue;\n\n\tconstructor(readonly name: TName) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.placeholder` instead. */\nexport function placeholder<TName extends string>(name: TName): Placeholder<TName> {\n\treturn new Placeholder(name);\n}\n\nexport function fillPlaceholders(params: unknown[], values: Record<string, unknown>): unknown[] {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn values[p.name];\n\t\t}\n\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn p.encoder.mapToDriverValue(values[p.value.name]);\n\t\t}\n\n\t\treturn p;\n\t});\n}\n\nexport type ColumnsSelection = Record<string, unknown>;\n\nconst IsDrizzleView = Symbol.for('drizzle:IsDrizzleView');\n\nexport abstract class View<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> {\n\tstatic readonly [entityKind]: string = 'View';\n\n\tdeclare _: {\n\t\tbrand: 'View';\n\t\tviewBrand: string;\n\t\tname: TName;\n\t\texisting: TExisting;\n\t\tselectedFields: TSelection;\n\t};\n\n\t/** @internal */\n\t[ViewBaseConfig]: {\n\t\tname: TName;\n\t\toriginalName: TName;\n\t\tschema: string | undefined;\n\t\tselectedFields: ColumnsSelection;\n\t\tisExisting: TExisting;\n\t\tquery: TExisting extends true ? undefined : SQL;\n\t\tisAlias: boolean;\n\t};\n\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\n\t/** @internal */\n\tpublic get [TableName]() {\n\t\treturn this[ViewBaseConfig].name;\n\t}\n\n\t/** @internal */\n\tpublic get [TableSchema]() {\n\t\treturn this[ViewBaseConfig].schema;\n\t}\n\n\t/** @internal */\n\tpublic get [IsAlias]() {\n\t\treturn this[ViewBaseConfig].isAlias;\n\t}\n\n\t/** @internal */\n\tpublic get [OriginalName]() {\n\t\treturn this[ViewBaseConfig].originalName;\n\t}\n\n\t/** @internal */\n\tpublic get [TableColumns]() {\n\t\treturn (this[ViewBaseConfig].selectedFields) as any as Record<string, unknown>;\n\t}\n\n\tdeclare readonly $inferSelect: InferSelectViewModel<View<Assume<TName, string>, TExisting, TSelection>>;\n\n\tconstructor(\n\t\t{ name, schema, selectedFields, query }: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t},\n\t) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery: query as (TExisting extends true ? undefined : SQL),\n\t\t\tisExisting: !query as TExisting,\n\t\t\tisAlias: false,\n\t\t};\n\t}\n}\n\nexport function isView(view: unknown): view is View {\n\treturn typeof view === 'object' && view !== null && IsDrizzleView in view;\n}\n\nexport function getViewName<T extends View>(view: T): T['_']['name'] {\n\treturn view[ViewBaseConfig].name;\n}\n\nexport type InferSelectViewModel<TView extends View> =\n\tEqual<TView['_']['selectedFields'], { [x: string]: unknown }> extends true ? { [x: string]: unknown }\n\t\t: SelectResult<\n\t\t\tTView['_']['selectedFields'],\n\t\t\t'single',\n\t\t\tRecord<TView['_']['name'], 'not-null'>\n\t\t>;\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n// Defined separately from the Column class to resolve circular dependency\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\nexport type SQLEntity = SQL | SQLWrapper | SQL.Aliased | Table | View;\n"],"mappings":"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"}
package/sql-js/driver.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  const require_sql_js_session = require('./session.cjs');
4
- let __logger_ts = require("../logger.cjs");
5
4
  let ___relations_ts = require("../_relations.cjs");
6
5
  ___relations_ts = require_runtime.__toESM(___relations_ts);
6
+ let __logger_ts = require("../logger.cjs");
7
7
  let __sqlite_core_db_ts = require("../sqlite-core/db.cjs");
8
8
  let __sqlite_core_dialect_ts = require("../sqlite-core/dialect.cjs");
9
9
 
@@ -23,10 +23,7 @@ function drizzle(client, config = {}) {
23
23
  };
24
24
  }
25
25
  const relations = config.relations ?? {};
26
- return new __sqlite_core_db_ts.BaseSQLiteDatabase("sync", dialect, new require_sql_js_session.SQLJsSession(client, dialect, relations, schema, {
27
- logger,
28
- useJitMapper: config.useJitMappers
29
- }), relations, schema);
26
+ return new __sqlite_core_db_ts.BaseSQLiteDatabase("sync", dialect, new require_sql_js_session.SQLJsSession(client, dialect, relations, schema, { logger }), relations, schema);
30
27
  }
31
28
 
32
29
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["SQLiteSyncDialect","DefaultLogger","V1","BaseSQLiteDatabase","SQLJsSession"],"sources":["../../src/sql-js/driver.ts"],"sourcesContent":["import type { Database } from 'sql.js';\nimport * as V1 from '~/_relations.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLJsSession } from './session.ts';\n\nexport type SQLJsDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> = BaseSQLiteDatabase<'sync', void, TSchema, TRelations>;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): SQLJsDatabase<TSchema, TRelations> {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new SQLJsSession(client, dialect, relations, schema, { logger, useJitMapper: config.useJitMappers });\n\treturn new BaseSQLiteDatabase('sync', dialect, session, relations, schema) as SQLJsDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,QAIf,QACA,SAA6C,EAAE,EACV;CACrC,MAAM,UAAU,IAAIA,2CAAkB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAChE,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;AAExC,QAAO,IAAIC,uCAAmB,QAAQ,SADtB,IAAIC,oCAAa,QAAQ,SAAS,WAAW,QAAQ;EAAE;EAAQ,cAAc,OAAO;EAAe,CAAC,EAC5D,WAAW,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["SQLiteSyncDialect","DefaultLogger","V1","BaseSQLiteDatabase","SQLJsSession"],"sources":["../../src/sql-js/driver.ts"],"sourcesContent":["import type { Database } from 'sql.js';\nimport * as V1 from '~/_relations.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { SQLJsSession } from './session.ts';\n\nexport type SQLJsDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> = BaseSQLiteDatabase<'sync', void, TSchema, TRelations>;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): SQLJsDatabase<TSchema, TRelations> {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new SQLJsSession(client, dialect, relations, schema, { logger });\n\treturn new BaseSQLiteDatabase('sync', dialect, session, relations, schema) as SQLJsDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,QAIf,QACA,SAA6C,EAAE,EACV;CACrC,MAAM,UAAU,IAAIA,2CAAkB,EAAE,QAAQ,OAAO,QAAQ,CAAC;CAChE,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;AAExC,QAAO,IAAIC,uCAAmB,QAAQ,SADtB,IAAIC,oCAAa,QAAQ,SAAS,WAAW,QAAQ,EAAE,QAAQ,CAAC,EACxB,WAAW,OAAO"}