drizzle-orm 1.0.0-beta.9-635dfc2 → 1.0.0-rc.1

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 (3257) hide show
  1. package/_relations.cjs +6 -5
  2. package/_relations.cjs.map +1 -1
  3. package/_relations.d.cts +6 -5
  4. package/_relations.d.ts +6 -5
  5. package/_relations.js +4 -4
  6. package/_relations.js.map +1 -1
  7. package/_virtual/_rolldown/runtime.cjs +29 -0
  8. package/alias.cjs +21 -2
  9. package/alias.cjs.map +1 -1
  10. package/alias.d.cts +9 -1
  11. package/alias.d.ts +9 -1
  12. package/alias.js +21 -4
  13. package/alias.js.map +1 -1
  14. package/arktype/column.cjs +256 -0
  15. package/arktype/column.cjs.map +1 -0
  16. package/arktype/column.d.cts +22 -0
  17. package/arktype/column.d.ts +22 -0
  18. package/arktype/column.js +247 -0
  19. package/arktype/column.js.map +1 -0
  20. package/arktype/column.types.d.cts +16 -0
  21. package/arktype/column.types.d.ts +16 -0
  22. package/arktype/index.cjs +12 -0
  23. package/arktype/index.d.cts +6 -0
  24. package/arktype/index.d.ts +6 -0
  25. package/arktype/index.js +4 -0
  26. package/arktype/schema.cjs +64 -0
  27. package/arktype/schema.cjs.map +1 -0
  28. package/arktype/schema.d.cts +9 -0
  29. package/arktype/schema.d.ts +9 -0
  30. package/arktype/schema.js +60 -0
  31. package/arktype/schema.js.map +1 -0
  32. package/arktype/schema.types.d.cts +26 -0
  33. package/arktype/schema.types.d.ts +26 -0
  34. package/arktype/schema.types.internal.d.cts +25 -0
  35. package/arktype/schema.types.internal.d.ts +25 -0
  36. package/aws-data-api/common/index.cjs +3 -0
  37. package/aws-data-api/common/index.cjs.map +1 -1
  38. package/aws-data-api/common/index.js +2 -0
  39. package/aws-data-api/common/index.js.map +1 -1
  40. package/aws-data-api/pg/codecs.cjs +162 -0
  41. package/aws-data-api/pg/codecs.cjs.map +1 -0
  42. package/aws-data-api/pg/codecs.d.cts +9 -0
  43. package/aws-data-api/pg/codecs.d.ts +9 -0
  44. package/aws-data-api/pg/codecs.js +160 -0
  45. package/aws-data-api/pg/codecs.js.map +1 -0
  46. package/aws-data-api/pg/driver.cjs +15 -23
  47. package/aws-data-api/pg/driver.cjs.map +1 -1
  48. package/aws-data-api/pg/driver.d.cts +12 -12
  49. package/aws-data-api/pg/driver.d.ts +11 -11
  50. package/aws-data-api/pg/driver.js +13 -21
  51. package/aws-data-api/pg/driver.js.map +1 -1
  52. package/aws-data-api/pg/index.cjs +3 -1
  53. package/aws-data-api/pg/index.d.cts +3 -2
  54. package/aws-data-api/pg/index.d.ts +3 -2
  55. package/aws-data-api/pg/index.js +3 -2
  56. package/aws-data-api/pg/migrator.cjs +3 -2
  57. package/aws-data-api/pg/migrator.cjs.map +1 -1
  58. package/aws-data-api/pg/migrator.d.cts +1 -1
  59. package/aws-data-api/pg/migrator.d.ts +2 -2
  60. package/aws-data-api/pg/migrator.js +1 -1
  61. package/aws-data-api/pg/migrator.js.map +1 -1
  62. package/aws-data-api/pg/session.cjs +44 -119
  63. package/aws-data-api/pg/session.cjs.map +1 -1
  64. package/aws-data-api/pg/session.d.cts +15 -45
  65. package/aws-data-api/pg/session.d.ts +14 -44
  66. package/aws-data-api/pg/session.js +44 -119
  67. package/aws-data-api/pg/session.js.map +1 -1
  68. package/better-sqlite3/driver.cjs +11 -6
  69. package/better-sqlite3/driver.cjs.map +1 -1
  70. package/better-sqlite3/driver.d.ts +1 -1
  71. package/better-sqlite3/driver.js +7 -3
  72. package/better-sqlite3/driver.js.map +1 -1
  73. package/better-sqlite3/index.cjs +1 -0
  74. package/better-sqlite3/migrator.cjs +2 -1
  75. package/better-sqlite3/migrator.cjs.map +1 -1
  76. package/better-sqlite3/migrator.d.cts +2 -2
  77. package/better-sqlite3/migrator.d.ts +2 -2
  78. package/better-sqlite3/session.cjs +17 -15
  79. package/better-sqlite3/session.cjs.map +1 -1
  80. package/better-sqlite3/session.d.cts +15 -10
  81. package/better-sqlite3/session.d.ts +18 -13
  82. package/better-sqlite3/session.js +19 -18
  83. package/better-sqlite3/session.js.map +1 -1
  84. package/bun-sql/driver.cjs +7 -6
  85. package/bun-sql/driver.cjs.map +1 -1
  86. package/bun-sql/driver.d.cts +7 -6
  87. package/bun-sql/driver.d.ts +8 -7
  88. package/bun-sql/driver.js +6 -6
  89. package/bun-sql/driver.js.map +1 -1
  90. package/bun-sql/index.cjs +1 -1
  91. package/bun-sql/index.d.cts +2 -3
  92. package/bun-sql/index.d.ts +2 -3
  93. package/bun-sql/index.js +2 -2
  94. package/bun-sql/migrator.cjs +1 -0
  95. package/bun-sql/migrator.cjs.map +1 -1
  96. package/bun-sql/migrator.d.cts +5 -5
  97. package/bun-sql/migrator.d.ts +5 -5
  98. package/bun-sql/migrator.js.map +1 -1
  99. package/bun-sql/mysql/driver.cjs +10 -7
  100. package/bun-sql/mysql/driver.cjs.map +1 -1
  101. package/bun-sql/mysql/driver.d.ts +1 -1
  102. package/bun-sql/mysql/driver.js +7 -5
  103. package/bun-sql/mysql/driver.js.map +1 -1
  104. package/bun-sql/mysql/index.cjs +1 -0
  105. package/bun-sql/mysql/migrator.cjs +2 -1
  106. package/bun-sql/mysql/migrator.cjs.map +1 -1
  107. package/bun-sql/mysql/migrator.d.cts +2 -2
  108. package/bun-sql/mysql/migrator.d.ts +2 -2
  109. package/bun-sql/mysql/session.cjs +21 -9
  110. package/bun-sql/mysql/session.cjs.map +1 -1
  111. package/bun-sql/mysql/session.d.cts +7 -3
  112. package/bun-sql/mysql/session.d.ts +9 -5
  113. package/bun-sql/mysql/session.js +22 -11
  114. package/bun-sql/mysql/session.js.map +1 -1
  115. package/bun-sql/postgres/codecs.cjs +176 -0
  116. package/bun-sql/postgres/codecs.cjs.map +1 -0
  117. package/bun-sql/postgres/codecs.d.cts +9 -0
  118. package/bun-sql/postgres/codecs.d.ts +9 -0
  119. package/bun-sql/postgres/codecs.js +174 -0
  120. package/bun-sql/postgres/codecs.js.map +1 -0
  121. package/bun-sql/postgres/driver.cjs +15 -19
  122. package/bun-sql/postgres/driver.cjs.map +1 -1
  123. package/bun-sql/postgres/driver.d.cts +5 -5
  124. package/bun-sql/postgres/driver.d.ts +6 -6
  125. package/bun-sql/postgres/driver.js +13 -17
  126. package/bun-sql/postgres/driver.js.map +1 -1
  127. package/bun-sql/postgres/index.cjs +3 -1
  128. package/bun-sql/postgres/index.d.cts +3 -2
  129. package/bun-sql/postgres/index.d.ts +3 -2
  130. package/bun-sql/postgres/index.js +3 -2
  131. package/bun-sql/postgres/migrator.cjs +3 -2
  132. package/bun-sql/postgres/migrator.cjs.map +1 -1
  133. package/bun-sql/postgres/migrator.d.cts +2 -2
  134. package/bun-sql/postgres/migrator.d.ts +2 -2
  135. package/bun-sql/postgres/migrator.js +1 -1
  136. package/bun-sql/postgres/migrator.js.map +1 -1
  137. package/bun-sql/postgres/session.cjs +15 -117
  138. package/bun-sql/postgres/session.cjs.map +1 -1
  139. package/bun-sql/postgres/session.d.cts +13 -36
  140. package/bun-sql/postgres/session.d.ts +12 -35
  141. package/bun-sql/postgres/session.js +14 -116
  142. package/bun-sql/postgres/session.js.map +1 -1
  143. package/bun-sql/session.cjs +1 -1
  144. package/bun-sql/session.d.cts +2 -2
  145. package/bun-sql/session.d.ts +2 -2
  146. package/bun-sql/session.js +2 -2
  147. package/bun-sql/sqlite/driver.cjs +9 -6
  148. package/bun-sql/sqlite/driver.cjs.map +1 -1
  149. package/bun-sql/sqlite/driver.d.ts +2 -2
  150. package/bun-sql/sqlite/driver.js +6 -4
  151. package/bun-sql/sqlite/driver.js.map +1 -1
  152. package/bun-sql/sqlite/index.cjs +1 -0
  153. package/bun-sql/sqlite/migrator.cjs +3 -2
  154. package/bun-sql/sqlite/migrator.cjs.map +1 -1
  155. package/bun-sql/sqlite/migrator.d.cts +2 -2
  156. package/bun-sql/sqlite/migrator.d.ts +2 -2
  157. package/bun-sql/sqlite/migrator.js +1 -1
  158. package/bun-sql/sqlite/migrator.js.map +1 -1
  159. package/bun-sql/sqlite/session.cjs +20 -18
  160. package/bun-sql/sqlite/session.cjs.map +1 -1
  161. package/bun-sql/sqlite/session.d.cts +14 -9
  162. package/bun-sql/sqlite/session.d.ts +18 -13
  163. package/bun-sql/sqlite/session.js +22 -21
  164. package/bun-sql/sqlite/session.js.map +1 -1
  165. package/bun-sqlite/driver.cjs +10 -5
  166. package/bun-sqlite/driver.cjs.map +1 -1
  167. package/bun-sqlite/driver.d.ts +1 -1
  168. package/bun-sqlite/driver.js +7 -3
  169. package/bun-sqlite/driver.js.map +1 -1
  170. package/bun-sqlite/index.cjs +1 -0
  171. package/bun-sqlite/migrator.cjs +14 -1
  172. package/bun-sqlite/migrator.cjs.map +1 -1
  173. package/bun-sqlite/migrator.d.cts +3 -3
  174. package/bun-sqlite/migrator.d.ts +3 -3
  175. package/bun-sqlite/migrator.js +12 -0
  176. package/bun-sqlite/migrator.js.map +1 -1
  177. package/bun-sqlite/session.cjs +23 -17
  178. package/bun-sqlite/session.cjs.map +1 -1
  179. package/bun-sqlite/session.d.cts +15 -10
  180. package/bun-sqlite/session.d.ts +18 -13
  181. package/bun-sqlite/session.js +25 -20
  182. package/bun-sqlite/session.js.map +1 -1
  183. package/cache/core/cache-effect.cjs +99 -17
  184. package/cache/core/cache-effect.cjs.map +1 -1
  185. package/cache/core/cache-effect.d.cts +82 -10
  186. package/cache/core/cache-effect.d.ts +82 -10
  187. package/cache/core/cache-effect.js +93 -16
  188. package/cache/core/cache-effect.js.map +1 -1
  189. package/cache/core/cache.cjs +3 -2
  190. package/cache/core/cache.cjs.map +1 -1
  191. package/cache/core/cache.js +1 -1
  192. package/cache/core/cache.js.map +1 -1
  193. package/cache/core/index.cjs +1 -0
  194. package/cache/upstash/cache.cjs +6 -5
  195. package/cache/upstash/cache.cjs.map +1 -1
  196. package/cache/upstash/cache.js +4 -4
  197. package/cache/upstash/cache.js.map +1 -1
  198. package/cache/upstash/index.cjs +1 -0
  199. package/casing.cjs +6 -38
  200. package/casing.cjs.map +1 -1
  201. package/casing.d.cts +3 -14
  202. package/casing.d.ts +3 -14
  203. package/casing.js +5 -38
  204. package/casing.js.map +1 -1
  205. package/cockroach/driver.cjs +15 -7
  206. package/cockroach/driver.cjs.map +1 -1
  207. package/cockroach/driver.d.cts +1 -0
  208. package/cockroach/driver.d.ts +2 -1
  209. package/cockroach/driver.js +11 -4
  210. package/cockroach/driver.js.map +1 -1
  211. package/cockroach/index.cjs +1 -0
  212. package/cockroach/migrator.cjs +2 -1
  213. package/cockroach/migrator.cjs.map +1 -1
  214. package/cockroach/migrator.d.cts +2 -2
  215. package/cockroach/migrator.d.ts +2 -2
  216. package/cockroach/session.cjs +12 -13
  217. package/cockroach/session.cjs.map +1 -1
  218. package/cockroach/session.d.cts +5 -3
  219. package/cockroach/session.d.ts +6 -4
  220. package/cockroach/session.js +10 -12
  221. package/cockroach/session.js.map +1 -1
  222. package/cockroach-core/alias.cjs +4 -3
  223. package/cockroach-core/alias.cjs.map +1 -1
  224. package/cockroach-core/alias.js +2 -2
  225. package/cockroach-core/alias.js.map +1 -1
  226. package/cockroach-core/casing.cjs +27 -0
  227. package/cockroach-core/casing.cjs.map +1 -0
  228. package/cockroach-core/casing.d.cts +20 -0
  229. package/cockroach-core/casing.d.ts +20 -0
  230. package/cockroach-core/casing.js +25 -0
  231. package/cockroach-core/casing.js.map +1 -0
  232. package/cockroach-core/checks.cjs +2 -1
  233. package/cockroach-core/checks.cjs.map +1 -1
  234. package/cockroach-core/checks.js.map +1 -1
  235. package/cockroach-core/columns/all.cjs +1 -0
  236. package/cockroach-core/columns/all.cjs.map +1 -1
  237. package/cockroach-core/columns/bigint.cjs +6 -5
  238. package/cockroach-core/columns/bigint.cjs.map +1 -1
  239. package/cockroach-core/columns/bigint.d.cts +2 -2
  240. package/cockroach-core/columns/bigint.d.ts +2 -2
  241. package/cockroach-core/columns/bigint.js +4 -4
  242. package/cockroach-core/columns/bigint.js.map +1 -1
  243. package/cockroach-core/columns/bit.cjs +2 -1
  244. package/cockroach-core/columns/bit.cjs.map +1 -1
  245. package/cockroach-core/columns/bool.cjs +2 -1
  246. package/cockroach-core/columns/bool.cjs.map +1 -1
  247. package/cockroach-core/columns/char.cjs +2 -1
  248. package/cockroach-core/columns/char.cjs.map +1 -1
  249. package/cockroach-core/columns/common.cjs +11 -10
  250. package/cockroach-core/columns/common.cjs.map +1 -1
  251. package/cockroach-core/columns/common.d.cts +5 -5
  252. package/cockroach-core/columns/common.d.ts +5 -5
  253. package/cockroach-core/columns/common.js +9 -9
  254. package/cockroach-core/columns/common.js.map +1 -1
  255. package/cockroach-core/columns/custom.cjs +6 -5
  256. package/cockroach-core/columns/custom.cjs.map +1 -1
  257. package/cockroach-core/columns/custom.d.cts +2 -2
  258. package/cockroach-core/columns/custom.d.ts +2 -2
  259. package/cockroach-core/columns/custom.js +4 -4
  260. package/cockroach-core/columns/custom.js.map +1 -1
  261. package/cockroach-core/columns/date.cjs +8 -7
  262. package/cockroach-core/columns/date.cjs.map +1 -1
  263. package/cockroach-core/columns/date.common.cjs +2 -1
  264. package/cockroach-core/columns/date.common.cjs.map +1 -1
  265. package/cockroach-core/columns/date.common.d.ts +2 -2
  266. package/cockroach-core/columns/date.d.cts +3 -3
  267. package/cockroach-core/columns/date.d.ts +3 -3
  268. package/cockroach-core/columns/date.js +6 -6
  269. package/cockroach-core/columns/date.js.map +1 -1
  270. package/cockroach-core/columns/decimal.cjs +6 -5
  271. package/cockroach-core/columns/decimal.cjs.map +1 -1
  272. package/cockroach-core/columns/decimal.d.cts +2 -2
  273. package/cockroach-core/columns/decimal.d.ts +2 -2
  274. package/cockroach-core/columns/decimal.js +4 -4
  275. package/cockroach-core/columns/decimal.js.map +1 -1
  276. package/cockroach-core/columns/enum.cjs +2 -1
  277. package/cockroach-core/columns/enum.cjs.map +1 -1
  278. package/cockroach-core/columns/enum.js.map +1 -1
  279. package/cockroach-core/columns/float.cjs +4 -3
  280. package/cockroach-core/columns/float.cjs.map +1 -1
  281. package/cockroach-core/columns/float.d.cts +1 -1
  282. package/cockroach-core/columns/float.d.ts +1 -1
  283. package/cockroach-core/columns/float.js +2 -2
  284. package/cockroach-core/columns/float.js.map +1 -1
  285. package/cockroach-core/columns/geometry.cjs +10 -9
  286. package/cockroach-core/columns/geometry.cjs.map +1 -1
  287. package/cockroach-core/columns/geometry.d.cts +5 -5
  288. package/cockroach-core/columns/geometry.d.ts +5 -5
  289. package/cockroach-core/columns/geometry.js +8 -8
  290. package/cockroach-core/columns/geometry.js.map +1 -1
  291. package/cockroach-core/columns/index.cjs +2 -1
  292. package/cockroach-core/columns/index.js +1 -1
  293. package/cockroach-core/columns/inet.cjs +2 -1
  294. package/cockroach-core/columns/inet.cjs.map +1 -1
  295. package/cockroach-core/columns/int.common.cjs +2 -1
  296. package/cockroach-core/columns/int.common.cjs.map +1 -1
  297. package/cockroach-core/columns/integer.cjs +4 -3
  298. package/cockroach-core/columns/integer.cjs.map +1 -1
  299. package/cockroach-core/columns/integer.d.cts +1 -1
  300. package/cockroach-core/columns/integer.d.ts +1 -1
  301. package/cockroach-core/columns/integer.js +2 -2
  302. package/cockroach-core/columns/integer.js.map +1 -1
  303. package/cockroach-core/columns/interval.cjs +2 -1
  304. package/cockroach-core/columns/interval.cjs.map +1 -1
  305. package/cockroach-core/columns/jsonb.cjs +6 -5
  306. package/cockroach-core/columns/jsonb.cjs.map +1 -1
  307. package/cockroach-core/columns/jsonb.d.cts +2 -2
  308. package/cockroach-core/columns/jsonb.d.ts +2 -2
  309. package/cockroach-core/columns/jsonb.js +4 -4
  310. package/cockroach-core/columns/jsonb.js.map +1 -1
  311. package/cockroach-core/columns/real.cjs +2 -1
  312. package/cockroach-core/columns/real.cjs.map +1 -1
  313. package/cockroach-core/columns/smallint.cjs +2 -1
  314. package/cockroach-core/columns/smallint.cjs.map +1 -1
  315. package/cockroach-core/columns/string.cjs +2 -1
  316. package/cockroach-core/columns/string.cjs.map +1 -1
  317. package/cockroach-core/columns/time.cjs +2 -1
  318. package/cockroach-core/columns/time.cjs.map +1 -1
  319. package/cockroach-core/columns/time.js.map +1 -1
  320. package/cockroach-core/columns/timestamp.cjs +2 -1
  321. package/cockroach-core/columns/timestamp.cjs.map +1 -1
  322. package/cockroach-core/columns/utils.cjs +1 -0
  323. package/cockroach-core/columns/utils.cjs.map +1 -1
  324. package/cockroach-core/columns/utils.js.map +1 -1
  325. package/cockroach-core/columns/uuid.cjs +2 -1
  326. package/cockroach-core/columns/uuid.cjs.map +1 -1
  327. package/cockroach-core/columns/varbit.cjs +2 -1
  328. package/cockroach-core/columns/varbit.cjs.map +1 -1
  329. package/cockroach-core/columns/varchar.cjs +2 -1
  330. package/cockroach-core/columns/varchar.cjs.map +1 -1
  331. package/cockroach-core/columns/vector.cjs +6 -5
  332. package/cockroach-core/columns/vector.cjs.map +1 -1
  333. package/cockroach-core/columns/vector.d.cts +2 -2
  334. package/cockroach-core/columns/vector.d.ts +2 -2
  335. package/cockroach-core/columns/vector.js +4 -4
  336. package/cockroach-core/columns/vector.js.map +1 -1
  337. package/cockroach-core/db.cjs +3 -2
  338. package/cockroach-core/db.cjs.map +1 -1
  339. package/cockroach-core/db.d.cts +2 -1
  340. package/cockroach-core/db.d.ts +2 -1
  341. package/cockroach-core/db.js +1 -1
  342. package/cockroach-core/db.js.map +1 -1
  343. package/cockroach-core/dialect.cjs +57 -42
  344. package/cockroach-core/dialect.cjs.map +1 -1
  345. package/cockroach-core/dialect.d.cts +3 -5
  346. package/cockroach-core/dialect.d.ts +5 -7
  347. package/cockroach-core/dialect.js +54 -40
  348. package/cockroach-core/dialect.js.map +1 -1
  349. package/cockroach-core/expressions.cjs +2 -1
  350. package/cockroach-core/expressions.cjs.map +1 -1
  351. package/cockroach-core/expressions.js.map +1 -1
  352. package/cockroach-core/foreign-keys.cjs +2 -1
  353. package/cockroach-core/foreign-keys.cjs.map +1 -1
  354. package/cockroach-core/foreign-keys.d.cts +0 -1
  355. package/cockroach-core/foreign-keys.d.ts +0 -1
  356. package/cockroach-core/foreign-keys.js.map +1 -1
  357. package/cockroach-core/index.cjs +19 -12
  358. package/cockroach-core/index.d.cts +4 -5
  359. package/cockroach-core/index.d.ts +4 -5
  360. package/cockroach-core/index.js +15 -14
  361. package/cockroach-core/indexes.cjs +2 -1
  362. package/cockroach-core/indexes.cjs.map +1 -1
  363. package/cockroach-core/indexes.d.cts +0 -1
  364. package/cockroach-core/indexes.d.ts +0 -1
  365. package/cockroach-core/indexes.js.map +1 -1
  366. package/cockroach-core/policies.cjs +2 -1
  367. package/cockroach-core/policies.cjs.map +1 -1
  368. package/cockroach-core/policies.js.map +1 -1
  369. package/cockroach-core/primary-keys.cjs +2 -1
  370. package/cockroach-core/primary-keys.cjs.map +1 -1
  371. package/cockroach-core/primary-keys.d.cts +0 -1
  372. package/cockroach-core/primary-keys.d.ts +0 -1
  373. package/cockroach-core/primary-keys.js.map +1 -1
  374. package/cockroach-core/query-builders/count.cjs +3 -8
  375. package/cockroach-core/query-builders/count.cjs.map +1 -1
  376. package/cockroach-core/query-builders/count.d.cts +0 -4
  377. package/cockroach-core/query-builders/count.d.ts +0 -4
  378. package/cockroach-core/query-builders/count.js +1 -7
  379. package/cockroach-core/query-builders/count.js.map +1 -1
  380. package/cockroach-core/query-builders/delete.cjs +12 -11
  381. package/cockroach-core/query-builders/delete.cjs.map +1 -1
  382. package/cockroach-core/query-builders/delete.d.cts +0 -1
  383. package/cockroach-core/query-builders/delete.d.ts +0 -1
  384. package/cockroach-core/query-builders/delete.js +10 -10
  385. package/cockroach-core/query-builders/delete.js.map +1 -1
  386. package/cockroach-core/query-builders/index.cjs +2 -1
  387. package/cockroach-core/query-builders/index.js +1 -1
  388. package/cockroach-core/query-builders/insert.cjs +13 -6
  389. package/cockroach-core/query-builders/insert.cjs.map +1 -1
  390. package/cockroach-core/query-builders/insert.d.cts +2 -2
  391. package/cockroach-core/query-builders/insert.d.ts +2 -2
  392. package/cockroach-core/query-builders/insert.js +11 -5
  393. package/cockroach-core/query-builders/insert.js.map +1 -1
  394. package/cockroach-core/query-builders/query-builder.cjs +2 -1
  395. package/cockroach-core/query-builders/query-builder.cjs.map +1 -1
  396. package/cockroach-core/query-builders/query-builder.d.cts +0 -1
  397. package/cockroach-core/query-builders/query-builder.d.ts +0 -1
  398. package/cockroach-core/query-builders/query.cjs +7 -11
  399. package/cockroach-core/query-builders/query.cjs.map +1 -1
  400. package/cockroach-core/query-builders/query.d.cts +1 -2
  401. package/cockroach-core/query-builders/query.d.ts +1 -2
  402. package/cockroach-core/query-builders/query.js +5 -10
  403. package/cockroach-core/query-builders/query.js.map +1 -1
  404. package/cockroach-core/query-builders/raw.cjs +2 -5
  405. package/cockroach-core/query-builders/raw.cjs.map +1 -1
  406. package/cockroach-core/query-builders/raw.js +0 -4
  407. package/cockroach-core/query-builders/raw.js.map +1 -1
  408. package/cockroach-core/query-builders/refresh-materialized-view.cjs +8 -11
  409. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  410. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +1 -2
  411. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +1 -2
  412. package/cockroach-core/query-builders/refresh-materialized-view.js +6 -10
  413. package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
  414. package/cockroach-core/query-builders/select.cjs +16 -21
  415. package/cockroach-core/query-builders/select.cjs.map +1 -1
  416. package/cockroach-core/query-builders/select.d.cts +1 -3
  417. package/cockroach-core/query-builders/select.d.ts +2 -4
  418. package/cockroach-core/query-builders/select.js +14 -20
  419. package/cockroach-core/query-builders/select.js.map +1 -1
  420. package/cockroach-core/query-builders/select.types.d.ts +1 -1
  421. package/cockroach-core/query-builders/update.cjs +17 -16
  422. package/cockroach-core/query-builders/update.cjs.map +1 -1
  423. package/cockroach-core/query-builders/update.d.cts +4 -5
  424. package/cockroach-core/query-builders/update.d.ts +5 -6
  425. package/cockroach-core/query-builders/update.js +15 -15
  426. package/cockroach-core/query-builders/update.js.map +1 -1
  427. package/cockroach-core/roles.cjs +2 -1
  428. package/cockroach-core/roles.cjs.map +1 -1
  429. package/cockroach-core/roles.js.map +1 -1
  430. package/cockroach-core/schema.cjs +13 -10
  431. package/cockroach-core/schema.cjs.map +1 -1
  432. package/cockroach-core/schema.d.cts +3 -1
  433. package/cockroach-core/schema.d.ts +3 -1
  434. package/cockroach-core/schema.js +11 -9
  435. package/cockroach-core/schema.js.map +1 -1
  436. package/cockroach-core/sequence.cjs +2 -1
  437. package/cockroach-core/sequence.cjs.map +1 -1
  438. package/cockroach-core/sequence.js.map +1 -1
  439. package/cockroach-core/session.cjs +6 -5
  440. package/cockroach-core/session.cjs.map +1 -1
  441. package/cockroach-core/session.d.cts +1 -1
  442. package/cockroach-core/session.d.ts +1 -1
  443. package/cockroach-core/session.js +4 -4
  444. package/cockroach-core/session.js.map +1 -1
  445. package/cockroach-core/table.cjs +29 -21
  446. package/cockroach-core/table.cjs.map +1 -1
  447. package/cockroach-core/table.d.cts +4 -4
  448. package/cockroach-core/table.d.ts +4 -4
  449. package/cockroach-core/table.js +27 -21
  450. package/cockroach-core/table.js.map +1 -1
  451. package/cockroach-core/unique-constraint.cjs +2 -1
  452. package/cockroach-core/unique-constraint.cjs.map +1 -1
  453. package/cockroach-core/unique-constraint.d.cts +0 -1
  454. package/cockroach-core/unique-constraint.d.ts +0 -1
  455. package/cockroach-core/unique-constraint.js.map +1 -1
  456. package/cockroach-core/utils/array.cjs +7 -6
  457. package/cockroach-core/utils/array.cjs.map +1 -1
  458. package/cockroach-core/utils/array.js +6 -6
  459. package/cockroach-core/utils/array.js.map +1 -1
  460. package/cockroach-core/utils/index.cjs +1 -0
  461. package/cockroach-core/utils.cjs +5 -4
  462. package/cockroach-core/utils.cjs.map +1 -1
  463. package/cockroach-core/utils.d.cts +0 -3
  464. package/cockroach-core/utils.d.ts +0 -3
  465. package/cockroach-core/utils.js +3 -3
  466. package/cockroach-core/utils.js.map +1 -1
  467. package/cockroach-core/view-base.cjs +2 -1
  468. package/cockroach-core/view-base.cjs.map +1 -1
  469. package/cockroach-core/view.cjs +20 -14
  470. package/cockroach-core/view.cjs.map +1 -1
  471. package/cockroach-core/view.d.cts +15 -7
  472. package/cockroach-core/view.d.ts +15 -7
  473. package/cockroach-core/view.js +17 -14
  474. package/cockroach-core/view.js.map +1 -1
  475. package/codecs.cjs +77 -0
  476. package/codecs.cjs.map +1 -0
  477. package/codecs.d.cts +68 -0
  478. package/codecs.d.ts +68 -0
  479. package/codecs.js +74 -0
  480. package/codecs.js.map +1 -0
  481. package/column-builder.cjs +4 -3
  482. package/column-builder.cjs.map +1 -1
  483. package/column-builder.d.cts +4 -12
  484. package/column-builder.d.ts +4 -12
  485. package/column-builder.js +2 -2
  486. package/column-builder.js.map +1 -1
  487. package/column-common.cjs +1 -0
  488. package/column-common.cjs.map +1 -1
  489. package/column.cjs +11 -5
  490. package/column.cjs.map +1 -1
  491. package/column.d.cts +3 -3
  492. package/column.d.ts +3 -3
  493. package/column.js +10 -5
  494. package/column.js.map +1 -1
  495. package/d1/driver.cjs +5 -4
  496. package/d1/driver.cjs.map +1 -1
  497. package/d1/driver.d.cts +1 -1
  498. package/d1/driver.d.ts +2 -2
  499. package/d1/driver.js +2 -2
  500. package/d1/driver.js.map +1 -1
  501. package/d1/index.cjs +1 -0
  502. package/d1/migrator.cjs +21 -10
  503. package/d1/migrator.cjs.map +1 -1
  504. package/d1/migrator.js +19 -9
  505. package/d1/migrator.js.map +1 -1
  506. package/d1/session.cjs +13 -14
  507. package/d1/session.cjs.map +1 -1
  508. package/d1/session.d.cts +8 -9
  509. package/d1/session.d.ts +11 -12
  510. package/d1/session.js +14 -16
  511. package/d1/session.js.map +1 -1
  512. package/durable-sqlite/driver.cjs +10 -5
  513. package/durable-sqlite/driver.cjs.map +1 -1
  514. package/durable-sqlite/driver.d.ts +1 -1
  515. package/durable-sqlite/driver.js +7 -3
  516. package/durable-sqlite/driver.js.map +1 -1
  517. package/durable-sqlite/index.cjs +1 -0
  518. package/durable-sqlite/migrator.cjs +31 -15
  519. package/durable-sqlite/migrator.cjs.map +1 -1
  520. package/durable-sqlite/migrator.d.cts +1 -1
  521. package/durable-sqlite/migrator.d.ts +1 -1
  522. package/durable-sqlite/migrator.js +30 -15
  523. package/durable-sqlite/migrator.js.map +1 -1
  524. package/durable-sqlite/session.cjs +19 -20
  525. package/durable-sqlite/session.cjs.map +1 -1
  526. package/durable-sqlite/session.d.cts +16 -11
  527. package/durable-sqlite/session.d.ts +19 -14
  528. package/durable-sqlite/session.js +21 -23
  529. package/durable-sqlite/session.js.map +1 -1
  530. package/effect-core/errors.cjs +41 -0
  531. package/effect-core/errors.cjs.map +1 -0
  532. package/effect-core/errors.d.cts +36 -0
  533. package/effect-core/errors.d.ts +36 -0
  534. package/effect-core/errors.js +35 -0
  535. package/effect-core/errors.js.map +1 -0
  536. package/effect-core/index.cjs +11 -0
  537. package/effect-core/index.d.cts +4 -0
  538. package/effect-core/index.d.ts +4 -0
  539. package/effect-core/index.js +5 -0
  540. package/effect-core/logger.cjs +112 -0
  541. package/effect-core/logger.cjs.map +1 -0
  542. package/effect-core/logger.d.cts +95 -0
  543. package/effect-core/logger.d.ts +95 -0
  544. package/effect-core/logger.js +107 -0
  545. package/effect-core/logger.js.map +1 -0
  546. package/effect-core/query-effect.cjs +10 -39
  547. package/effect-core/query-effect.cjs.map +1 -1
  548. package/effect-core/query-effect.d.cts +7 -37
  549. package/effect-core/query-effect.d.ts +7 -37
  550. package/effect-core/query-effect.js +8 -38
  551. package/effect-core/query-effect.js.map +1 -1
  552. package/effect-postgres/codecs.cjs +175 -0
  553. package/effect-postgres/codecs.cjs.map +1 -0
  554. package/effect-postgres/codecs.d.cts +9 -0
  555. package/effect-postgres/codecs.d.ts +9 -0
  556. package/effect-postgres/codecs.js +173 -0
  557. package/effect-postgres/codecs.js.map +1 -0
  558. package/effect-postgres/driver.cjs +61 -37
  559. package/effect-postgres/driver.cjs.map +1 -1
  560. package/effect-postgres/driver.d.cts +43 -12
  561. package/effect-postgres/driver.d.ts +45 -14
  562. package/effect-postgres/driver.js +55 -30
  563. package/effect-postgres/driver.js.map +1 -1
  564. package/effect-postgres/index.cjs +14 -7
  565. package/effect-postgres/index.d.cts +5 -3
  566. package/effect-postgres/index.d.ts +5 -3
  567. package/effect-postgres/index.js +5 -3
  568. package/effect-postgres/migrator.cjs +2 -1
  569. package/effect-postgres/migrator.cjs.map +1 -1
  570. package/effect-postgres/migrator.d.cts +3 -3
  571. package/effect-postgres/migrator.d.ts +4 -4
  572. package/effect-postgres/migrator.js.map +1 -1
  573. package/effect-postgres/session.cjs +17 -77
  574. package/effect-postgres/session.cjs.map +1 -1
  575. package/effect-postgres/session.d.cts +25 -47
  576. package/effect-postgres/session.d.ts +25 -47
  577. package/effect-postgres/session.js +15 -76
  578. package/effect-postgres/session.js.map +1 -1
  579. package/effect-schema/column.cjs +266 -0
  580. package/effect-schema/column.cjs.map +1 -0
  581. package/effect-schema/column.d.cts +14 -0
  582. package/effect-schema/column.d.ts +14 -0
  583. package/effect-schema/column.js +259 -0
  584. package/effect-schema/column.js.map +1 -0
  585. package/effect-schema/column.types.cjs +0 -0
  586. package/effect-schema/column.types.d.cts +30 -0
  587. package/effect-schema/column.types.d.ts +30 -0
  588. package/effect-schema/column.types.js +1 -0
  589. package/effect-schema/index.cjs +12 -0
  590. package/effect-schema/index.d.cts +6 -0
  591. package/effect-schema/index.d.ts +6 -0
  592. package/effect-schema/index.js +4 -0
  593. package/effect-schema/schema.cjs +79 -0
  594. package/effect-schema/schema.cjs.map +1 -0
  595. package/effect-schema/schema.d.cts +9 -0
  596. package/effect-schema/schema.d.ts +9 -0
  597. package/effect-schema/schema.js +75 -0
  598. package/effect-schema/schema.js.map +1 -0
  599. package/effect-schema/schema.types.cjs +0 -0
  600. package/effect-schema/schema.types.d.cts +27 -0
  601. package/effect-schema/schema.types.d.ts +27 -0
  602. package/effect-schema/schema.types.internal.cjs +0 -0
  603. package/effect-schema/schema.types.internal.d.cts +25 -0
  604. package/effect-schema/schema.types.internal.d.ts +25 -0
  605. package/effect-schema/schema.types.internal.js +1 -0
  606. package/effect-schema/schema.types.js +1 -0
  607. package/entity.cjs +2 -1
  608. package/entity.cjs.map +1 -1
  609. package/entity.js +1 -1
  610. package/entity.js.map +1 -1
  611. package/errors.cjs +2 -1
  612. package/errors.cjs.map +1 -1
  613. package/errors.js.map +1 -1
  614. package/expo-sqlite/driver.cjs +10 -5
  615. package/expo-sqlite/driver.cjs.map +1 -1
  616. package/expo-sqlite/driver.d.ts +1 -1
  617. package/expo-sqlite/driver.js +7 -3
  618. package/expo-sqlite/driver.js.map +1 -1
  619. package/expo-sqlite/index.cjs +1 -0
  620. package/expo-sqlite/migrator.cjs +8 -6
  621. package/expo-sqlite/migrator.cjs.map +1 -1
  622. package/expo-sqlite/migrator.d.cts +3 -3
  623. package/expo-sqlite/migrator.d.ts +3 -3
  624. package/expo-sqlite/migrator.js +7 -6
  625. package/expo-sqlite/migrator.js.map +1 -1
  626. package/expo-sqlite/query.cjs +5 -4
  627. package/expo-sqlite/query.cjs.map +1 -1
  628. package/expo-sqlite/query.js +2 -2
  629. package/expo-sqlite/query.js.map +1 -1
  630. package/expo-sqlite/session.cjs +17 -15
  631. package/expo-sqlite/session.cjs.map +1 -1
  632. package/expo-sqlite/session.d.cts +15 -10
  633. package/expo-sqlite/session.d.ts +18 -13
  634. package/expo-sqlite/session.js +19 -18
  635. package/expo-sqlite/session.js.map +1 -1
  636. package/index.cjs +25 -6
  637. package/index.d.cts +7 -8
  638. package/index.d.ts +7 -8
  639. package/index.js +10 -10
  640. package/libsql/driver-core.cjs +8 -5
  641. package/libsql/driver-core.cjs.map +1 -1
  642. package/libsql/driver-core.d.ts +1 -1
  643. package/libsql/driver-core.js +5 -3
  644. package/libsql/driver-core.js.map +1 -1
  645. package/libsql/driver.cjs +2 -1
  646. package/libsql/driver.cjs.map +1 -1
  647. package/libsql/http/index.cjs +2 -1
  648. package/libsql/http/index.cjs.map +1 -1
  649. package/libsql/index.cjs +1 -0
  650. package/libsql/migrator.cjs +21 -10
  651. package/libsql/migrator.cjs.map +1 -1
  652. package/libsql/migrator.d.cts +0 -1
  653. package/libsql/migrator.d.ts +0 -1
  654. package/libsql/migrator.js +19 -9
  655. package/libsql/migrator.js.map +1 -1
  656. package/libsql/node/index.cjs +2 -1
  657. package/libsql/node/index.cjs.map +1 -1
  658. package/libsql/session.cjs +17 -17
  659. package/libsql/session.cjs.map +1 -1
  660. package/libsql/session.d.cts +14 -9
  661. package/libsql/session.d.ts +17 -12
  662. package/libsql/session.js +19 -20
  663. package/libsql/session.js.map +1 -1
  664. package/libsql/sqlite3/index.cjs +2 -1
  665. package/libsql/sqlite3/index.cjs.map +1 -1
  666. package/libsql/wasm/index.cjs +2 -1
  667. package/libsql/wasm/index.cjs.map +1 -1
  668. package/libsql/web/index.cjs +2 -1
  669. package/libsql/web/index.cjs.map +1 -1
  670. package/libsql/ws/index.cjs +2 -1
  671. package/libsql/ws/index.cjs.map +1 -1
  672. package/logger.cjs +2 -1
  673. package/logger.cjs.map +1 -1
  674. package/migrator.cjs +9 -44
  675. package/migrator.cjs.map +1 -1
  676. package/migrator.d.cts +11 -2
  677. package/migrator.d.ts +11 -2
  678. package/migrator.js +5 -40
  679. package/migrator.js.map +1 -1
  680. package/migrator.utils.cjs +22 -0
  681. package/migrator.utils.cjs.map +1 -0
  682. package/migrator.utils.d.cts +16 -0
  683. package/migrator.utils.d.ts +16 -0
  684. package/migrator.utils.js +19 -0
  685. package/migrator.utils.js.map +1 -0
  686. package/mssql-core/alias.cjs +4 -3
  687. package/mssql-core/alias.cjs.map +1 -1
  688. package/mssql-core/alias.js +2 -2
  689. package/mssql-core/alias.js.map +1 -1
  690. package/mssql-core/casing.cjs +25 -0
  691. package/mssql-core/casing.cjs.map +1 -0
  692. package/mssql-core/casing.d.cts +18 -0
  693. package/mssql-core/casing.d.ts +18 -0
  694. package/mssql-core/casing.js +23 -0
  695. package/mssql-core/casing.js.map +1 -0
  696. package/mssql-core/checks.cjs +2 -1
  697. package/mssql-core/checks.cjs.map +1 -1
  698. package/mssql-core/checks.js.map +1 -1
  699. package/mssql-core/columns/all.cjs +1 -0
  700. package/mssql-core/columns/all.cjs.map +1 -1
  701. package/mssql-core/columns/bigint.cjs +4 -3
  702. package/mssql-core/columns/bigint.cjs.map +1 -1
  703. package/mssql-core/columns/bigint.d.cts +1 -1
  704. package/mssql-core/columns/bigint.d.ts +1 -1
  705. package/mssql-core/columns/bigint.js +2 -2
  706. package/mssql-core/columns/bigint.js.map +1 -1
  707. package/mssql-core/columns/binary.cjs +2 -1
  708. package/mssql-core/columns/binary.cjs.map +1 -1
  709. package/mssql-core/columns/bit.cjs +2 -1
  710. package/mssql-core/columns/bit.cjs.map +1 -1
  711. package/mssql-core/columns/char.cjs +2 -1
  712. package/mssql-core/columns/char.cjs.map +1 -1
  713. package/mssql-core/columns/common.cjs +6 -5
  714. package/mssql-core/columns/common.cjs.map +1 -1
  715. package/mssql-core/columns/common.d.cts +1 -1
  716. package/mssql-core/columns/common.d.ts +1 -1
  717. package/mssql-core/columns/common.js +4 -4
  718. package/mssql-core/columns/common.js.map +1 -1
  719. package/mssql-core/columns/custom.cjs +6 -5
  720. package/mssql-core/columns/custom.cjs.map +1 -1
  721. package/mssql-core/columns/custom.d.cts +2 -2
  722. package/mssql-core/columns/custom.d.ts +2 -2
  723. package/mssql-core/columns/custom.js +4 -4
  724. package/mssql-core/columns/custom.js.map +1 -1
  725. package/mssql-core/columns/date.cjs +6 -5
  726. package/mssql-core/columns/date.cjs.map +1 -1
  727. package/mssql-core/columns/date.common.cjs +2 -1
  728. package/mssql-core/columns/date.common.cjs.map +1 -1
  729. package/mssql-core/columns/date.d.cts +2 -2
  730. package/mssql-core/columns/date.d.ts +2 -2
  731. package/mssql-core/columns/date.js +4 -4
  732. package/mssql-core/columns/date.js.map +1 -1
  733. package/mssql-core/columns/datetime.cjs +4 -3
  734. package/mssql-core/columns/datetime.cjs.map +1 -1
  735. package/mssql-core/columns/datetime.d.cts +1 -1
  736. package/mssql-core/columns/datetime.d.ts +1 -1
  737. package/mssql-core/columns/datetime.js +2 -2
  738. package/mssql-core/columns/datetime.js.map +1 -1
  739. package/mssql-core/columns/datetime2.cjs +4 -3
  740. package/mssql-core/columns/datetime2.cjs.map +1 -1
  741. package/mssql-core/columns/datetime2.d.cts +1 -1
  742. package/mssql-core/columns/datetime2.d.ts +1 -1
  743. package/mssql-core/columns/datetime2.js +2 -2
  744. package/mssql-core/columns/datetime2.js.map +1 -1
  745. package/mssql-core/columns/datetimeoffset.cjs +4 -3
  746. package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
  747. package/mssql-core/columns/datetimeoffset.d.cts +1 -1
  748. package/mssql-core/columns/datetimeoffset.d.ts +1 -1
  749. package/mssql-core/columns/datetimeoffset.js +2 -2
  750. package/mssql-core/columns/datetimeoffset.js.map +1 -1
  751. package/mssql-core/columns/decimal.cjs +6 -5
  752. package/mssql-core/columns/decimal.cjs.map +1 -1
  753. package/mssql-core/columns/decimal.d.cts +2 -2
  754. package/mssql-core/columns/decimal.d.ts +2 -2
  755. package/mssql-core/columns/decimal.js +4 -4
  756. package/mssql-core/columns/decimal.js.map +1 -1
  757. package/mssql-core/columns/float.cjs +2 -1
  758. package/mssql-core/columns/float.cjs.map +1 -1
  759. package/mssql-core/columns/index.cjs +1 -0
  760. package/mssql-core/columns/int.cjs +2 -1
  761. package/mssql-core/columns/int.cjs.map +1 -1
  762. package/mssql-core/columns/numeric.cjs +6 -5
  763. package/mssql-core/columns/numeric.cjs.map +1 -1
  764. package/mssql-core/columns/numeric.d.cts +2 -2
  765. package/mssql-core/columns/numeric.d.ts +2 -2
  766. package/mssql-core/columns/numeric.js +4 -4
  767. package/mssql-core/columns/numeric.js.map +1 -1
  768. package/mssql-core/columns/real.cjs +5 -1
  769. package/mssql-core/columns/real.cjs.map +1 -1
  770. package/mssql-core/columns/real.d.cts +1 -0
  771. package/mssql-core/columns/real.d.ts +1 -0
  772. package/mssql-core/columns/real.js +3 -0
  773. package/mssql-core/columns/real.js.map +1 -1
  774. package/mssql-core/columns/smallint.cjs +4 -3
  775. package/mssql-core/columns/smallint.cjs.map +1 -1
  776. package/mssql-core/columns/smallint.d.cts +1 -1
  777. package/mssql-core/columns/smallint.d.ts +1 -1
  778. package/mssql-core/columns/smallint.js +2 -2
  779. package/mssql-core/columns/smallint.js.map +1 -1
  780. package/mssql-core/columns/text.cjs +2 -1
  781. package/mssql-core/columns/text.cjs.map +1 -1
  782. package/mssql-core/columns/time.cjs +4 -3
  783. package/mssql-core/columns/time.cjs.map +1 -1
  784. package/mssql-core/columns/time.d.cts +1 -1
  785. package/mssql-core/columns/time.d.ts +1 -1
  786. package/mssql-core/columns/time.js +2 -2
  787. package/mssql-core/columns/time.js.map +1 -1
  788. package/mssql-core/columns/tinyint.cjs +4 -3
  789. package/mssql-core/columns/tinyint.cjs.map +1 -1
  790. package/mssql-core/columns/tinyint.d.cts +1 -1
  791. package/mssql-core/columns/tinyint.d.ts +1 -1
  792. package/mssql-core/columns/tinyint.js +2 -2
  793. package/mssql-core/columns/tinyint.js.map +1 -1
  794. package/mssql-core/columns/varbinary.cjs +2 -1
  795. package/mssql-core/columns/varbinary.cjs.map +1 -1
  796. package/mssql-core/columns/varchar.cjs +6 -5
  797. package/mssql-core/columns/varchar.cjs.map +1 -1
  798. package/mssql-core/columns/varchar.d.cts +2 -2
  799. package/mssql-core/columns/varchar.d.ts +2 -2
  800. package/mssql-core/columns/varchar.js +4 -4
  801. package/mssql-core/columns/varchar.js.map +1 -1
  802. package/mssql-core/db.cjs +4 -3
  803. package/mssql-core/db.cjs.map +1 -1
  804. package/mssql-core/db.d.cts +2 -1
  805. package/mssql-core/db.d.ts +2 -1
  806. package/mssql-core/db.js +2 -2
  807. package/mssql-core/db.js.map +1 -1
  808. package/mssql-core/dialect.cjs +72 -58
  809. package/mssql-core/dialect.cjs.map +1 -1
  810. package/mssql-core/dialect.d.cts +3 -5
  811. package/mssql-core/dialect.d.ts +4 -6
  812. package/mssql-core/dialect.js +69 -56
  813. package/mssql-core/dialect.js.map +1 -1
  814. package/mssql-core/expressions.cjs +2 -1
  815. package/mssql-core/expressions.cjs.map +1 -1
  816. package/mssql-core/expressions.d.cts +0 -1
  817. package/mssql-core/expressions.d.ts +0 -1
  818. package/mssql-core/expressions.js.map +1 -1
  819. package/mssql-core/foreign-keys.cjs +2 -1
  820. package/mssql-core/foreign-keys.cjs.map +1 -1
  821. package/mssql-core/foreign-keys.d.cts +0 -1
  822. package/mssql-core/foreign-keys.d.ts +0 -1
  823. package/mssql-core/foreign-keys.js.map +1 -1
  824. package/mssql-core/index.cjs +19 -13
  825. package/mssql-core/index.d.cts +4 -5
  826. package/mssql-core/index.d.ts +4 -5
  827. package/mssql-core/index.js +17 -16
  828. package/mssql-core/indexes.cjs +2 -1
  829. package/mssql-core/indexes.cjs.map +1 -1
  830. package/mssql-core/indexes.d.cts +0 -1
  831. package/mssql-core/indexes.d.ts +0 -1
  832. package/mssql-core/indexes.js.map +1 -1
  833. package/mssql-core/primary-keys.cjs +2 -1
  834. package/mssql-core/primary-keys.cjs.map +1 -1
  835. package/mssql-core/primary-keys.d.cts +0 -1
  836. package/mssql-core/primary-keys.d.ts +0 -1
  837. package/mssql-core/primary-keys.js.map +1 -1
  838. package/mssql-core/query-builders/delete.cjs +2 -1
  839. package/mssql-core/query-builders/delete.cjs.map +1 -1
  840. package/mssql-core/query-builders/delete.js.map +1 -1
  841. package/mssql-core/query-builders/index.cjs +3 -2
  842. package/mssql-core/query-builders/index.js +2 -2
  843. package/mssql-core/query-builders/insert.cjs +2 -1
  844. package/mssql-core/query-builders/insert.cjs.map +1 -1
  845. package/mssql-core/query-builders/insert.js.map +1 -1
  846. package/mssql-core/query-builders/query-builder.cjs +2 -1
  847. package/mssql-core/query-builders/query-builder.cjs.map +1 -1
  848. package/mssql-core/query-builders/query.cjs +2 -1
  849. package/mssql-core/query-builders/query.cjs.map +1 -1
  850. package/mssql-core/query-builders/query.js.map +1 -1
  851. package/mssql-core/query-builders/select.cjs +6 -1
  852. package/mssql-core/query-builders/select.cjs.map +1 -1
  853. package/mssql-core/query-builders/select.js +4 -0
  854. package/mssql-core/query-builders/select.js.map +1 -1
  855. package/mssql-core/query-builders/update.cjs +2 -1
  856. package/mssql-core/query-builders/update.cjs.map +1 -1
  857. package/mssql-core/query-builders/update.d.cts +4 -4
  858. package/mssql-core/query-builders/update.d.ts +5 -5
  859. package/mssql-core/query-builders/update.js.map +1 -1
  860. package/mssql-core/schema.cjs +9 -6
  861. package/mssql-core/schema.cjs.map +1 -1
  862. package/mssql-core/schema.d.cts +3 -1
  863. package/mssql-core/schema.d.ts +3 -1
  864. package/mssql-core/schema.js +7 -5
  865. package/mssql-core/schema.js.map +1 -1
  866. package/mssql-core/session.cjs +2 -1
  867. package/mssql-core/session.cjs.map +1 -1
  868. package/mssql-core/session.js.map +1 -1
  869. package/mssql-core/table.cjs +18 -11
  870. package/mssql-core/table.cjs.map +1 -1
  871. package/mssql-core/table.d.cts +6 -4
  872. package/mssql-core/table.d.ts +6 -4
  873. package/mssql-core/table.js +16 -11
  874. package/mssql-core/table.js.map +1 -1
  875. package/mssql-core/unique-constraint.cjs +2 -1
  876. package/mssql-core/unique-constraint.cjs.map +1 -1
  877. package/mssql-core/unique-constraint.d.cts +0 -1
  878. package/mssql-core/unique-constraint.d.ts +0 -1
  879. package/mssql-core/unique-constraint.js.map +1 -1
  880. package/mssql-core/utils.cjs +6 -5
  881. package/mssql-core/utils.cjs.map +1 -1
  882. package/mssql-core/utils.d.cts +0 -3
  883. package/mssql-core/utils.d.ts +0 -3
  884. package/mssql-core/utils.js +4 -4
  885. package/mssql-core/utils.js.map +1 -1
  886. package/mssql-core/view-base.cjs +2 -1
  887. package/mssql-core/view-base.cjs.map +1 -1
  888. package/mssql-core/view-common.cjs +1 -0
  889. package/mssql-core/view-common.cjs.map +1 -1
  890. package/mssql-core/view.cjs +12 -8
  891. package/mssql-core/view.cjs.map +1 -1
  892. package/mssql-core/view.d.cts +8 -4
  893. package/mssql-core/view.d.ts +8 -4
  894. package/mssql-core/view.js +10 -8
  895. package/mssql-core/view.js.map +1 -1
  896. package/mysql-core/alias.cjs +4 -3
  897. package/mysql-core/alias.cjs.map +1 -1
  898. package/mysql-core/alias.js +2 -2
  899. package/mysql-core/alias.js.map +1 -1
  900. package/mysql-core/casing.cjs +25 -0
  901. package/mysql-core/casing.cjs.map +1 -0
  902. package/mysql-core/casing.d.cts +18 -0
  903. package/mysql-core/casing.d.ts +18 -0
  904. package/mysql-core/casing.js +23 -0
  905. package/mysql-core/casing.js.map +1 -0
  906. package/mysql-core/checks.cjs +2 -1
  907. package/mysql-core/checks.cjs.map +1 -1
  908. package/mysql-core/checks.js.map +1 -1
  909. package/mysql-core/columns/all.cjs +1 -0
  910. package/mysql-core/columns/all.cjs.map +1 -1
  911. package/mysql-core/columns/all.d.cts +1 -1
  912. package/mysql-core/columns/all.d.ts +1 -1
  913. package/mysql-core/columns/bigint.cjs +10 -9
  914. package/mysql-core/columns/bigint.cjs.map +1 -1
  915. package/mysql-core/columns/bigint.d.cts +4 -4
  916. package/mysql-core/columns/bigint.d.ts +4 -4
  917. package/mysql-core/columns/bigint.js +8 -8
  918. package/mysql-core/columns/bigint.js.map +1 -1
  919. package/mysql-core/columns/binary.cjs +4 -3
  920. package/mysql-core/columns/binary.cjs.map +1 -1
  921. package/mysql-core/columns/binary.d.cts +1 -1
  922. package/mysql-core/columns/binary.d.ts +1 -1
  923. package/mysql-core/columns/binary.js +2 -2
  924. package/mysql-core/columns/binary.js.map +1 -1
  925. package/mysql-core/columns/blob.cjs +6 -5
  926. package/mysql-core/columns/blob.cjs.map +1 -1
  927. package/mysql-core/columns/blob.d.cts +2 -2
  928. package/mysql-core/columns/blob.d.ts +2 -2
  929. package/mysql-core/columns/blob.js +4 -4
  930. package/mysql-core/columns/blob.js.map +1 -1
  931. package/mysql-core/columns/boolean.cjs +4 -3
  932. package/mysql-core/columns/boolean.cjs.map +1 -1
  933. package/mysql-core/columns/boolean.d.cts +1 -1
  934. package/mysql-core/columns/boolean.d.ts +1 -1
  935. package/mysql-core/columns/boolean.js +2 -2
  936. package/mysql-core/columns/boolean.js.map +1 -1
  937. package/mysql-core/columns/char.cjs +2 -1
  938. package/mysql-core/columns/char.cjs.map +1 -1
  939. package/mysql-core/columns/common.cjs +6 -5
  940. package/mysql-core/columns/common.cjs.map +1 -1
  941. package/mysql-core/columns/common.d.cts +1 -1
  942. package/mysql-core/columns/common.d.ts +1 -1
  943. package/mysql-core/columns/common.js +4 -4
  944. package/mysql-core/columns/common.js.map +1 -1
  945. package/mysql-core/columns/custom.cjs +6 -5
  946. package/mysql-core/columns/custom.cjs.map +1 -1
  947. package/mysql-core/columns/custom.d.cts +2 -2
  948. package/mysql-core/columns/custom.d.ts +2 -2
  949. package/mysql-core/columns/custom.js +4 -4
  950. package/mysql-core/columns/custom.js.map +1 -1
  951. package/mysql-core/columns/date.cjs +6 -5
  952. package/mysql-core/columns/date.cjs.map +1 -1
  953. package/mysql-core/columns/date.common.cjs +2 -1
  954. package/mysql-core/columns/date.common.cjs.map +1 -1
  955. package/mysql-core/columns/date.d.cts +2 -2
  956. package/mysql-core/columns/date.d.ts +2 -2
  957. package/mysql-core/columns/date.js +4 -4
  958. package/mysql-core/columns/date.js.map +1 -1
  959. package/mysql-core/columns/datetime.cjs +15 -14
  960. package/mysql-core/columns/datetime.cjs.map +1 -1
  961. package/mysql-core/columns/datetime.d.cts +9 -9
  962. package/mysql-core/columns/datetime.d.ts +9 -9
  963. package/mysql-core/columns/datetime.js +13 -13
  964. package/mysql-core/columns/datetime.js.map +1 -1
  965. package/mysql-core/columns/decimal.cjs +6 -5
  966. package/mysql-core/columns/decimal.cjs.map +1 -1
  967. package/mysql-core/columns/decimal.d.cts +2 -2
  968. package/mysql-core/columns/decimal.d.ts +2 -2
  969. package/mysql-core/columns/decimal.js +4 -4
  970. package/mysql-core/columns/decimal.js.map +1 -1
  971. package/mysql-core/columns/double.cjs +2 -1
  972. package/mysql-core/columns/double.cjs.map +1 -1
  973. package/mysql-core/columns/enum.cjs +2 -1
  974. package/mysql-core/columns/enum.cjs.map +1 -1
  975. package/mysql-core/columns/float.cjs +4 -3
  976. package/mysql-core/columns/float.cjs.map +1 -1
  977. package/mysql-core/columns/float.d.cts +1 -1
  978. package/mysql-core/columns/float.d.ts +1 -1
  979. package/mysql-core/columns/float.js +2 -2
  980. package/mysql-core/columns/float.js.map +1 -1
  981. package/mysql-core/columns/index.cjs +1 -0
  982. package/mysql-core/columns/index.d.cts +1 -1
  983. package/mysql-core/columns/index.d.ts +1 -1
  984. package/mysql-core/columns/int.cjs +4 -3
  985. package/mysql-core/columns/int.cjs.map +1 -1
  986. package/mysql-core/columns/int.d.cts +1 -1
  987. package/mysql-core/columns/int.d.ts +1 -1
  988. package/mysql-core/columns/int.js +2 -2
  989. package/mysql-core/columns/int.js.map +1 -1
  990. package/mysql-core/columns/json.cjs +4 -3
  991. package/mysql-core/columns/json.cjs.map +1 -1
  992. package/mysql-core/columns/json.d.cts +1 -1
  993. package/mysql-core/columns/json.d.ts +1 -1
  994. package/mysql-core/columns/json.js +2 -2
  995. package/mysql-core/columns/json.js.map +1 -1
  996. package/mysql-core/columns/mediumint.cjs +4 -3
  997. package/mysql-core/columns/mediumint.cjs.map +1 -1
  998. package/mysql-core/columns/mediumint.d.cts +1 -1
  999. package/mysql-core/columns/mediumint.d.ts +1 -1
  1000. package/mysql-core/columns/mediumint.js +2 -2
  1001. package/mysql-core/columns/mediumint.js.map +1 -1
  1002. package/mysql-core/columns/real.cjs +2 -1
  1003. package/mysql-core/columns/real.cjs.map +1 -1
  1004. package/mysql-core/columns/serial.cjs +4 -3
  1005. package/mysql-core/columns/serial.cjs.map +1 -1
  1006. package/mysql-core/columns/serial.d.cts +1 -1
  1007. package/mysql-core/columns/serial.d.ts +1 -1
  1008. package/mysql-core/columns/serial.js +2 -2
  1009. package/mysql-core/columns/serial.js.map +1 -1
  1010. package/mysql-core/columns/smallint.cjs +4 -3
  1011. package/mysql-core/columns/smallint.cjs.map +1 -1
  1012. package/mysql-core/columns/smallint.d.cts +1 -1
  1013. package/mysql-core/columns/smallint.d.ts +1 -1
  1014. package/mysql-core/columns/smallint.js +2 -2
  1015. package/mysql-core/columns/smallint.js.map +1 -1
  1016. package/mysql-core/columns/string.common.cjs +2 -1
  1017. package/mysql-core/columns/string.common.cjs.map +1 -1
  1018. package/mysql-core/columns/text.cjs +2 -1
  1019. package/mysql-core/columns/text.cjs.map +1 -1
  1020. package/mysql-core/columns/time.cjs +4 -3
  1021. package/mysql-core/columns/time.cjs.map +1 -1
  1022. package/mysql-core/columns/time.d.cts +1 -1
  1023. package/mysql-core/columns/time.d.ts +1 -1
  1024. package/mysql-core/columns/time.js +2 -2
  1025. package/mysql-core/columns/time.js.map +1 -1
  1026. package/mysql-core/columns/timestamp.cjs +10 -9
  1027. package/mysql-core/columns/timestamp.cjs.map +1 -1
  1028. package/mysql-core/columns/timestamp.d.cts +4 -4
  1029. package/mysql-core/columns/timestamp.d.ts +4 -4
  1030. package/mysql-core/columns/timestamp.js +8 -8
  1031. package/mysql-core/columns/timestamp.js.map +1 -1
  1032. package/mysql-core/columns/tinyint.cjs +4 -3
  1033. package/mysql-core/columns/tinyint.cjs.map +1 -1
  1034. package/mysql-core/columns/tinyint.d.cts +1 -1
  1035. package/mysql-core/columns/tinyint.d.ts +1 -1
  1036. package/mysql-core/columns/tinyint.js +2 -2
  1037. package/mysql-core/columns/tinyint.js.map +1 -1
  1038. package/mysql-core/columns/varbinary.cjs +4 -3
  1039. package/mysql-core/columns/varbinary.cjs.map +1 -1
  1040. package/mysql-core/columns/varbinary.d.cts +1 -1
  1041. package/mysql-core/columns/varbinary.d.ts +1 -1
  1042. package/mysql-core/columns/varbinary.js +2 -2
  1043. package/mysql-core/columns/varbinary.js.map +1 -1
  1044. package/mysql-core/columns/varchar.cjs +2 -1
  1045. package/mysql-core/columns/varchar.cjs.map +1 -1
  1046. package/mysql-core/columns/year.cjs +4 -3
  1047. package/mysql-core/columns/year.cjs.map +1 -1
  1048. package/mysql-core/columns/year.d.cts +1 -1
  1049. package/mysql-core/columns/year.d.ts +1 -1
  1050. package/mysql-core/columns/year.js +2 -2
  1051. package/mysql-core/columns/year.js.map +1 -1
  1052. package/mysql-core/db.cjs +4 -3
  1053. package/mysql-core/db.cjs.map +1 -1
  1054. package/mysql-core/db.d.cts +3 -2
  1055. package/mysql-core/db.d.ts +4 -3
  1056. package/mysql-core/db.js +2 -2
  1057. package/mysql-core/db.js.map +1 -1
  1058. package/mysql-core/dialect.cjs +112 -87
  1059. package/mysql-core/dialect.cjs.map +1 -1
  1060. package/mysql-core/dialect.d.cts +13 -10
  1061. package/mysql-core/dialect.d.ts +14 -11
  1062. package/mysql-core/dialect.js +109 -85
  1063. package/mysql-core/dialect.js.map +1 -1
  1064. package/mysql-core/expressions.cjs +2 -1
  1065. package/mysql-core/expressions.cjs.map +1 -1
  1066. package/mysql-core/expressions.d.cts +0 -1
  1067. package/mysql-core/expressions.d.ts +0 -1
  1068. package/mysql-core/expressions.js.map +1 -1
  1069. package/mysql-core/foreign-keys.cjs +2 -1
  1070. package/mysql-core/foreign-keys.cjs.map +1 -1
  1071. package/mysql-core/foreign-keys.d.cts +0 -1
  1072. package/mysql-core/foreign-keys.d.ts +0 -1
  1073. package/mysql-core/foreign-keys.js.map +1 -1
  1074. package/mysql-core/index.cjs +15 -9
  1075. package/mysql-core/index.d.cts +4 -5
  1076. package/mysql-core/index.d.ts +4 -5
  1077. package/mysql-core/index.js +12 -11
  1078. package/mysql-core/indexes.cjs +2 -1
  1079. package/mysql-core/indexes.cjs.map +1 -1
  1080. package/mysql-core/indexes.d.cts +0 -1
  1081. package/mysql-core/indexes.d.ts +0 -1
  1082. package/mysql-core/indexes.js.map +1 -1
  1083. package/mysql-core/primary-keys.cjs +2 -1
  1084. package/mysql-core/primary-keys.cjs.map +1 -1
  1085. package/mysql-core/primary-keys.d.cts +0 -1
  1086. package/mysql-core/primary-keys.d.ts +0 -1
  1087. package/mysql-core/primary-keys.js.map +1 -1
  1088. package/mysql-core/query-builders/_query.cjs +3 -2
  1089. package/mysql-core/query-builders/_query.cjs.map +1 -1
  1090. package/mysql-core/query-builders/_query.d.cts +8 -4
  1091. package/mysql-core/query-builders/_query.d.ts +8 -4
  1092. package/mysql-core/query-builders/_query.js.map +1 -1
  1093. package/mysql-core/query-builders/count.cjs +2 -1
  1094. package/mysql-core/query-builders/count.cjs.map +1 -1
  1095. package/mysql-core/query-builders/count.js.map +1 -1
  1096. package/mysql-core/query-builders/delete.cjs +10 -1
  1097. package/mysql-core/query-builders/delete.cjs.map +1 -1
  1098. package/mysql-core/query-builders/delete.d.cts +6 -1
  1099. package/mysql-core/query-builders/delete.d.ts +6 -1
  1100. package/mysql-core/query-builders/delete.js +8 -0
  1101. package/mysql-core/query-builders/delete.js.map +1 -1
  1102. package/mysql-core/query-builders/index.cjs +2 -1
  1103. package/mysql-core/query-builders/index.js +1 -1
  1104. package/mysql-core/query-builders/insert.cjs +11 -3
  1105. package/mysql-core/query-builders/insert.cjs.map +1 -1
  1106. package/mysql-core/query-builders/insert.d.cts +8 -3
  1107. package/mysql-core/query-builders/insert.d.ts +8 -3
  1108. package/mysql-core/query-builders/insert.js +9 -2
  1109. package/mysql-core/query-builders/insert.js.map +1 -1
  1110. package/mysql-core/query-builders/query-builder.cjs +2 -1
  1111. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  1112. package/mysql-core/query-builders/query.cjs +15 -6
  1113. package/mysql-core/query-builders/query.cjs.map +1 -1
  1114. package/mysql-core/query-builders/query.d.cts +9 -5
  1115. package/mysql-core/query-builders/query.d.ts +9 -5
  1116. package/mysql-core/query-builders/query.js +13 -5
  1117. package/mysql-core/query-builders/query.js.map +1 -1
  1118. package/mysql-core/query-builders/select.cjs +15 -3
  1119. package/mysql-core/query-builders/select.cjs.map +1 -1
  1120. package/mysql-core/query-builders/select.d.cts +6 -2
  1121. package/mysql-core/query-builders/select.d.ts +7 -3
  1122. package/mysql-core/query-builders/select.js +14 -3
  1123. package/mysql-core/query-builders/select.js.map +1 -1
  1124. package/mysql-core/query-builders/select.types.d.cts +1 -0
  1125. package/mysql-core/query-builders/select.types.d.ts +2 -1
  1126. package/mysql-core/query-builders/update.cjs +10 -1
  1127. package/mysql-core/query-builders/update.cjs.map +1 -1
  1128. package/mysql-core/query-builders/update.d.cts +8 -3
  1129. package/mysql-core/query-builders/update.d.ts +8 -3
  1130. package/mysql-core/query-builders/update.js +8 -0
  1131. package/mysql-core/query-builders/update.js.map +1 -1
  1132. package/mysql-core/schema.cjs +9 -13
  1133. package/mysql-core/schema.cjs.map +1 -1
  1134. package/mysql-core/schema.d.cts +3 -1
  1135. package/mysql-core/schema.d.ts +3 -1
  1136. package/mysql-core/schema.js +7 -12
  1137. package/mysql-core/schema.js.map +1 -1
  1138. package/mysql-core/session.cjs +5 -4
  1139. package/mysql-core/session.cjs.map +1 -1
  1140. package/mysql-core/session.d.cts +3 -5
  1141. package/mysql-core/session.d.ts +3 -5
  1142. package/mysql-core/session.js +3 -3
  1143. package/mysql-core/session.js.map +1 -1
  1144. package/mysql-core/table.cjs +17 -11
  1145. package/mysql-core/table.cjs.map +1 -1
  1146. package/mysql-core/table.d.cts +4 -3
  1147. package/mysql-core/table.d.ts +4 -3
  1148. package/mysql-core/table.js +15 -11
  1149. package/mysql-core/table.js.map +1 -1
  1150. package/mysql-core/unique-constraint.cjs +2 -1
  1151. package/mysql-core/unique-constraint.cjs.map +1 -1
  1152. package/mysql-core/unique-constraint.d.cts +0 -1
  1153. package/mysql-core/unique-constraint.d.ts +0 -1
  1154. package/mysql-core/unique-constraint.js.map +1 -1
  1155. package/mysql-core/utils.cjs +4 -3
  1156. package/mysql-core/utils.cjs.map +1 -1
  1157. package/mysql-core/utils.d.cts +0 -1
  1158. package/mysql-core/utils.d.ts +2 -3
  1159. package/mysql-core/utils.js +2 -2
  1160. package/mysql-core/utils.js.map +1 -1
  1161. package/mysql-core/view-base.cjs +2 -1
  1162. package/mysql-core/view-base.cjs.map +1 -1
  1163. package/mysql-core/view-common.cjs +1 -0
  1164. package/mysql-core/view-common.cjs.map +1 -1
  1165. package/mysql-core/view.cjs +12 -8
  1166. package/mysql-core/view.cjs.map +1 -1
  1167. package/mysql-core/view.d.cts +8 -4
  1168. package/mysql-core/view.d.ts +8 -4
  1169. package/mysql-core/view.js +11 -9
  1170. package/mysql-core/view.js.map +1 -1
  1171. package/mysql-proxy/driver.cjs +10 -5
  1172. package/mysql-proxy/driver.cjs.map +1 -1
  1173. package/mysql-proxy/driver.js +7 -3
  1174. package/mysql-proxy/driver.js.map +1 -1
  1175. package/mysql-proxy/index.cjs +1 -0
  1176. package/mysql-proxy/migrator.cjs +26 -14
  1177. package/mysql-proxy/migrator.cjs.map +1 -1
  1178. package/mysql-proxy/migrator.js +24 -13
  1179. package/mysql-proxy/migrator.js.map +1 -1
  1180. package/mysql-proxy/session.cjs +13 -7
  1181. package/mysql-proxy/session.cjs.map +1 -1
  1182. package/mysql-proxy/session.d.cts +8 -3
  1183. package/mysql-proxy/session.d.ts +10 -5
  1184. package/mysql-proxy/session.js +12 -7
  1185. package/mysql-proxy/session.js.map +1 -1
  1186. package/mysql2/driver.cjs +8 -5
  1187. package/mysql2/driver.cjs.map +1 -1
  1188. package/mysql2/driver.d.cts +1 -0
  1189. package/mysql2/driver.d.ts +8 -7
  1190. package/mysql2/driver.js +5 -3
  1191. package/mysql2/driver.js.map +1 -1
  1192. package/mysql2/index.cjs +2 -1
  1193. package/mysql2/migrator.cjs +2 -1
  1194. package/mysql2/migrator.cjs.map +1 -1
  1195. package/mysql2/migrator.d.cts +2 -2
  1196. package/mysql2/migrator.d.ts +2 -2
  1197. package/mysql2/session.cjs +20 -9
  1198. package/mysql2/session.cjs.map +1 -1
  1199. package/mysql2/session.d.cts +7 -3
  1200. package/mysql2/session.d.ts +8 -4
  1201. package/mysql2/session.js +19 -9
  1202. package/mysql2/session.js.map +1 -1
  1203. package/neon/index.cjs +2 -1
  1204. package/neon/index.js +1 -1
  1205. package/neon/neon-auth.cjs +2 -1
  1206. package/neon/neon-auth.cjs.map +1 -1
  1207. package/neon/neon-auth.d.cts +9 -17
  1208. package/neon/neon-auth.d.ts +9 -17
  1209. package/neon/rls.cjs +2 -1
  1210. package/neon/rls.cjs.map +1 -1
  1211. package/neon/rls.d.cts +2 -3
  1212. package/neon/rls.d.ts +2 -3
  1213. package/neon/rls.js.map +1 -1
  1214. package/neon-http/codecs.cjs +66 -0
  1215. package/neon-http/codecs.cjs.map +1 -0
  1216. package/neon-http/codecs.d.cts +9 -0
  1217. package/neon-http/codecs.d.ts +9 -0
  1218. package/neon-http/codecs.js +64 -0
  1219. package/neon-http/codecs.js.map +1 -0
  1220. package/neon-http/driver.cjs +29 -66
  1221. package/neon-http/driver.cjs.map +1 -1
  1222. package/neon-http/driver.d.cts +10 -25
  1223. package/neon-http/driver.d.ts +11 -26
  1224. package/neon-http/driver.js +28 -64
  1225. package/neon-http/driver.js.map +1 -1
  1226. package/neon-http/index.cjs +4 -4
  1227. package/neon-http/index.d.cts +4 -3
  1228. package/neon-http/index.d.ts +4 -3
  1229. package/neon-http/index.js +4 -3
  1230. package/neon-http/migrator.cjs +21 -10
  1231. package/neon-http/migrator.cjs.map +1 -1
  1232. package/neon-http/migrator.d.cts +1 -2
  1233. package/neon-http/migrator.d.ts +1 -2
  1234. package/neon-http/migrator.js +19 -9
  1235. package/neon-http/migrator.js.map +1 -1
  1236. package/neon-http/session.cjs +29 -117
  1237. package/neon-http/session.cjs.map +1 -1
  1238. package/neon-http/session.d.cts +10 -39
  1239. package/neon-http/session.d.ts +9 -38
  1240. package/neon-http/session.js +29 -116
  1241. package/neon-http/session.js.map +1 -1
  1242. package/neon-serverless/codecs.cjs +65 -0
  1243. package/neon-serverless/codecs.cjs.map +1 -0
  1244. package/neon-serverless/codecs.d.cts +9 -0
  1245. package/neon-serverless/codecs.d.ts +9 -0
  1246. package/neon-serverless/codecs.js +63 -0
  1247. package/neon-serverless/codecs.js.map +1 -0
  1248. package/neon-serverless/driver.cjs +13 -33
  1249. package/neon-serverless/driver.cjs.map +1 -1
  1250. package/neon-serverless/driver.d.cts +9 -18
  1251. package/neon-serverless/driver.d.ts +9 -18
  1252. package/neon-serverless/driver.js +12 -31
  1253. package/neon-serverless/driver.js.map +1 -1
  1254. package/neon-serverless/index.cjs +4 -3
  1255. package/neon-serverless/index.d.cts +4 -3
  1256. package/neon-serverless/index.d.ts +4 -3
  1257. package/neon-serverless/index.js +4 -3
  1258. package/neon-serverless/migrator.cjs +3 -2
  1259. package/neon-serverless/migrator.cjs.map +1 -1
  1260. package/neon-serverless/migrator.d.cts +1 -1
  1261. package/neon-serverless/migrator.d.ts +2 -2
  1262. package/neon-serverless/migrator.js +1 -1
  1263. package/neon-serverless/migrator.js.map +1 -1
  1264. package/neon-serverless/session.cjs +34 -113
  1265. package/neon-serverless/session.cjs.map +1 -1
  1266. package/neon-serverless/session.d.cts +9 -35
  1267. package/neon-serverless/session.d.ts +8 -34
  1268. package/neon-serverless/session.js +34 -113
  1269. package/neon-serverless/session.js.map +1 -1
  1270. package/netlify-db/codecs.cjs +122 -0
  1271. package/netlify-db/codecs.cjs.map +1 -0
  1272. package/netlify-db/codecs.d.cts +10 -0
  1273. package/netlify-db/codecs.d.ts +10 -0
  1274. package/netlify-db/codecs.js +119 -0
  1275. package/netlify-db/codecs.js.map +1 -0
  1276. package/netlify-db/driver.cjs +106 -0
  1277. package/netlify-db/driver.cjs.map +1 -0
  1278. package/netlify-db/driver.d.cts +79 -0
  1279. package/netlify-db/driver.d.ts +79 -0
  1280. package/netlify-db/driver.js +98 -0
  1281. package/netlify-db/driver.js.map +1 -0
  1282. package/netlify-db/index.cjs +17 -0
  1283. package/netlify-db/index.d.cts +4 -0
  1284. package/netlify-db/index.d.ts +4 -0
  1285. package/netlify-db/index.js +5 -0
  1286. package/netlify-db/migrator.cjs +17 -0
  1287. package/netlify-db/migrator.cjs.map +1 -0
  1288. package/netlify-db/migrator.d.cts +11 -0
  1289. package/netlify-db/migrator.d.ts +11 -0
  1290. package/netlify-db/migrator.js +15 -0
  1291. package/netlify-db/migrator.js.map +1 -0
  1292. package/netlify-db/session.cjs +174 -0
  1293. package/netlify-db/session.cjs.map +1 -0
  1294. package/netlify-db/session.d.cts +65 -0
  1295. package/netlify-db/session.d.ts +65 -0
  1296. package/netlify-db/session.js +170 -0
  1297. package/netlify-db/session.js.map +1 -0
  1298. package/node-mssql/driver.cjs +15 -7
  1299. package/node-mssql/driver.cjs.map +1 -1
  1300. package/node-mssql/driver.d.cts +1 -0
  1301. package/node-mssql/driver.d.ts +3 -2
  1302. package/node-mssql/driver.js +12 -5
  1303. package/node-mssql/driver.js.map +1 -1
  1304. package/node-mssql/index.cjs +2 -1
  1305. package/node-mssql/migrator.cjs +2 -1
  1306. package/node-mssql/migrator.cjs.map +1 -1
  1307. package/node-mssql/migrator.d.cts +2 -2
  1308. package/node-mssql/migrator.d.ts +2 -2
  1309. package/node-mssql/pool.cjs +3 -2
  1310. package/node-mssql/pool.cjs.map +1 -1
  1311. package/node-mssql/session.cjs +12 -7
  1312. package/node-mssql/session.cjs.map +1 -1
  1313. package/node-mssql/session.d.cts +4 -1
  1314. package/node-mssql/session.d.ts +5 -2
  1315. package/node-mssql/session.js +10 -6
  1316. package/node-mssql/session.js.map +1 -1
  1317. package/node-postgres/codecs.cjs +65 -0
  1318. package/node-postgres/codecs.cjs.map +1 -0
  1319. package/node-postgres/codecs.d.cts +9 -0
  1320. package/node-postgres/codecs.d.ts +9 -0
  1321. package/node-postgres/codecs.js +63 -0
  1322. package/node-postgres/codecs.js.map +1 -0
  1323. package/node-postgres/driver.cjs +14 -19
  1324. package/node-postgres/driver.cjs.map +1 -1
  1325. package/node-postgres/driver.d.cts +6 -12
  1326. package/node-postgres/driver.d.ts +6 -12
  1327. package/node-postgres/driver.js +11 -16
  1328. package/node-postgres/driver.js.map +1 -1
  1329. package/node-postgres/index.cjs +4 -2
  1330. package/node-postgres/index.d.cts +4 -3
  1331. package/node-postgres/index.d.ts +4 -3
  1332. package/node-postgres/index.js +3 -2
  1333. package/node-postgres/migrator.cjs +3 -2
  1334. package/node-postgres/migrator.cjs.map +1 -1
  1335. package/node-postgres/migrator.d.cts +2 -2
  1336. package/node-postgres/migrator.d.ts +2 -2
  1337. package/node-postgres/migrator.js +1 -1
  1338. package/node-postgres/migrator.js.map +1 -1
  1339. package/node-postgres/session.cjs +35 -137
  1340. package/node-postgres/session.cjs.map +1 -1
  1341. package/node-postgres/session.d.cts +10 -35
  1342. package/node-postgres/session.d.ts +8 -33
  1343. package/node-postgres/session.js +34 -136
  1344. package/node-postgres/session.js.map +1 -1
  1345. package/node-sqlite/driver.cjs +64 -0
  1346. package/node-sqlite/driver.cjs.map +1 -0
  1347. package/node-sqlite/driver.d.cts +28 -0
  1348. package/node-sqlite/driver.d.ts +28 -0
  1349. package/node-sqlite/driver.js +55 -0
  1350. package/node-sqlite/driver.js.map +1 -0
  1351. package/node-sqlite/index.cjs +14 -0
  1352. package/node-sqlite/index.d.cts +3 -0
  1353. package/node-sqlite/index.d.ts +3 -0
  1354. package/node-sqlite/index.js +4 -0
  1355. package/node-sqlite/migrator.cjs +13 -0
  1356. package/node-sqlite/migrator.cjs.map +1 -0
  1357. package/node-sqlite/migrator.d.cts +10 -0
  1358. package/node-sqlite/migrator.d.ts +10 -0
  1359. package/node-sqlite/migrator.js +11 -0
  1360. package/node-sqlite/migrator.js.map +1 -0
  1361. package/node-sqlite/session.cjs +140 -0
  1362. package/node-sqlite/session.cjs.map +1 -0
  1363. package/node-sqlite/session.d.cts +62 -0
  1364. package/node-sqlite/session.d.ts +62 -0
  1365. package/node-sqlite/session.js +136 -0
  1366. package/node-sqlite/session.js.map +1 -0
  1367. package/op-sqlite/driver.cjs +8 -5
  1368. package/op-sqlite/driver.cjs.map +1 -1
  1369. package/op-sqlite/driver.d.ts +1 -1
  1370. package/op-sqlite/driver.js +5 -3
  1371. package/op-sqlite/driver.js.map +1 -1
  1372. package/op-sqlite/index.cjs +1 -0
  1373. package/op-sqlite/migrator.cjs +9 -7
  1374. package/op-sqlite/migrator.cjs.map +1 -1
  1375. package/op-sqlite/migrator.d.cts +2 -2
  1376. package/op-sqlite/migrator.d.ts +2 -2
  1377. package/op-sqlite/migrator.js +8 -7
  1378. package/op-sqlite/migrator.js.map +1 -1
  1379. package/op-sqlite/session.cjs +19 -16
  1380. package/op-sqlite/session.cjs.map +1 -1
  1381. package/op-sqlite/session.d.cts +13 -9
  1382. package/op-sqlite/session.d.ts +16 -12
  1383. package/op-sqlite/session.js +21 -19
  1384. package/op-sqlite/session.js.map +1 -1
  1385. package/operations.d.cts +3 -0
  1386. package/operations.d.ts +3 -0
  1387. package/package.cjs +1 -1
  1388. package/package.js +1 -1
  1389. package/package.json +4453 -4333
  1390. package/package.json.d.cts +5 -0
  1391. package/package.json.d.ts +5 -0
  1392. package/pg-core/alias.cjs +4 -3
  1393. package/pg-core/alias.cjs.map +1 -1
  1394. package/pg-core/alias.js +2 -2
  1395. package/pg-core/alias.js.map +1 -1
  1396. package/pg-core/array.cjs +69 -0
  1397. package/pg-core/array.cjs.map +1 -0
  1398. package/pg-core/array.d.cts +7 -0
  1399. package/pg-core/array.d.ts +7 -0
  1400. package/pg-core/array.js +65 -0
  1401. package/pg-core/array.js.map +1 -0
  1402. package/pg-core/async/count.cjs +4 -10
  1403. package/pg-core/async/count.cjs.map +1 -1
  1404. package/pg-core/async/count.js +2 -9
  1405. package/pg-core/async/count.js.map +1 -1
  1406. package/pg-core/async/db.cjs +19 -33
  1407. package/pg-core/async/db.cjs.map +1 -1
  1408. package/pg-core/async/db.d.cts +9 -15
  1409. package/pg-core/async/db.d.ts +10 -16
  1410. package/pg-core/async/db.js +17 -32
  1411. package/pg-core/async/db.js.map +1 -1
  1412. package/pg-core/async/delete.cjs +12 -14
  1413. package/pg-core/async/delete.cjs.map +1 -1
  1414. package/pg-core/async/delete.d.cts +1 -1
  1415. package/pg-core/async/delete.d.ts +1 -1
  1416. package/pg-core/async/delete.js +10 -13
  1417. package/pg-core/async/delete.js.map +1 -1
  1418. package/pg-core/async/index.cjs +1 -0
  1419. package/pg-core/async/insert.cjs +11 -13
  1420. package/pg-core/async/insert.cjs.map +1 -1
  1421. package/pg-core/async/insert.d.cts +1 -1
  1422. package/pg-core/async/insert.d.ts +1 -1
  1423. package/pg-core/async/insert.js +9 -12
  1424. package/pg-core/async/insert.js.map +1 -1
  1425. package/pg-core/async/query.cjs +13 -16
  1426. package/pg-core/async/query.cjs.map +1 -1
  1427. package/pg-core/async/query.d.cts +1 -1
  1428. package/pg-core/async/query.d.ts +1 -1
  1429. package/pg-core/async/query.js +11 -15
  1430. package/pg-core/async/query.js.map +1 -1
  1431. package/pg-core/async/raw.cjs +2 -1
  1432. package/pg-core/async/raw.cjs.map +1 -1
  1433. package/pg-core/async/raw.js.map +1 -1
  1434. package/pg-core/async/refresh-materialized-view.cjs +6 -11
  1435. package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
  1436. package/pg-core/async/refresh-materialized-view.d.cts +1 -1
  1437. package/pg-core/async/refresh-materialized-view.d.ts +1 -1
  1438. package/pg-core/async/refresh-materialized-view.js +4 -10
  1439. package/pg-core/async/refresh-materialized-view.js.map +1 -1
  1440. package/pg-core/async/select.cjs +9 -15
  1441. package/pg-core/async/select.cjs.map +1 -1
  1442. package/pg-core/async/select.d.cts +1 -1
  1443. package/pg-core/async/select.d.ts +1 -1
  1444. package/pg-core/async/select.js +7 -14
  1445. package/pg-core/async/select.js.map +1 -1
  1446. package/pg-core/async/session.cjs +83 -34
  1447. package/pg-core/async/session.cjs.map +1 -1
  1448. package/pg-core/async/session.d.cts +27 -32
  1449. package/pg-core/async/session.d.ts +27 -32
  1450. package/pg-core/async/session.js +83 -35
  1451. package/pg-core/async/session.js.map +1 -1
  1452. package/pg-core/async/update.cjs +15 -9
  1453. package/pg-core/async/update.cjs.map +1 -1
  1454. package/pg-core/async/update.d.cts +1 -1
  1455. package/pg-core/async/update.d.ts +1 -1
  1456. package/pg-core/async/update.js +13 -8
  1457. package/pg-core/async/update.js.map +1 -1
  1458. package/pg-core/casing.cjs +27 -0
  1459. package/pg-core/casing.cjs.map +1 -0
  1460. package/pg-core/casing.d.cts +20 -0
  1461. package/pg-core/casing.d.ts +20 -0
  1462. package/pg-core/casing.js +25 -0
  1463. package/pg-core/casing.js.map +1 -0
  1464. package/pg-core/checks.cjs +2 -1
  1465. package/pg-core/checks.cjs.map +1 -1
  1466. package/pg-core/checks.js.map +1 -1
  1467. package/pg-core/codecs.cjs +302 -0
  1468. package/pg-core/codecs.cjs.map +1 -0
  1469. package/pg-core/codecs.d.cts +234 -0
  1470. package/pg-core/codecs.d.ts +234 -0
  1471. package/pg-core/codecs.js +283 -0
  1472. package/pg-core/codecs.js.map +1 -0
  1473. package/pg-core/columns/all.cjs +1 -0
  1474. package/pg-core/columns/all.cjs.map +1 -1
  1475. package/pg-core/columns/bigint.cjs +12 -15
  1476. package/pg-core/columns/bigint.cjs.map +1 -1
  1477. package/pg-core/columns/bigint.d.cts +5 -7
  1478. package/pg-core/columns/bigint.d.ts +5 -7
  1479. package/pg-core/columns/bigint.js +11 -15
  1480. package/pg-core/columns/bigint.js.map +1 -1
  1481. package/pg-core/columns/bigserial.cjs +6 -8
  1482. package/pg-core/columns/bigserial.cjs.map +1 -1
  1483. package/pg-core/columns/bigserial.d.cts +0 -2
  1484. package/pg-core/columns/bigserial.d.ts +0 -2
  1485. package/pg-core/columns/bigserial.js +4 -7
  1486. package/pg-core/columns/bigserial.js.map +1 -1
  1487. package/pg-core/columns/boolean.cjs +4 -1
  1488. package/pg-core/columns/boolean.cjs.map +1 -1
  1489. package/pg-core/columns/boolean.js +2 -0
  1490. package/pg-core/columns/boolean.js.map +1 -1
  1491. package/pg-core/columns/bytea.cjs +4 -9
  1492. package/pg-core/columns/bytea.cjs.map +1 -1
  1493. package/pg-core/columns/bytea.d.cts +0 -1
  1494. package/pg-core/columns/bytea.d.ts +0 -1
  1495. package/pg-core/columns/bytea.js +2 -8
  1496. package/pg-core/columns/bytea.js.map +1 -1
  1497. package/pg-core/columns/char.cjs +4 -1
  1498. package/pg-core/columns/char.cjs.map +1 -1
  1499. package/pg-core/columns/char.d.cts +12 -12
  1500. package/pg-core/columns/char.d.ts +12 -12
  1501. package/pg-core/columns/char.js +2 -0
  1502. package/pg-core/columns/char.js.map +1 -1
  1503. package/pg-core/columns/cidr.cjs +4 -1
  1504. package/pg-core/columns/cidr.cjs.map +1 -1
  1505. package/pg-core/columns/cidr.js +2 -0
  1506. package/pg-core/columns/cidr.js.map +1 -1
  1507. package/pg-core/columns/common.cjs +20 -59
  1508. package/pg-core/columns/common.cjs.map +1 -1
  1509. package/pg-core/columns/common.d.cts +39 -72
  1510. package/pg-core/columns/common.d.ts +39 -72
  1511. package/pg-core/columns/common.js +18 -58
  1512. package/pg-core/columns/common.js.map +1 -1
  1513. package/pg-core/columns/custom.cjs +18 -47
  1514. package/pg-core/columns/custom.cjs.map +1 -1
  1515. package/pg-core/columns/custom.d.cts +17 -8
  1516. package/pg-core/columns/custom.d.ts +17 -8
  1517. package/pg-core/columns/custom.js +16 -46
  1518. package/pg-core/columns/custom.js.map +1 -1
  1519. package/pg-core/columns/date.cjs +13 -15
  1520. package/pg-core/columns/date.cjs.map +1 -1
  1521. package/pg-core/columns/date.common.cjs +21 -0
  1522. package/pg-core/columns/date.common.cjs.map +1 -0
  1523. package/pg-core/columns/date.common.d.cts +15 -0
  1524. package/pg-core/columns/date.common.d.ts +15 -0
  1525. package/pg-core/columns/date.common.js +19 -0
  1526. package/pg-core/columns/date.common.js.map +1 -0
  1527. package/pg-core/columns/date.d.cts +6 -7
  1528. package/pg-core/columns/date.d.ts +6 -7
  1529. package/pg-core/columns/date.js +12 -15
  1530. package/pg-core/columns/date.js.map +1 -1
  1531. package/pg-core/columns/double-precision.cjs +4 -5
  1532. package/pg-core/columns/double-precision.cjs.map +1 -1
  1533. package/pg-core/columns/double-precision.d.cts +0 -1
  1534. package/pg-core/columns/double-precision.d.ts +0 -1
  1535. package/pg-core/columns/double-precision.js +2 -4
  1536. package/pg-core/columns/double-precision.js.map +1 -1
  1537. package/pg-core/columns/enum.cjs +6 -1
  1538. package/pg-core/columns/enum.cjs.map +1 -1
  1539. package/pg-core/columns/enum.js +4 -0
  1540. package/pg-core/columns/enum.js.map +1 -1
  1541. package/pg-core/columns/index.cjs +2 -1
  1542. package/pg-core/columns/index.d.cts +2 -2
  1543. package/pg-core/columns/index.d.ts +2 -2
  1544. package/pg-core/columns/index.js +1 -1
  1545. package/pg-core/columns/inet.cjs +4 -1
  1546. package/pg-core/columns/inet.cjs.map +1 -1
  1547. package/pg-core/columns/inet.js +2 -0
  1548. package/pg-core/columns/inet.js.map +1 -1
  1549. package/pg-core/columns/int.common.cjs +47 -0
  1550. package/pg-core/columns/int.common.cjs.map +1 -0
  1551. package/pg-core/columns/int.common.d.cts +25 -0
  1552. package/pg-core/columns/int.common.d.ts +25 -0
  1553. package/pg-core/columns/int.common.js +45 -0
  1554. package/pg-core/columns/int.common.js.map +1 -0
  1555. package/pg-core/columns/integer.cjs +6 -6
  1556. package/pg-core/columns/integer.cjs.map +1 -1
  1557. package/pg-core/columns/integer.d.cts +3 -3
  1558. package/pg-core/columns/integer.d.ts +3 -3
  1559. package/pg-core/columns/integer.js +5 -6
  1560. package/pg-core/columns/integer.js.map +1 -1
  1561. package/pg-core/columns/interval.cjs +4 -1
  1562. package/pg-core/columns/interval.cjs.map +1 -1
  1563. package/pg-core/columns/interval.js +2 -0
  1564. package/pg-core/columns/interval.js.map +1 -1
  1565. package/pg-core/columns/json.cjs +4 -12
  1566. package/pg-core/columns/json.cjs.map +1 -1
  1567. package/pg-core/columns/json.d.cts +0 -2
  1568. package/pg-core/columns/json.d.ts +0 -2
  1569. package/pg-core/columns/json.js +2 -11
  1570. package/pg-core/columns/json.js.map +1 -1
  1571. package/pg-core/columns/jsonb.cjs +4 -12
  1572. package/pg-core/columns/jsonb.cjs.map +1 -1
  1573. package/pg-core/columns/jsonb.d.cts +0 -2
  1574. package/pg-core/columns/jsonb.d.ts +0 -2
  1575. package/pg-core/columns/jsonb.js +2 -11
  1576. package/pg-core/columns/jsonb.js.map +1 -1
  1577. package/pg-core/columns/line.cjs +10 -21
  1578. package/pg-core/columns/line.cjs.map +1 -1
  1579. package/pg-core/columns/line.d.cts +3 -9
  1580. package/pg-core/columns/line.d.ts +3 -9
  1581. package/pg-core/columns/line.js +8 -20
  1582. package/pg-core/columns/line.js.map +1 -1
  1583. package/pg-core/columns/macaddr.cjs +4 -1
  1584. package/pg-core/columns/macaddr.cjs.map +1 -1
  1585. package/pg-core/columns/macaddr.js +2 -0
  1586. package/pg-core/columns/macaddr.js.map +1 -1
  1587. package/pg-core/columns/macaddr8.cjs +4 -1
  1588. package/pg-core/columns/macaddr8.cjs.map +1 -1
  1589. package/pg-core/columns/macaddr8.js +2 -0
  1590. package/pg-core/columns/macaddr8.js.map +1 -1
  1591. package/pg-core/columns/numeric.cjs +10 -18
  1592. package/pg-core/columns/numeric.cjs.map +1 -1
  1593. package/pg-core/columns/numeric.d.cts +2 -5
  1594. package/pg-core/columns/numeric.d.ts +2 -5
  1595. package/pg-core/columns/numeric.js +8 -17
  1596. package/pg-core/columns/numeric.js.map +1 -1
  1597. package/pg-core/columns/point.cjs +10 -22
  1598. package/pg-core/columns/point.cjs.map +1 -1
  1599. package/pg-core/columns/point.d.cts +3 -14
  1600. package/pg-core/columns/point.d.ts +3 -14
  1601. package/pg-core/columns/point.js +8 -21
  1602. package/pg-core/columns/point.js.map +1 -1
  1603. package/pg-core/columns/postgis_extension/geometry.cjs +10 -17
  1604. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  1605. package/pg-core/columns/postgis_extension/geometry.d.cts +3 -8
  1606. package/pg-core/columns/postgis_extension/geometry.d.ts +3 -8
  1607. package/pg-core/columns/postgis_extension/geometry.js +8 -16
  1608. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  1609. package/pg-core/columns/postgis_extension/utils.cjs +1 -0
  1610. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  1611. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  1612. package/pg-core/columns/real.cjs +4 -5
  1613. package/pg-core/columns/real.cjs.map +1 -1
  1614. package/pg-core/columns/real.d.cts +0 -1
  1615. package/pg-core/columns/real.d.ts +0 -1
  1616. package/pg-core/columns/real.js +2 -4
  1617. package/pg-core/columns/real.js.map +1 -1
  1618. package/pg-core/columns/serial.cjs +4 -1
  1619. package/pg-core/columns/serial.cjs.map +1 -1
  1620. package/pg-core/columns/serial.js +2 -0
  1621. package/pg-core/columns/serial.js.map +1 -1
  1622. package/pg-core/columns/smallint.cjs +6 -6
  1623. package/pg-core/columns/smallint.cjs.map +1 -1
  1624. package/pg-core/columns/smallint.d.cts +3 -3
  1625. package/pg-core/columns/smallint.d.ts +3 -3
  1626. package/pg-core/columns/smallint.js +5 -6
  1627. package/pg-core/columns/smallint.js.map +1 -1
  1628. package/pg-core/columns/smallserial.cjs +4 -1
  1629. package/pg-core/columns/smallserial.cjs.map +1 -1
  1630. package/pg-core/columns/smallserial.js +2 -0
  1631. package/pg-core/columns/smallserial.js.map +1 -1
  1632. package/pg-core/columns/text.cjs +4 -1
  1633. package/pg-core/columns/text.cjs.map +1 -1
  1634. package/pg-core/columns/text.d.cts +10 -10
  1635. package/pg-core/columns/text.d.ts +10 -10
  1636. package/pg-core/columns/text.js +2 -0
  1637. package/pg-core/columns/text.js.map +1 -1
  1638. package/pg-core/columns/time.cjs +6 -2
  1639. package/pg-core/columns/time.cjs.map +1 -1
  1640. package/pg-core/columns/time.d.cts +3 -2
  1641. package/pg-core/columns/time.d.ts +3 -2
  1642. package/pg-core/columns/time.js +5 -2
  1643. package/pg-core/columns/time.js.map +1 -1
  1644. package/pg-core/columns/timestamp.cjs +15 -20
  1645. package/pg-core/columns/timestamp.cjs.map +1 -1
  1646. package/pg-core/columns/timestamp.d.cts +6 -7
  1647. package/pg-core/columns/timestamp.d.ts +6 -7
  1648. package/pg-core/columns/timestamp.js +14 -20
  1649. package/pg-core/columns/timestamp.js.map +1 -1
  1650. package/pg-core/columns/uuid.cjs +4 -1
  1651. package/pg-core/columns/uuid.cjs.map +1 -1
  1652. package/pg-core/columns/uuid.js +2 -0
  1653. package/pg-core/columns/uuid.js.map +1 -1
  1654. package/pg-core/columns/varchar.cjs +4 -1
  1655. package/pg-core/columns/varchar.cjs.map +1 -1
  1656. package/pg-core/columns/varchar.d.cts +12 -12
  1657. package/pg-core/columns/varchar.d.ts +12 -12
  1658. package/pg-core/columns/varchar.js +2 -0
  1659. package/pg-core/columns/varchar.js.map +1 -1
  1660. package/pg-core/columns/vector_extension/bit.cjs +4 -1
  1661. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  1662. package/pg-core/columns/vector_extension/bit.js +2 -0
  1663. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  1664. package/pg-core/columns/vector_extension/halfvec.cjs +6 -6
  1665. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  1666. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -2
  1667. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -2
  1668. package/pg-core/columns/vector_extension/halfvec.js +4 -5
  1669. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  1670. package/pg-core/columns/vector_extension/sparsevec.cjs +4 -1
  1671. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  1672. package/pg-core/columns/vector_extension/sparsevec.js +2 -0
  1673. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  1674. package/pg-core/columns/vector_extension/vector.cjs +6 -6
  1675. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  1676. package/pg-core/columns/vector_extension/vector.d.cts +1 -2
  1677. package/pg-core/columns/vector_extension/vector.d.ts +1 -2
  1678. package/pg-core/columns/vector_extension/vector.js +4 -5
  1679. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  1680. package/pg-core/dialect.cjs +129 -260
  1681. package/pg-core/dialect.cjs.map +1 -1
  1682. package/pg-core/dialect.d.cts +30 -35
  1683. package/pg-core/dialect.d.ts +31 -36
  1684. package/pg-core/dialect.js +130 -261
  1685. package/pg-core/dialect.js.map +1 -1
  1686. package/pg-core/effect/count.cjs +3 -2
  1687. package/pg-core/effect/count.cjs.map +1 -1
  1688. package/pg-core/effect/count.d.cts +8 -8
  1689. package/pg-core/effect/count.d.ts +8 -8
  1690. package/pg-core/effect/count.js +1 -1
  1691. package/pg-core/effect/count.js.map +1 -1
  1692. package/pg-core/effect/db.cjs +14 -22
  1693. package/pg-core/effect/db.cjs.map +1 -1
  1694. package/pg-core/effect/db.d.cts +34 -35
  1695. package/pg-core/effect/db.d.ts +34 -35
  1696. package/pg-core/effect/db.js +12 -21
  1697. package/pg-core/effect/db.js.map +1 -1
  1698. package/pg-core/effect/delete.cjs +14 -14
  1699. package/pg-core/effect/delete.cjs.map +1 -1
  1700. package/pg-core/effect/delete.d.cts +12 -11
  1701. package/pg-core/effect/delete.d.ts +12 -11
  1702. package/pg-core/effect/delete.js +12 -13
  1703. package/pg-core/effect/delete.js.map +1 -1
  1704. package/pg-core/effect/index.cjs +4 -3
  1705. package/pg-core/effect/index.js +3 -3
  1706. package/pg-core/effect/insert.cjs +14 -10
  1707. package/pg-core/effect/insert.cjs.map +1 -1
  1708. package/pg-core/effect/insert.d.cts +11 -10
  1709. package/pg-core/effect/insert.d.ts +11 -10
  1710. package/pg-core/effect/insert.js +11 -9
  1711. package/pg-core/effect/insert.js.map +1 -1
  1712. package/pg-core/effect/query.cjs +13 -12
  1713. package/pg-core/effect/query.cjs.map +1 -1
  1714. package/pg-core/effect/query.d.cts +12 -12
  1715. package/pg-core/effect/query.d.ts +12 -12
  1716. package/pg-core/effect/query.js +11 -11
  1717. package/pg-core/effect/query.js.map +1 -1
  1718. package/pg-core/effect/raw.cjs +2 -1
  1719. package/pg-core/effect/raw.cjs.map +1 -1
  1720. package/pg-core/effect/raw.d.cts +6 -7
  1721. package/pg-core/effect/raw.d.ts +6 -7
  1722. package/pg-core/effect/raw.js.map +1 -1
  1723. package/pg-core/effect/refresh-materialized-view.cjs +7 -10
  1724. package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
  1725. package/pg-core/effect/refresh-materialized-view.d.cts +7 -6
  1726. package/pg-core/effect/refresh-materialized-view.d.ts +7 -6
  1727. package/pg-core/effect/refresh-materialized-view.js +5 -9
  1728. package/pg-core/effect/refresh-materialized-view.js.map +1 -1
  1729. package/pg-core/effect/select.cjs +8 -7
  1730. package/pg-core/effect/select.cjs.map +1 -1
  1731. package/pg-core/effect/select.d.cts +12 -11
  1732. package/pg-core/effect/select.d.ts +12 -11
  1733. package/pg-core/effect/select.js +6 -6
  1734. package/pg-core/effect/select.js.map +1 -1
  1735. package/pg-core/effect/session.cjs +77 -49
  1736. package/pg-core/effect/session.cjs.map +1 -1
  1737. package/pg-core/effect/session.d.cts +34 -39
  1738. package/pg-core/effect/session.d.ts +33 -38
  1739. package/pg-core/effect/session.js +76 -51
  1740. package/pg-core/effect/session.js.map +1 -1
  1741. package/pg-core/effect/update.cjs +12 -9
  1742. package/pg-core/effect/update.cjs.map +1 -1
  1743. package/pg-core/effect/update.d.cts +12 -11
  1744. package/pg-core/effect/update.d.ts +12 -11
  1745. package/pg-core/effect/update.js +10 -8
  1746. package/pg-core/effect/update.js.map +1 -1
  1747. package/pg-core/expressions.cjs +2 -1
  1748. package/pg-core/expressions.cjs.map +1 -1
  1749. package/pg-core/expressions.js.map +1 -1
  1750. package/pg-core/foreign-keys.cjs +2 -1
  1751. package/pg-core/foreign-keys.cjs.map +1 -1
  1752. package/pg-core/foreign-keys.d.cts +0 -1
  1753. package/pg-core/foreign-keys.d.ts +0 -1
  1754. package/pg-core/foreign-keys.js.map +1 -1
  1755. package/pg-core/index.cjs +23 -16
  1756. package/pg-core/index.d.cts +8 -10
  1757. package/pg-core/index.d.ts +8 -10
  1758. package/pg-core/index.js +16 -15
  1759. package/pg-core/indexes.cjs +2 -1
  1760. package/pg-core/indexes.cjs.map +1 -1
  1761. package/pg-core/indexes.d.cts +0 -1
  1762. package/pg-core/indexes.d.ts +0 -1
  1763. package/pg-core/indexes.js.map +1 -1
  1764. package/pg-core/policies.cjs +2 -1
  1765. package/pg-core/policies.cjs.map +1 -1
  1766. package/pg-core/policies.js.map +1 -1
  1767. package/pg-core/primary-keys.cjs +2 -1
  1768. package/pg-core/primary-keys.cjs.map +1 -1
  1769. package/pg-core/primary-keys.d.cts +0 -1
  1770. package/pg-core/primary-keys.d.ts +0 -1
  1771. package/pg-core/primary-keys.js.map +1 -1
  1772. package/pg-core/query-builders/count.cjs +2 -1
  1773. package/pg-core/query-builders/count.cjs.map +1 -1
  1774. package/pg-core/query-builders/count.js.map +1 -1
  1775. package/pg-core/query-builders/delete.cjs +16 -3
  1776. package/pg-core/query-builders/delete.cjs.map +1 -1
  1777. package/pg-core/query-builders/delete.d.cts +8 -1
  1778. package/pg-core/query-builders/delete.d.ts +8 -1
  1779. package/pg-core/query-builders/delete.js +14 -2
  1780. package/pg-core/query-builders/delete.js.map +1 -1
  1781. package/pg-core/query-builders/index.cjs +2 -1
  1782. package/pg-core/query-builders/index.js +1 -1
  1783. package/pg-core/query-builders/insert.cjs +18 -5
  1784. package/pg-core/query-builders/insert.cjs.map +1 -1
  1785. package/pg-core/query-builders/insert.d.cts +9 -2
  1786. package/pg-core/query-builders/insert.d.ts +9 -2
  1787. package/pg-core/query-builders/insert.js +16 -4
  1788. package/pg-core/query-builders/insert.js.map +1 -1
  1789. package/pg-core/query-builders/query-builder.cjs +4 -2
  1790. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  1791. package/pg-core/query-builders/query-builder.d.cts +0 -1
  1792. package/pg-core/query-builders/query-builder.d.ts +0 -1
  1793. package/pg-core/query-builders/query-builder.js +2 -1
  1794. package/pg-core/query-builders/query-builder.js.map +1 -1
  1795. package/pg-core/query-builders/query.cjs +2 -2
  1796. package/pg-core/query-builders/query.cjs.map +1 -1
  1797. package/pg-core/query-builders/query.d.cts +12 -7
  1798. package/pg-core/query-builders/query.d.ts +12 -7
  1799. package/pg-core/query-builders/query.js +0 -1
  1800. package/pg-core/query-builders/query.js.map +1 -1
  1801. package/pg-core/query-builders/raw.cjs +2 -5
  1802. package/pg-core/query-builders/raw.cjs.map +1 -1
  1803. package/pg-core/query-builders/raw.js +0 -4
  1804. package/pg-core/query-builders/raw.js.map +1 -1
  1805. package/pg-core/query-builders/refresh-materialized-view.cjs +2 -1
  1806. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  1807. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  1808. package/pg-core/query-builders/select.cjs +19 -3
  1809. package/pg-core/query-builders/select.cjs.map +1 -1
  1810. package/pg-core/query-builders/select.d.cts +7 -1
  1811. package/pg-core/query-builders/select.d.ts +8 -2
  1812. package/pg-core/query-builders/select.js +18 -3
  1813. package/pg-core/query-builders/select.js.map +1 -1
  1814. package/pg-core/query-builders/select.types.d.cts +3 -0
  1815. package/pg-core/query-builders/select.types.d.ts +4 -1
  1816. package/pg-core/query-builders/update.cjs +18 -6
  1817. package/pg-core/query-builders/update.cjs.map +1 -1
  1818. package/pg-core/query-builders/update.d.cts +10 -3
  1819. package/pg-core/query-builders/update.d.ts +11 -4
  1820. package/pg-core/query-builders/update.js +17 -6
  1821. package/pg-core/query-builders/update.js.map +1 -1
  1822. package/pg-core/roles.cjs +2 -1
  1823. package/pg-core/roles.cjs.map +1 -1
  1824. package/pg-core/roles.js.map +1 -1
  1825. package/pg-core/schema.cjs +12 -9
  1826. package/pg-core/schema.cjs.map +1 -1
  1827. package/pg-core/schema.d.cts +3 -1
  1828. package/pg-core/schema.d.ts +3 -1
  1829. package/pg-core/schema.js +10 -8
  1830. package/pg-core/schema.js.map +1 -1
  1831. package/pg-core/sequence.cjs +2 -1
  1832. package/pg-core/sequence.cjs.map +1 -1
  1833. package/pg-core/sequence.js.map +1 -1
  1834. package/pg-core/session.cjs +5 -6
  1835. package/pg-core/session.cjs.map +1 -1
  1836. package/pg-core/session.d.cts +4 -7
  1837. package/pg-core/session.d.ts +4 -7
  1838. package/pg-core/session.js +3 -5
  1839. package/pg-core/session.js.map +1 -1
  1840. package/pg-core/table.cjs +29 -21
  1841. package/pg-core/table.cjs.map +1 -1
  1842. package/pg-core/table.d.cts +6 -8
  1843. package/pg-core/table.d.ts +6 -8
  1844. package/pg-core/table.js +27 -21
  1845. package/pg-core/table.js.map +1 -1
  1846. package/pg-core/unique-constraint.cjs +2 -1
  1847. package/pg-core/unique-constraint.cjs.map +1 -1
  1848. package/pg-core/unique-constraint.d.cts +0 -1
  1849. package/pg-core/unique-constraint.d.ts +0 -1
  1850. package/pg-core/unique-constraint.js.map +1 -1
  1851. package/pg-core/utils.cjs +4 -3
  1852. package/pg-core/utils.cjs.map +1 -1
  1853. package/pg-core/utils.d.cts +10 -5
  1854. package/pg-core/utils.d.ts +10 -5
  1855. package/pg-core/utils.js +2 -2
  1856. package/pg-core/utils.js.map +1 -1
  1857. package/pg-core/view-base.cjs +2 -1
  1858. package/pg-core/view-base.cjs.map +1 -1
  1859. package/pg-core/view-common.cjs +1 -0
  1860. package/pg-core/view-common.cjs.map +1 -1
  1861. package/pg-core/view.cjs +22 -15
  1862. package/pg-core/view.cjs.map +1 -1
  1863. package/pg-core/view.d.cts +14 -7
  1864. package/pg-core/view.d.ts +14 -7
  1865. package/pg-core/view.js +20 -16
  1866. package/pg-core/view.js.map +1 -1
  1867. package/pg-proxy/driver.cjs +10 -15
  1868. package/pg-proxy/driver.cjs.map +1 -1
  1869. package/pg-proxy/driver.d.cts +6 -3
  1870. package/pg-proxy/driver.d.ts +6 -3
  1871. package/pg-proxy/driver.js +8 -13
  1872. package/pg-proxy/driver.js.map +1 -1
  1873. package/pg-proxy/index.cjs +1 -2
  1874. package/pg-proxy/index.d.cts +2 -2
  1875. package/pg-proxy/index.d.ts +2 -2
  1876. package/pg-proxy/index.js +2 -2
  1877. package/pg-proxy/migrator.cjs +22 -12
  1878. package/pg-proxy/migrator.cjs.map +1 -1
  1879. package/pg-proxy/migrator.d.cts +1 -1
  1880. package/pg-proxy/migrator.d.ts +1 -1
  1881. package/pg-proxy/migrator.js +20 -11
  1882. package/pg-proxy/migrator.js.map +1 -1
  1883. package/pg-proxy/session.cjs +10 -91
  1884. package/pg-proxy/session.cjs.map +1 -1
  1885. package/pg-proxy/session.d.cts +9 -35
  1886. package/pg-proxy/session.d.ts +8 -34
  1887. package/pg-proxy/session.js +10 -90
  1888. package/pg-proxy/session.js.map +1 -1
  1889. package/pglite/codecs.cjs +92 -0
  1890. package/pglite/codecs.cjs.map +1 -0
  1891. package/pglite/codecs.d.cts +9 -0
  1892. package/pglite/codecs.d.ts +9 -0
  1893. package/pglite/codecs.js +90 -0
  1894. package/pglite/codecs.js.map +1 -0
  1895. package/pglite/driver.cjs +14 -34
  1896. package/pglite/driver.cjs.map +1 -1
  1897. package/pglite/driver.d.cts +7 -23
  1898. package/pglite/driver.d.ts +8 -24
  1899. package/pglite/driver.js +13 -32
  1900. package/pglite/driver.js.map +1 -1
  1901. package/pglite/index.cjs +4 -3
  1902. package/pglite/index.d.cts +4 -3
  1903. package/pglite/index.d.ts +4 -3
  1904. package/pglite/index.js +4 -3
  1905. package/pglite/migrator.cjs +3 -2
  1906. package/pglite/migrator.cjs.map +1 -1
  1907. package/pglite/migrator.d.cts +2 -2
  1908. package/pglite/migrator.d.ts +2 -2
  1909. package/pglite/migrator.js +1 -1
  1910. package/pglite/migrator.js.map +1 -1
  1911. package/pglite/session.cjs +27 -92
  1912. package/pglite/session.cjs.map +1 -1
  1913. package/pglite/session.d.cts +9 -33
  1914. package/pglite/session.d.ts +9 -33
  1915. package/pglite/session.js +27 -92
  1916. package/pglite/session.js.map +1 -1
  1917. package/planetscale-serverless/driver.cjs +9 -6
  1918. package/planetscale-serverless/driver.cjs.map +1 -1
  1919. package/planetscale-serverless/driver.d.cts +1 -0
  1920. package/planetscale-serverless/driver.d.ts +2 -1
  1921. package/planetscale-serverless/driver.js +6 -4
  1922. package/planetscale-serverless/driver.js.map +1 -1
  1923. package/planetscale-serverless/index.cjs +1 -0
  1924. package/planetscale-serverless/migrator.cjs +2 -1
  1925. package/planetscale-serverless/migrator.cjs.map +1 -1
  1926. package/planetscale-serverless/migrator.d.cts +2 -2
  1927. package/planetscale-serverless/session.cjs +15 -9
  1928. package/planetscale-serverless/session.cjs.map +1 -1
  1929. package/planetscale-serverless/session.d.cts +7 -3
  1930. package/planetscale-serverless/session.d.ts +9 -5
  1931. package/planetscale-serverless/session.js +14 -9
  1932. package/planetscale-serverless/session.js.map +1 -1
  1933. package/postgres-js/codecs.cjs +147 -0
  1934. package/postgres-js/codecs.cjs.map +1 -0
  1935. package/postgres-js/codecs.d.cts +9 -0
  1936. package/postgres-js/codecs.d.ts +9 -0
  1937. package/postgres-js/codecs.js +145 -0
  1938. package/postgres-js/codecs.js.map +1 -0
  1939. package/postgres-js/driver.cjs +15 -20
  1940. package/postgres-js/driver.cjs.map +1 -1
  1941. package/postgres-js/driver.d.cts +5 -5
  1942. package/postgres-js/driver.d.ts +5 -5
  1943. package/postgres-js/driver.js +12 -17
  1944. package/postgres-js/driver.js.map +1 -1
  1945. package/postgres-js/index.cjs +4 -2
  1946. package/postgres-js/index.d.cts +3 -2
  1947. package/postgres-js/index.d.ts +3 -2
  1948. package/postgres-js/index.js +3 -2
  1949. package/postgres-js/migrator.cjs +3 -2
  1950. package/postgres-js/migrator.cjs.map +1 -1
  1951. package/postgres-js/migrator.d.cts +2 -2
  1952. package/postgres-js/migrator.d.ts +2 -2
  1953. package/postgres-js/migrator.js +1 -1
  1954. package/postgres-js/migrator.js.map +1 -1
  1955. package/postgres-js/session.cjs +18 -117
  1956. package/postgres-js/session.cjs.map +1 -1
  1957. package/postgres-js/session.d.cts +12 -34
  1958. package/postgres-js/session.d.ts +10 -32
  1959. package/postgres-js/session.js +17 -116
  1960. package/postgres-js/session.js.map +1 -1
  1961. package/primary-key.cjs +2 -1
  1962. package/primary-key.cjs.map +1 -1
  1963. package/primary-key.js.map +1 -1
  1964. package/query-builders/query-builder.cjs +6 -1
  1965. package/query-builders/query-builder.cjs.map +1 -1
  1966. package/query-builders/query-builder.js +4 -0
  1967. package/query-builders/query-builder.js.map +1 -1
  1968. package/query-builders/select.types.d.cts +2 -2
  1969. package/query-builders/select.types.d.ts +3 -3
  1970. package/query-name-generator.cjs +71 -0
  1971. package/query-name-generator.cjs.map +1 -0
  1972. package/query-name-generator.d.cts +5 -0
  1973. package/query-name-generator.d.ts +5 -0
  1974. package/query-name-generator.js +70 -0
  1975. package/query-name-generator.js.map +1 -0
  1976. package/query-promise.cjs +2 -1
  1977. package/query-promise.cjs.map +1 -1
  1978. package/relations.cjs +257 -36
  1979. package/relations.cjs.map +1 -1
  1980. package/relations.d.cts +78 -27
  1981. package/relations.d.ts +78 -27
  1982. package/relations.js +253 -36
  1983. package/relations.js.map +1 -1
  1984. package/selection-proxy.cjs +3 -1
  1985. package/selection-proxy.cjs.map +1 -1
  1986. package/selection-proxy.js +2 -1
  1987. package/selection-proxy.js.map +1 -1
  1988. package/singlestore/driver.cjs +8 -4
  1989. package/singlestore/driver.cjs.map +1 -1
  1990. package/singlestore/driver.d.cts +3 -2
  1991. package/singlestore/driver.d.ts +10 -9
  1992. package/singlestore/driver.js +6 -3
  1993. package/singlestore/driver.js.map +1 -1
  1994. package/singlestore/index.cjs +2 -1
  1995. package/singlestore/migrator.cjs +2 -1
  1996. package/singlestore/migrator.cjs.map +1 -1
  1997. package/singlestore/migrator.d.cts +2 -2
  1998. package/singlestore/migrator.d.ts +2 -2
  1999. package/singlestore/session.cjs +19 -8
  2000. package/singlestore/session.cjs.map +1 -1
  2001. package/singlestore/session.d.cts +8 -4
  2002. package/singlestore/session.d.ts +9 -5
  2003. package/singlestore/session.js +18 -8
  2004. package/singlestore/session.js.map +1 -1
  2005. package/singlestore-core/alias.cjs +4 -3
  2006. package/singlestore-core/alias.cjs.map +1 -1
  2007. package/singlestore-core/alias.d.cts +1 -2
  2008. package/singlestore-core/alias.d.ts +1 -2
  2009. package/singlestore-core/alias.js +2 -2
  2010. package/singlestore-core/alias.js.map +1 -1
  2011. package/singlestore-core/casing.cjs +22 -0
  2012. package/singlestore-core/casing.cjs.map +1 -0
  2013. package/singlestore-core/casing.d.cts +15 -0
  2014. package/singlestore-core/casing.d.ts +15 -0
  2015. package/singlestore-core/casing.js +20 -0
  2016. package/singlestore-core/casing.js.map +1 -0
  2017. package/singlestore-core/columns/all.cjs +1 -0
  2018. package/singlestore-core/columns/all.cjs.map +1 -1
  2019. package/singlestore-core/columns/bigint.cjs +6 -5
  2020. package/singlestore-core/columns/bigint.cjs.map +1 -1
  2021. package/singlestore-core/columns/bigint.d.cts +2 -2
  2022. package/singlestore-core/columns/bigint.d.ts +2 -2
  2023. package/singlestore-core/columns/bigint.js +4 -4
  2024. package/singlestore-core/columns/bigint.js.map +1 -1
  2025. package/singlestore-core/columns/binary.cjs +4 -3
  2026. package/singlestore-core/columns/binary.cjs.map +1 -1
  2027. package/singlestore-core/columns/binary.d.cts +1 -1
  2028. package/singlestore-core/columns/binary.d.ts +1 -1
  2029. package/singlestore-core/columns/binary.js +2 -2
  2030. package/singlestore-core/columns/binary.js.map +1 -1
  2031. package/singlestore-core/columns/boolean.cjs +4 -3
  2032. package/singlestore-core/columns/boolean.cjs.map +1 -1
  2033. package/singlestore-core/columns/boolean.d.cts +1 -1
  2034. package/singlestore-core/columns/boolean.d.ts +1 -1
  2035. package/singlestore-core/columns/boolean.js +2 -2
  2036. package/singlestore-core/columns/boolean.js.map +1 -1
  2037. package/singlestore-core/columns/char.cjs +2 -1
  2038. package/singlestore-core/columns/char.cjs.map +1 -1
  2039. package/singlestore-core/columns/common.cjs +2 -1
  2040. package/singlestore-core/columns/common.cjs.map +1 -1
  2041. package/singlestore-core/columns/common.d.cts +1 -1
  2042. package/singlestore-core/columns/common.d.ts +1 -1
  2043. package/singlestore-core/columns/common.js.map +1 -1
  2044. package/singlestore-core/columns/custom.cjs +6 -5
  2045. package/singlestore-core/columns/custom.cjs.map +1 -1
  2046. package/singlestore-core/columns/custom.d.cts +2 -2
  2047. package/singlestore-core/columns/custom.d.ts +2 -2
  2048. package/singlestore-core/columns/custom.js +4 -4
  2049. package/singlestore-core/columns/custom.js.map +1 -1
  2050. package/singlestore-core/columns/date.cjs +4 -3
  2051. package/singlestore-core/columns/date.cjs.map +1 -1
  2052. package/singlestore-core/columns/date.common.cjs +2 -1
  2053. package/singlestore-core/columns/date.common.cjs.map +1 -1
  2054. package/singlestore-core/columns/date.d.cts +1 -1
  2055. package/singlestore-core/columns/date.d.ts +1 -1
  2056. package/singlestore-core/columns/date.js +2 -2
  2057. package/singlestore-core/columns/date.js.map +1 -1
  2058. package/singlestore-core/columns/datetime.cjs +8 -7
  2059. package/singlestore-core/columns/datetime.cjs.map +1 -1
  2060. package/singlestore-core/columns/datetime.d.cts +3 -3
  2061. package/singlestore-core/columns/datetime.d.ts +3 -3
  2062. package/singlestore-core/columns/datetime.js +6 -6
  2063. package/singlestore-core/columns/datetime.js.map +1 -1
  2064. package/singlestore-core/columns/decimal.cjs +6 -5
  2065. package/singlestore-core/columns/decimal.cjs.map +1 -1
  2066. package/singlestore-core/columns/decimal.d.cts +2 -2
  2067. package/singlestore-core/columns/decimal.d.ts +2 -2
  2068. package/singlestore-core/columns/decimal.js +4 -4
  2069. package/singlestore-core/columns/decimal.js.map +1 -1
  2070. package/singlestore-core/columns/double.cjs +2 -1
  2071. package/singlestore-core/columns/double.cjs.map +1 -1
  2072. package/singlestore-core/columns/enum.cjs +2 -1
  2073. package/singlestore-core/columns/enum.cjs.map +1 -1
  2074. package/singlestore-core/columns/float.cjs +4 -3
  2075. package/singlestore-core/columns/float.cjs.map +1 -1
  2076. package/singlestore-core/columns/float.d.cts +1 -1
  2077. package/singlestore-core/columns/float.d.ts +1 -1
  2078. package/singlestore-core/columns/float.js +2 -2
  2079. package/singlestore-core/columns/float.js.map +1 -1
  2080. package/singlestore-core/columns/index.cjs +1 -0
  2081. package/singlestore-core/columns/int.cjs +4 -3
  2082. package/singlestore-core/columns/int.cjs.map +1 -1
  2083. package/singlestore-core/columns/int.d.cts +1 -1
  2084. package/singlestore-core/columns/int.d.ts +1 -1
  2085. package/singlestore-core/columns/int.js +2 -2
  2086. package/singlestore-core/columns/int.js.map +1 -1
  2087. package/singlestore-core/columns/json.cjs +4 -3
  2088. package/singlestore-core/columns/json.cjs.map +1 -1
  2089. package/singlestore-core/columns/json.d.cts +1 -1
  2090. package/singlestore-core/columns/json.d.ts +1 -1
  2091. package/singlestore-core/columns/json.js +2 -2
  2092. package/singlestore-core/columns/json.js.map +1 -1
  2093. package/singlestore-core/columns/mediumint.cjs +4 -3
  2094. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  2095. package/singlestore-core/columns/mediumint.d.cts +1 -1
  2096. package/singlestore-core/columns/mediumint.d.ts +1 -1
  2097. package/singlestore-core/columns/mediumint.js +2 -2
  2098. package/singlestore-core/columns/mediumint.js.map +1 -1
  2099. package/singlestore-core/columns/real.cjs +2 -1
  2100. package/singlestore-core/columns/real.cjs.map +1 -1
  2101. package/singlestore-core/columns/serial.cjs +4 -3
  2102. package/singlestore-core/columns/serial.cjs.map +1 -1
  2103. package/singlestore-core/columns/serial.d.cts +1 -1
  2104. package/singlestore-core/columns/serial.d.ts +1 -1
  2105. package/singlestore-core/columns/serial.js +2 -2
  2106. package/singlestore-core/columns/serial.js.map +1 -1
  2107. package/singlestore-core/columns/smallint.cjs +4 -3
  2108. package/singlestore-core/columns/smallint.cjs.map +1 -1
  2109. package/singlestore-core/columns/smallint.d.cts +1 -1
  2110. package/singlestore-core/columns/smallint.d.ts +1 -1
  2111. package/singlestore-core/columns/smallint.js +2 -2
  2112. package/singlestore-core/columns/smallint.js.map +1 -1
  2113. package/singlestore-core/columns/text.cjs +2 -1
  2114. package/singlestore-core/columns/text.cjs.map +1 -1
  2115. package/singlestore-core/columns/time.cjs +2 -1
  2116. package/singlestore-core/columns/time.cjs.map +1 -1
  2117. package/singlestore-core/columns/timestamp.cjs +8 -7
  2118. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  2119. package/singlestore-core/columns/timestamp.d.cts +3 -3
  2120. package/singlestore-core/columns/timestamp.d.ts +3 -3
  2121. package/singlestore-core/columns/timestamp.js +6 -6
  2122. package/singlestore-core/columns/timestamp.js.map +1 -1
  2123. package/singlestore-core/columns/tinyint.cjs +4 -3
  2124. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  2125. package/singlestore-core/columns/tinyint.d.cts +1 -1
  2126. package/singlestore-core/columns/tinyint.d.ts +1 -1
  2127. package/singlestore-core/columns/tinyint.js +2 -2
  2128. package/singlestore-core/columns/tinyint.js.map +1 -1
  2129. package/singlestore-core/columns/varbinary.cjs +4 -3
  2130. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  2131. package/singlestore-core/columns/varbinary.d.cts +1 -1
  2132. package/singlestore-core/columns/varbinary.d.ts +1 -1
  2133. package/singlestore-core/columns/varbinary.js +2 -2
  2134. package/singlestore-core/columns/varbinary.js.map +1 -1
  2135. package/singlestore-core/columns/varchar.cjs +2 -1
  2136. package/singlestore-core/columns/varchar.cjs.map +1 -1
  2137. package/singlestore-core/columns/vector.cjs +10 -9
  2138. package/singlestore-core/columns/vector.cjs.map +1 -1
  2139. package/singlestore-core/columns/vector.d.cts +4 -4
  2140. package/singlestore-core/columns/vector.d.ts +4 -4
  2141. package/singlestore-core/columns/vector.js +8 -8
  2142. package/singlestore-core/columns/vector.js.map +1 -1
  2143. package/singlestore-core/columns/year.cjs +4 -3
  2144. package/singlestore-core/columns/year.cjs.map +1 -1
  2145. package/singlestore-core/columns/year.d.cts +1 -1
  2146. package/singlestore-core/columns/year.d.ts +1 -1
  2147. package/singlestore-core/columns/year.js +2 -2
  2148. package/singlestore-core/columns/year.js.map +1 -1
  2149. package/singlestore-core/db.cjs +2 -1
  2150. package/singlestore-core/db.cjs.map +1 -1
  2151. package/singlestore-core/db.d.cts +4 -4
  2152. package/singlestore-core/db.d.ts +5 -5
  2153. package/singlestore-core/db.js.map +1 -1
  2154. package/singlestore-core/dialect.cjs +82 -68
  2155. package/singlestore-core/dialect.cjs.map +1 -1
  2156. package/singlestore-core/dialect.d.cts +3 -5
  2157. package/singlestore-core/dialect.d.ts +4 -6
  2158. package/singlestore-core/dialect.js +79 -66
  2159. package/singlestore-core/dialect.js.map +1 -1
  2160. package/singlestore-core/expressions.cjs +2 -1
  2161. package/singlestore-core/expressions.cjs.map +1 -1
  2162. package/singlestore-core/expressions.d.cts +0 -1
  2163. package/singlestore-core/expressions.d.ts +0 -1
  2164. package/singlestore-core/expressions.js.map +1 -1
  2165. package/singlestore-core/index.cjs +9 -4
  2166. package/singlestore-core/index.d.cts +2 -3
  2167. package/singlestore-core/index.d.ts +2 -3
  2168. package/singlestore-core/index.js +7 -6
  2169. package/singlestore-core/indexes.cjs +2 -1
  2170. package/singlestore-core/indexes.cjs.map +1 -1
  2171. package/singlestore-core/indexes.d.cts +0 -1
  2172. package/singlestore-core/indexes.d.ts +0 -1
  2173. package/singlestore-core/indexes.js.map +1 -1
  2174. package/singlestore-core/primary-keys.cjs +2 -1
  2175. package/singlestore-core/primary-keys.cjs.map +1 -1
  2176. package/singlestore-core/primary-keys.d.cts +0 -1
  2177. package/singlestore-core/primary-keys.d.ts +0 -1
  2178. package/singlestore-core/primary-keys.js.map +1 -1
  2179. package/singlestore-core/query-builders/_query.cjs +3 -2
  2180. package/singlestore-core/query-builders/_query.cjs.map +1 -1
  2181. package/singlestore-core/query-builders/_query.js.map +1 -1
  2182. package/singlestore-core/query-builders/count.cjs +2 -1
  2183. package/singlestore-core/query-builders/count.cjs.map +1 -1
  2184. package/singlestore-core/query-builders/count.js.map +1 -1
  2185. package/singlestore-core/query-builders/delete.cjs +2 -1
  2186. package/singlestore-core/query-builders/delete.cjs.map +1 -1
  2187. package/singlestore-core/query-builders/delete.d.ts +1 -1
  2188. package/singlestore-core/query-builders/delete.js.map +1 -1
  2189. package/singlestore-core/query-builders/index.cjs +1 -0
  2190. package/singlestore-core/query-builders/insert.cjs +4 -3
  2191. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  2192. package/singlestore-core/query-builders/insert.d.cts +1 -1
  2193. package/singlestore-core/query-builders/insert.d.ts +2 -2
  2194. package/singlestore-core/query-builders/insert.js +2 -2
  2195. package/singlestore-core/query-builders/insert.js.map +1 -1
  2196. package/singlestore-core/query-builders/query-builder.cjs +3 -2
  2197. package/singlestore-core/query-builders/query-builder.cjs.map +1 -1
  2198. package/singlestore-core/query-builders/query-builder.js +1 -1
  2199. package/singlestore-core/query-builders/query.cjs +15 -6
  2200. package/singlestore-core/query-builders/query.cjs.map +1 -1
  2201. package/singlestore-core/query-builders/query.d.ts +1 -1
  2202. package/singlestore-core/query-builders/query.js +13 -5
  2203. package/singlestore-core/query-builders/query.js.map +1 -1
  2204. package/singlestore-core/query-builders/select.cjs +6 -1
  2205. package/singlestore-core/query-builders/select.cjs.map +1 -1
  2206. package/singlestore-core/query-builders/select.d.cts +1 -2
  2207. package/singlestore-core/query-builders/select.d.ts +3 -4
  2208. package/singlestore-core/query-builders/select.js +4 -0
  2209. package/singlestore-core/query-builders/select.js.map +1 -1
  2210. package/singlestore-core/query-builders/select.types.d.cts +1 -2
  2211. package/singlestore-core/query-builders/select.types.d.ts +1 -2
  2212. package/singlestore-core/query-builders/update.cjs +2 -1
  2213. package/singlestore-core/query-builders/update.cjs.map +1 -1
  2214. package/singlestore-core/query-builders/update.d.cts +1 -1
  2215. package/singlestore-core/query-builders/update.d.ts +3 -3
  2216. package/singlestore-core/query-builders/update.js.map +1 -1
  2217. package/singlestore-core/schema.cjs +8 -12
  2218. package/singlestore-core/schema.cjs.map +1 -1
  2219. package/singlestore-core/schema.d.cts +3 -1
  2220. package/singlestore-core/schema.d.ts +3 -1
  2221. package/singlestore-core/schema.js +6 -11
  2222. package/singlestore-core/schema.js.map +1 -1
  2223. package/singlestore-core/session.cjs +5 -4
  2224. package/singlestore-core/session.cjs.map +1 -1
  2225. package/singlestore-core/session.d.cts +2 -2
  2226. package/singlestore-core/session.d.ts +2 -2
  2227. package/singlestore-core/session.js +3 -3
  2228. package/singlestore-core/session.js.map +1 -1
  2229. package/singlestore-core/table.cjs +16 -10
  2230. package/singlestore-core/table.cjs.map +1 -1
  2231. package/singlestore-core/table.d.cts +4 -3
  2232. package/singlestore-core/table.d.ts +4 -3
  2233. package/singlestore-core/table.js +14 -10
  2234. package/singlestore-core/table.js.map +1 -1
  2235. package/singlestore-core/unique-constraint.cjs +2 -1
  2236. package/singlestore-core/unique-constraint.cjs.map +1 -1
  2237. package/singlestore-core/unique-constraint.d.cts +0 -1
  2238. package/singlestore-core/unique-constraint.d.ts +0 -1
  2239. package/singlestore-core/unique-constraint.js.map +1 -1
  2240. package/singlestore-core/utils.cjs +3 -2
  2241. package/singlestore-core/utils.cjs.map +1 -1
  2242. package/singlestore-core/utils.d.cts +0 -1
  2243. package/singlestore-core/utils.d.ts +0 -1
  2244. package/singlestore-core/utils.js +1 -1
  2245. package/singlestore-core/utils.js.map +1 -1
  2246. package/singlestore-core/view-base.cjs +2 -1
  2247. package/singlestore-core/view-base.cjs.map +1 -1
  2248. package/singlestore-core/view-common.cjs +1 -0
  2249. package/singlestore-core/view-common.cjs.map +1 -1
  2250. package/singlestore-core/view.cjs +3 -2
  2251. package/singlestore-core/view.cjs.map +1 -1
  2252. package/singlestore-core/view.js +1 -1
  2253. package/singlestore-core/view.js.map +1 -1
  2254. package/singlestore-proxy/driver.cjs +9 -4
  2255. package/singlestore-proxy/driver.cjs.map +1 -1
  2256. package/singlestore-proxy/driver.d.ts +1 -1
  2257. package/singlestore-proxy/driver.js +7 -3
  2258. package/singlestore-proxy/driver.js.map +1 -1
  2259. package/singlestore-proxy/index.cjs +1 -0
  2260. package/singlestore-proxy/migrator.cjs +26 -14
  2261. package/singlestore-proxy/migrator.cjs.map +1 -1
  2262. package/singlestore-proxy/migrator.d.cts +2 -6
  2263. package/singlestore-proxy/migrator.d.ts +2 -6
  2264. package/singlestore-proxy/migrator.js +24 -13
  2265. package/singlestore-proxy/migrator.js.map +1 -1
  2266. package/singlestore-proxy/session.cjs +13 -7
  2267. package/singlestore-proxy/session.cjs.map +1 -1
  2268. package/singlestore-proxy/session.d.cts +9 -4
  2269. package/singlestore-proxy/session.d.ts +10 -5
  2270. package/singlestore-proxy/session.js +12 -7
  2271. package/singlestore-proxy/session.js.map +1 -1
  2272. package/sql/expressions/conditions.cjs +12 -8
  2273. package/sql/expressions/conditions.cjs.map +1 -1
  2274. package/sql/expressions/conditions.js +10 -7
  2275. package/sql/expressions/conditions.js.map +1 -1
  2276. package/sql/expressions/index.cjs +1 -0
  2277. package/sql/expressions/select.cjs +1 -0
  2278. package/sql/expressions/select.cjs.map +1 -1
  2279. package/sql/expressions/select.d.cts +0 -1
  2280. package/sql/expressions/select.d.ts +0 -1
  2281. package/sql/functions/aggregate.cjs +2 -1
  2282. package/sql/functions/aggregate.cjs.map +1 -1
  2283. package/sql/functions/aggregate.d.cts +0 -1
  2284. package/sql/functions/aggregate.d.ts +0 -1
  2285. package/sql/functions/index.cjs +1 -0
  2286. package/sql/functions/vector.cjs +1 -0
  2287. package/sql/functions/vector.cjs.map +1 -1
  2288. package/sql/functions/vector.d.cts +0 -1
  2289. package/sql/functions/vector.d.ts +0 -1
  2290. package/sql/index.cjs +8 -0
  2291. package/sql/index.d.cts +2 -4
  2292. package/sql/index.d.ts +2 -4
  2293. package/sql/index.js +2 -2
  2294. package/sql/sql.cjs +133 -32
  2295. package/sql/sql.cjs.map +1 -1
  2296. package/sql/sql.d.cts +30 -9
  2297. package/sql/sql.d.ts +30 -9
  2298. package/sql/sql.js +125 -32
  2299. package/sql/sql.js.map +1 -1
  2300. package/sql-js/driver.cjs +10 -5
  2301. package/sql-js/driver.cjs.map +1 -1
  2302. package/sql-js/driver.d.ts +1 -1
  2303. package/sql-js/driver.js +7 -3
  2304. package/sql-js/driver.js.map +1 -1
  2305. package/sql-js/index.cjs +1 -0
  2306. package/sql-js/migrator.cjs +2 -1
  2307. package/sql-js/migrator.cjs.map +1 -1
  2308. package/sql-js/migrator.d.cts +2 -2
  2309. package/sql-js/migrator.d.ts +2 -2
  2310. package/sql-js/session.cjs +19 -18
  2311. package/sql-js/session.cjs.map +1 -1
  2312. package/sql-js/session.d.cts +15 -10
  2313. package/sql-js/session.d.ts +18 -13
  2314. package/sql-js/session.js +21 -21
  2315. package/sql-js/session.js.map +1 -1
  2316. package/sqlite-cloud/driver.cjs +8 -5
  2317. package/sqlite-cloud/driver.cjs.map +1 -1
  2318. package/sqlite-cloud/driver.d.ts +1 -1
  2319. package/sqlite-cloud/driver.js +5 -3
  2320. package/sqlite-cloud/driver.js.map +1 -1
  2321. package/sqlite-cloud/index.cjs +1 -0
  2322. package/sqlite-cloud/migrator.cjs +24 -13
  2323. package/sqlite-cloud/migrator.cjs.map +1 -1
  2324. package/sqlite-cloud/migrator.js +22 -12
  2325. package/sqlite-cloud/migrator.js.map +1 -1
  2326. package/sqlite-cloud/session.cjs +23 -21
  2327. package/sqlite-cloud/session.cjs.map +1 -1
  2328. package/sqlite-cloud/session.d.cts +14 -9
  2329. package/sqlite-cloud/session.d.ts +17 -12
  2330. package/sqlite-cloud/session.js +25 -24
  2331. package/sqlite-cloud/session.js.map +1 -1
  2332. package/sqlite-core/alias.cjs +4 -3
  2333. package/sqlite-core/alias.cjs.map +1 -1
  2334. package/sqlite-core/alias.js +2 -2
  2335. package/sqlite-core/alias.js.map +1 -1
  2336. package/sqlite-core/casing.cjs +18 -0
  2337. package/sqlite-core/casing.cjs.map +1 -0
  2338. package/sqlite-core/casing.d.cts +15 -0
  2339. package/sqlite-core/casing.d.ts +15 -0
  2340. package/sqlite-core/casing.js +16 -0
  2341. package/sqlite-core/casing.js.map +1 -0
  2342. package/sqlite-core/checks.cjs +2 -1
  2343. package/sqlite-core/checks.cjs.map +1 -1
  2344. package/sqlite-core/checks.js.map +1 -1
  2345. package/sqlite-core/columns/all.cjs +1 -0
  2346. package/sqlite-core/columns/all.cjs.map +1 -1
  2347. package/sqlite-core/columns/blob.cjs +12 -11
  2348. package/sqlite-core/columns/blob.cjs.map +1 -1
  2349. package/sqlite-core/columns/blob.d.cts +5 -5
  2350. package/sqlite-core/columns/blob.d.ts +5 -5
  2351. package/sqlite-core/columns/blob.js +10 -10
  2352. package/sqlite-core/columns/blob.js.map +1 -1
  2353. package/sqlite-core/columns/common.cjs +6 -5
  2354. package/sqlite-core/columns/common.cjs.map +1 -1
  2355. package/sqlite-core/columns/common.d.cts +1 -1
  2356. package/sqlite-core/columns/common.d.ts +1 -1
  2357. package/sqlite-core/columns/common.js +4 -4
  2358. package/sqlite-core/columns/common.js.map +1 -1
  2359. package/sqlite-core/columns/custom.cjs +6 -5
  2360. package/sqlite-core/columns/custom.cjs.map +1 -1
  2361. package/sqlite-core/columns/custom.d.cts +2 -2
  2362. package/sqlite-core/columns/custom.d.ts +2 -2
  2363. package/sqlite-core/columns/custom.js +4 -4
  2364. package/sqlite-core/columns/custom.js.map +1 -1
  2365. package/sqlite-core/columns/index.cjs +1 -0
  2366. package/sqlite-core/columns/integer.cjs +10 -9
  2367. package/sqlite-core/columns/integer.cjs.map +1 -1
  2368. package/sqlite-core/columns/integer.d.cts +4 -4
  2369. package/sqlite-core/columns/integer.d.ts +4 -4
  2370. package/sqlite-core/columns/integer.js +8 -8
  2371. package/sqlite-core/columns/integer.js.map +1 -1
  2372. package/sqlite-core/columns/numeric.cjs +6 -5
  2373. package/sqlite-core/columns/numeric.cjs.map +1 -1
  2374. package/sqlite-core/columns/numeric.d.cts +2 -2
  2375. package/sqlite-core/columns/numeric.d.ts +2 -2
  2376. package/sqlite-core/columns/numeric.js +4 -4
  2377. package/sqlite-core/columns/numeric.js.map +1 -1
  2378. package/sqlite-core/columns/real.cjs +2 -1
  2379. package/sqlite-core/columns/real.cjs.map +1 -1
  2380. package/sqlite-core/columns/text.cjs +6 -5
  2381. package/sqlite-core/columns/text.cjs.map +1 -1
  2382. package/sqlite-core/columns/text.d.cts +2 -2
  2383. package/sqlite-core/columns/text.d.ts +2 -2
  2384. package/sqlite-core/columns/text.js +4 -4
  2385. package/sqlite-core/columns/text.js.map +1 -1
  2386. package/sqlite-core/db.cjs +2 -1
  2387. package/sqlite-core/db.cjs.map +1 -1
  2388. package/sqlite-core/db.d.cts +4 -2
  2389. package/sqlite-core/db.d.ts +4 -2
  2390. package/sqlite-core/db.js.map +1 -1
  2391. package/sqlite-core/dialect.cjs +90 -69
  2392. package/sqlite-core/dialect.cjs.map +1 -1
  2393. package/sqlite-core/dialect.d.cts +6 -7
  2394. package/sqlite-core/dialect.d.ts +8 -9
  2395. package/sqlite-core/dialect.js +88 -68
  2396. package/sqlite-core/dialect.js.map +1 -1
  2397. package/sqlite-core/expressions.cjs +2 -1
  2398. package/sqlite-core/expressions.cjs.map +1 -1
  2399. package/sqlite-core/expressions.js.map +1 -1
  2400. package/sqlite-core/foreign-keys.cjs +2 -1
  2401. package/sqlite-core/foreign-keys.cjs.map +1 -1
  2402. package/sqlite-core/foreign-keys.d.cts +0 -1
  2403. package/sqlite-core/foreign-keys.d.ts +0 -1
  2404. package/sqlite-core/foreign-keys.js.map +1 -1
  2405. package/sqlite-core/index.cjs +13 -6
  2406. package/sqlite-core/index.d.cts +3 -4
  2407. package/sqlite-core/index.d.ts +3 -4
  2408. package/sqlite-core/index.js +10 -9
  2409. package/sqlite-core/indexes.cjs +2 -1
  2410. package/sqlite-core/indexes.cjs.map +1 -1
  2411. package/sqlite-core/indexes.d.cts +0 -1
  2412. package/sqlite-core/indexes.d.ts +0 -1
  2413. package/sqlite-core/indexes.js.map +1 -1
  2414. package/sqlite-core/primary-keys.cjs +2 -1
  2415. package/sqlite-core/primary-keys.cjs.map +1 -1
  2416. package/sqlite-core/primary-keys.d.cts +0 -1
  2417. package/sqlite-core/primary-keys.d.ts +0 -1
  2418. package/sqlite-core/primary-keys.js.map +1 -1
  2419. package/sqlite-core/query-builders/_query.cjs +4 -3
  2420. package/sqlite-core/query-builders/_query.cjs.map +1 -1
  2421. package/sqlite-core/query-builders/_query.d.cts +1 -0
  2422. package/sqlite-core/query-builders/_query.d.ts +1 -0
  2423. package/sqlite-core/query-builders/_query.js +1 -1
  2424. package/sqlite-core/query-builders/_query.js.map +1 -1
  2425. package/sqlite-core/query-builders/count.cjs +2 -1
  2426. package/sqlite-core/query-builders/count.cjs.map +1 -1
  2427. package/sqlite-core/query-builders/count.js.map +1 -1
  2428. package/sqlite-core/query-builders/delete.cjs +3 -2
  2429. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  2430. package/sqlite-core/query-builders/delete.js +1 -1
  2431. package/sqlite-core/query-builders/delete.js.map +1 -1
  2432. package/sqlite-core/query-builders/index.cjs +1 -0
  2433. package/sqlite-core/query-builders/insert.cjs +3 -2
  2434. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  2435. package/sqlite-core/query-builders/insert.d.cts +2 -3
  2436. package/sqlite-core/query-builders/insert.d.ts +2 -3
  2437. package/sqlite-core/query-builders/insert.js +1 -1
  2438. package/sqlite-core/query-builders/insert.js.map +1 -1
  2439. package/sqlite-core/query-builders/query-builder.cjs +2 -1
  2440. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  2441. package/sqlite-core/query-builders/query.cjs +15 -6
  2442. package/sqlite-core/query-builders/query.cjs.map +1 -1
  2443. package/sqlite-core/query-builders/query.d.ts +1 -1
  2444. package/sqlite-core/query-builders/query.js +13 -5
  2445. package/sqlite-core/query-builders/query.js.map +1 -1
  2446. package/sqlite-core/query-builders/raw.cjs +2 -5
  2447. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  2448. package/sqlite-core/query-builders/raw.d.cts +4 -2
  2449. package/sqlite-core/query-builders/raw.d.ts +4 -2
  2450. package/sqlite-core/query-builders/raw.js +0 -4
  2451. package/sqlite-core/query-builders/raw.js.map +1 -1
  2452. package/sqlite-core/query-builders/select.cjs +7 -2
  2453. package/sqlite-core/query-builders/select.cjs.map +1 -1
  2454. package/sqlite-core/query-builders/select.d.cts +2 -2
  2455. package/sqlite-core/query-builders/select.d.ts +2 -2
  2456. package/sqlite-core/query-builders/select.js +5 -1
  2457. package/sqlite-core/query-builders/select.js.map +1 -1
  2458. package/sqlite-core/query-builders/update.cjs +3 -2
  2459. package/sqlite-core/query-builders/update.cjs.map +1 -1
  2460. package/sqlite-core/query-builders/update.d.cts +1 -1
  2461. package/sqlite-core/query-builders/update.d.ts +2 -2
  2462. package/sqlite-core/query-builders/update.js +1 -1
  2463. package/sqlite-core/query-builders/update.js.map +1 -1
  2464. package/sqlite-core/session.cjs +11 -10
  2465. package/sqlite-core/session.cjs.map +1 -1
  2466. package/sqlite-core/session.d.cts +6 -5
  2467. package/sqlite-core/session.d.ts +6 -5
  2468. package/sqlite-core/session.js +9 -9
  2469. package/sqlite-core/session.js.map +1 -1
  2470. package/sqlite-core/table.cjs +19 -11
  2471. package/sqlite-core/table.cjs.map +1 -1
  2472. package/sqlite-core/table.d.cts +3 -2
  2473. package/sqlite-core/table.d.ts +3 -2
  2474. package/sqlite-core/table.js +16 -11
  2475. package/sqlite-core/table.js.map +1 -1
  2476. package/sqlite-core/unique-constraint.cjs +2 -1
  2477. package/sqlite-core/unique-constraint.cjs.map +1 -1
  2478. package/sqlite-core/unique-constraint.js.map +1 -1
  2479. package/sqlite-core/utils.cjs +6 -5
  2480. package/sqlite-core/utils.cjs.map +1 -1
  2481. package/sqlite-core/utils.d.cts +0 -1
  2482. package/sqlite-core/utils.d.ts +0 -1
  2483. package/sqlite-core/utils.js +4 -4
  2484. package/sqlite-core/utils.js.map +1 -1
  2485. package/sqlite-core/view-base.cjs +2 -1
  2486. package/sqlite-core/view-base.cjs.map +1 -1
  2487. package/sqlite-core/view-common.cjs +1 -0
  2488. package/sqlite-core/view-common.cjs.map +1 -1
  2489. package/sqlite-core/view.cjs +12 -6
  2490. package/sqlite-core/view.cjs.map +1 -1
  2491. package/sqlite-core/view.d.cts +9 -5
  2492. package/sqlite-core/view.d.ts +9 -5
  2493. package/sqlite-core/view.js +11 -7
  2494. package/sqlite-core/view.js.map +1 -1
  2495. package/sqlite-proxy/driver.cjs +8 -5
  2496. package/sqlite-proxy/driver.cjs.map +1 -1
  2497. package/sqlite-proxy/driver.d.ts +1 -1
  2498. package/sqlite-proxy/driver.js +5 -3
  2499. package/sqlite-proxy/driver.js.map +1 -1
  2500. package/sqlite-proxy/index.cjs +1 -0
  2501. package/sqlite-proxy/migrator.cjs +26 -11
  2502. package/sqlite-proxy/migrator.cjs.map +1 -1
  2503. package/sqlite-proxy/migrator.js +24 -10
  2504. package/sqlite-proxy/migrator.js.map +1 -1
  2505. package/sqlite-proxy/session.cjs +21 -17
  2506. package/sqlite-proxy/session.cjs.map +1 -1
  2507. package/sqlite-proxy/session.d.cts +13 -7
  2508. package/sqlite-proxy/session.d.ts +19 -13
  2509. package/sqlite-proxy/session.js +23 -20
  2510. package/sqlite-proxy/session.js.map +1 -1
  2511. package/subquery.cjs +1 -0
  2512. package/subquery.cjs.map +1 -1
  2513. package/supabase/index.cjs +1 -0
  2514. package/supabase/rls.cjs +2 -1
  2515. package/supabase/rls.cjs.map +1 -1
  2516. package/supabase/rls.d.cts +6 -17
  2517. package/supabase/rls.d.ts +3 -14
  2518. package/table.cjs +1 -0
  2519. package/table.cjs.map +1 -1
  2520. package/table.d.cts +1 -1
  2521. package/table.d.ts +1 -1
  2522. package/table.utils.cjs +1 -0
  2523. package/table.utils.cjs.map +1 -1
  2524. package/tidb-serverless/driver.cjs +8 -5
  2525. package/tidb-serverless/driver.cjs.map +1 -1
  2526. package/tidb-serverless/driver.d.cts +1 -0
  2527. package/tidb-serverless/driver.d.ts +2 -1
  2528. package/tidb-serverless/driver.js +5 -3
  2529. package/tidb-serverless/driver.js.map +1 -1
  2530. package/tidb-serverless/index.cjs +1 -0
  2531. package/tidb-serverless/migrator.cjs +2 -1
  2532. package/tidb-serverless/migrator.cjs.map +1 -1
  2533. package/tidb-serverless/migrator.d.cts +2 -2
  2534. package/tidb-serverless/migrator.d.ts +2 -2
  2535. package/tidb-serverless/session.cjs +16 -29
  2536. package/tidb-serverless/session.cjs.map +1 -1
  2537. package/tidb-serverless/session.d.cts +7 -3
  2538. package/tidb-serverless/session.d.ts +8 -4
  2539. package/tidb-serverless/session.js +15 -29
  2540. package/tidb-serverless/session.js.map +1 -1
  2541. package/tracing-utils.cjs +1 -0
  2542. package/tracing-utils.cjs.map +1 -1
  2543. package/tracing.cjs +3 -0
  2544. package/tracing.cjs.map +1 -1
  2545. package/tracing.d.cts +5 -1
  2546. package/tracing.d.ts +5 -1
  2547. package/tracing.js +2 -1
  2548. package/tracing.js.map +1 -1
  2549. package/tursodatabase/database.cjs +2 -1
  2550. package/tursodatabase/database.cjs.map +1 -1
  2551. package/tursodatabase/database.d.ts +1 -1
  2552. package/tursodatabase/driver-core.cjs +8 -5
  2553. package/tursodatabase/driver-core.cjs.map +1 -1
  2554. package/tursodatabase/driver-core.d.ts +1 -1
  2555. package/tursodatabase/driver-core.js +5 -3
  2556. package/tursodatabase/driver-core.js.map +1 -1
  2557. package/tursodatabase/index.cjs +1 -0
  2558. package/tursodatabase/migrator.cjs +3 -2
  2559. package/tursodatabase/migrator.cjs.map +1 -1
  2560. package/tursodatabase/migrator.d.cts +2 -2
  2561. package/tursodatabase/migrator.d.ts +2 -2
  2562. package/tursodatabase/migrator.js +1 -1
  2563. package/tursodatabase/migrator.js.map +1 -1
  2564. package/tursodatabase/session.cjs +22 -20
  2565. package/tursodatabase/session.cjs.map +1 -1
  2566. package/tursodatabase/session.d.cts +14 -9
  2567. package/tursodatabase/session.d.ts +17 -12
  2568. package/tursodatabase/session.js +24 -23
  2569. package/tursodatabase/session.js.map +1 -1
  2570. package/tursodatabase/wasm.cjs +2 -1
  2571. package/tursodatabase/wasm.cjs.map +1 -1
  2572. package/tursodatabase/wasm.d.ts +1 -1
  2573. package/typebox/column.cjs +334 -0
  2574. package/typebox/column.cjs.map +1 -0
  2575. package/typebox/column.d.cts +34 -0
  2576. package/typebox/column.d.ts +34 -0
  2577. package/typebox/column.js +324 -0
  2578. package/typebox/column.js.map +1 -0
  2579. package/typebox/column.types.cjs +0 -0
  2580. package/typebox/column.types.d.cts +35 -0
  2581. package/typebox/column.types.d.ts +35 -0
  2582. package/typebox/column.types.js +1 -0
  2583. package/typebox/index.cjs +16 -0
  2584. package/typebox/index.d.cts +6 -0
  2585. package/typebox/index.d.ts +6 -0
  2586. package/typebox/index.js +4 -0
  2587. package/typebox/schema.cjs +90 -0
  2588. package/typebox/schema.cjs.map +1 -0
  2589. package/typebox/schema.d.cts +19 -0
  2590. package/typebox/schema.d.ts +19 -0
  2591. package/typebox/schema.js +83 -0
  2592. package/typebox/schema.js.map +1 -0
  2593. package/typebox/schema.types.cjs +0 -0
  2594. package/typebox/schema.types.d.cts +29 -0
  2595. package/typebox/schema.types.d.ts +29 -0
  2596. package/typebox/schema.types.internal.cjs +0 -0
  2597. package/typebox/schema.types.internal.d.cts +24 -0
  2598. package/typebox/schema.types.internal.d.ts +24 -0
  2599. package/typebox/schema.types.internal.js +1 -0
  2600. package/typebox/schema.types.js +1 -0
  2601. package/typebox-legacy/column.cjs +306 -0
  2602. package/typebox-legacy/column.cjs.map +1 -0
  2603. package/typebox-legacy/column.d.cts +18 -0
  2604. package/typebox-legacy/column.d.ts +18 -0
  2605. package/typebox-legacy/column.js +298 -0
  2606. package/typebox-legacy/column.js.map +1 -0
  2607. package/typebox-legacy/column.types.cjs +0 -0
  2608. package/typebox-legacy/column.types.d.cts +47 -0
  2609. package/typebox-legacy/column.types.d.ts +47 -0
  2610. package/typebox-legacy/column.types.js +1 -0
  2611. package/typebox-legacy/index.cjs +15 -0
  2612. package/typebox-legacy/index.d.cts +6 -0
  2613. package/typebox-legacy/index.d.ts +6 -0
  2614. package/typebox-legacy/index.js +4 -0
  2615. package/typebox-legacy/schema.cjs +90 -0
  2616. package/typebox-legacy/schema.cjs.map +1 -0
  2617. package/typebox-legacy/schema.d.cts +22 -0
  2618. package/typebox-legacy/schema.d.ts +22 -0
  2619. package/typebox-legacy/schema.js +83 -0
  2620. package/typebox-legacy/schema.js.map +1 -0
  2621. package/typebox-legacy/schema.types.cjs +0 -0
  2622. package/typebox-legacy/schema.types.d.cts +30 -0
  2623. package/typebox-legacy/schema.types.d.ts +30 -0
  2624. package/typebox-legacy/schema.types.internal.cjs +0 -0
  2625. package/typebox-legacy/schema.types.internal.d.cts +24 -0
  2626. package/typebox-legacy/schema.types.internal.d.ts +24 -0
  2627. package/typebox-legacy/schema.types.internal.js +1 -0
  2628. package/typebox-legacy/schema.types.js +1 -0
  2629. package/up-migrations/cockroach.cjs +81 -0
  2630. package/up-migrations/cockroach.cjs.map +1 -0
  2631. package/up-migrations/cockroach.d.cts +15 -0
  2632. package/up-migrations/cockroach.d.ts +15 -0
  2633. package/up-migrations/cockroach.js +79 -0
  2634. package/up-migrations/cockroach.js.map +1 -0
  2635. package/up-migrations/effect-pg.cjs +84 -0
  2636. package/up-migrations/effect-pg.cjs.map +1 -0
  2637. package/up-migrations/effect-pg.d.cts +17 -0
  2638. package/up-migrations/effect-pg.d.ts +17 -0
  2639. package/up-migrations/effect-pg.js +82 -0
  2640. package/up-migrations/effect-pg.js.map +1 -0
  2641. package/up-migrations/mssql.cjs +71 -0
  2642. package/up-migrations/mssql.cjs.map +1 -0
  2643. package/up-migrations/mssql.d.cts +15 -0
  2644. package/up-migrations/mssql.d.ts +15 -0
  2645. package/up-migrations/mssql.js +69 -0
  2646. package/up-migrations/mssql.js.map +1 -0
  2647. package/up-migrations/mysql-proxy.cjs +73 -0
  2648. package/up-migrations/mysql-proxy.cjs.map +1 -0
  2649. package/up-migrations/mysql-proxy.d.cts +16 -0
  2650. package/up-migrations/mysql-proxy.d.ts +16 -0
  2651. package/up-migrations/mysql-proxy.js +71 -0
  2652. package/up-migrations/mysql-proxy.js.map +1 -0
  2653. package/up-migrations/mysql.cjs +69 -0
  2654. package/up-migrations/mysql.cjs.map +1 -0
  2655. package/up-migrations/mysql.d.cts +15 -0
  2656. package/up-migrations/mysql.d.ts +15 -0
  2657. package/up-migrations/mysql.js +67 -0
  2658. package/up-migrations/mysql.js.map +1 -0
  2659. package/up-migrations/pg-proxy.cjs +79 -0
  2660. package/up-migrations/pg-proxy.cjs.map +1 -0
  2661. package/up-migrations/pg-proxy.d.cts +16 -0
  2662. package/up-migrations/pg-proxy.d.ts +16 -0
  2663. package/up-migrations/pg-proxy.js +77 -0
  2664. package/up-migrations/pg-proxy.js.map +1 -0
  2665. package/up-migrations/pg.cjs +87 -0
  2666. package/up-migrations/pg.cjs.map +1 -0
  2667. package/up-migrations/pg.d.cts +16 -0
  2668. package/up-migrations/pg.d.ts +16 -0
  2669. package/up-migrations/pg.js +85 -0
  2670. package/up-migrations/pg.js.map +1 -0
  2671. package/up-migrations/singlestore-proxy.cjs +73 -0
  2672. package/up-migrations/singlestore-proxy.cjs.map +1 -0
  2673. package/up-migrations/singlestore-proxy.d.cts +16 -0
  2674. package/up-migrations/singlestore-proxy.d.ts +16 -0
  2675. package/up-migrations/singlestore-proxy.js +71 -0
  2676. package/up-migrations/singlestore-proxy.js.map +1 -0
  2677. package/up-migrations/singlestore.cjs +69 -0
  2678. package/up-migrations/singlestore.cjs.map +1 -0
  2679. package/up-migrations/singlestore.d.cts +15 -0
  2680. package/up-migrations/singlestore.d.ts +15 -0
  2681. package/up-migrations/singlestore.js +67 -0
  2682. package/up-migrations/singlestore.js.map +1 -0
  2683. package/up-migrations/sqlite-proxy.cjs +80 -0
  2684. package/up-migrations/sqlite-proxy.cjs.map +1 -0
  2685. package/up-migrations/sqlite-proxy.d.cts +16 -0
  2686. package/up-migrations/sqlite-proxy.d.ts +16 -0
  2687. package/up-migrations/sqlite-proxy.js +78 -0
  2688. package/up-migrations/sqlite-proxy.js.map +1 -0
  2689. package/up-migrations/sqlite.cjs +147 -0
  2690. package/up-migrations/sqlite.cjs.map +1 -0
  2691. package/up-migrations/sqlite.d.cts +25 -0
  2692. package/up-migrations/sqlite.d.ts +25 -0
  2693. package/up-migrations/sqlite.js +144 -0
  2694. package/up-migrations/sqlite.js.map +1 -0
  2695. package/up-migrations/utils.cjs +47 -0
  2696. package/up-migrations/utils.cjs.map +1 -0
  2697. package/up-migrations/utils.d.cts +25 -0
  2698. package/up-migrations/utils.d.ts +25 -0
  2699. package/up-migrations/utils.js +44 -0
  2700. package/up-migrations/utils.js.map +1 -0
  2701. package/utils.cjs +200 -16
  2702. package/utils.cjs.map +1 -1
  2703. package/utils.d.cts +64 -12
  2704. package/utils.d.ts +64 -12
  2705. package/utils.js +193 -17
  2706. package/utils.js.map +1 -1
  2707. package/valibot/column.cjs +270 -0
  2708. package/valibot/column.cjs.map +1 -0
  2709. package/valibot/column.d.cts +17 -0
  2710. package/valibot/column.d.ts +17 -0
  2711. package/valibot/column.js +261 -0
  2712. package/valibot/column.js.map +1 -0
  2713. package/valibot/column.types.cjs +0 -0
  2714. package/valibot/column.types.d.cts +34 -0
  2715. package/valibot/column.types.d.ts +34 -0
  2716. package/valibot/column.types.js +1 -0
  2717. package/valibot/index.cjs +12 -0
  2718. package/valibot/index.d.cts +6 -0
  2719. package/valibot/index.d.ts +6 -0
  2720. package/valibot/index.js +4 -0
  2721. package/valibot/schema.cjs +65 -0
  2722. package/valibot/schema.cjs.map +1 -0
  2723. package/valibot/schema.d.cts +9 -0
  2724. package/valibot/schema.d.ts +9 -0
  2725. package/valibot/schema.js +60 -0
  2726. package/valibot/schema.js.map +1 -0
  2727. package/valibot/schema.types.cjs +0 -0
  2728. package/valibot/schema.types.d.cts +27 -0
  2729. package/valibot/schema.types.d.ts +27 -0
  2730. package/valibot/schema.types.internal.cjs +0 -0
  2731. package/valibot/schema.types.internal.d.cts +24 -0
  2732. package/valibot/schema.types.internal.d.ts +24 -0
  2733. package/valibot/schema.types.internal.js +1 -0
  2734. package/valibot/schema.types.js +1 -0
  2735. package/vercel-postgres/codecs.cjs +65 -0
  2736. package/vercel-postgres/codecs.cjs.map +1 -0
  2737. package/vercel-postgres/codecs.d.cts +9 -0
  2738. package/vercel-postgres/codecs.d.ts +9 -0
  2739. package/vercel-postgres/codecs.js +63 -0
  2740. package/vercel-postgres/codecs.js.map +1 -0
  2741. package/vercel-postgres/driver.cjs +12 -33
  2742. package/vercel-postgres/driver.cjs.map +1 -1
  2743. package/vercel-postgres/driver.d.cts +7 -23
  2744. package/vercel-postgres/driver.d.ts +8 -24
  2745. package/vercel-postgres/driver.js +12 -32
  2746. package/vercel-postgres/driver.js.map +1 -1
  2747. package/vercel-postgres/index.cjs +4 -3
  2748. package/vercel-postgres/index.d.cts +4 -3
  2749. package/vercel-postgres/index.d.ts +4 -3
  2750. package/vercel-postgres/index.js +4 -3
  2751. package/vercel-postgres/migrator.cjs +3 -2
  2752. package/vercel-postgres/migrator.cjs.map +1 -1
  2753. package/vercel-postgres/migrator.d.cts +2 -2
  2754. package/vercel-postgres/migrator.d.ts +1 -1
  2755. package/vercel-postgres/migrator.js +1 -1
  2756. package/vercel-postgres/migrator.js.map +1 -1
  2757. package/vercel-postgres/session.cjs +35 -116
  2758. package/vercel-postgres/session.cjs.map +1 -1
  2759. package/vercel-postgres/session.d.cts +9 -35
  2760. package/vercel-postgres/session.d.ts +9 -35
  2761. package/vercel-postgres/session.js +35 -116
  2762. package/vercel-postgres/session.js.map +1 -1
  2763. package/version.cjs +2 -1
  2764. package/version.cjs.map +1 -1
  2765. package/version.d.cts +2 -2
  2766. package/version.d.ts +2 -2
  2767. package/version.js +1 -1
  2768. package/version.js.map +1 -1
  2769. package/view-common.cjs +1 -0
  2770. package/view-common.cjs.map +1 -1
  2771. package/xata-http/codecs.cjs +168 -0
  2772. package/xata-http/codecs.cjs.map +1 -0
  2773. package/xata-http/codecs.d.cts +9 -0
  2774. package/xata-http/codecs.d.ts +9 -0
  2775. package/xata-http/codecs.js +166 -0
  2776. package/xata-http/codecs.js.map +1 -0
  2777. package/xata-http/driver.cjs +10 -32
  2778. package/xata-http/driver.cjs.map +1 -1
  2779. package/xata-http/driver.d.cts +5 -22
  2780. package/xata-http/driver.d.ts +5 -22
  2781. package/xata-http/driver.js +9 -30
  2782. package/xata-http/driver.js.map +1 -1
  2783. package/xata-http/index.cjs +4 -4
  2784. package/xata-http/index.d.cts +4 -3
  2785. package/xata-http/index.d.ts +4 -3
  2786. package/xata-http/index.js +4 -3
  2787. package/xata-http/migrator.cjs +20 -9
  2788. package/xata-http/migrator.cjs.map +1 -1
  2789. package/xata-http/migrator.d.cts +1 -1
  2790. package/xata-http/migrator.d.ts +1 -1
  2791. package/xata-http/migrator.js +18 -8
  2792. package/xata-http/migrator.js.map +1 -1
  2793. package/xata-http/session.cjs +25 -110
  2794. package/xata-http/session.cjs.map +1 -1
  2795. package/xata-http/session.d.cts +7 -34
  2796. package/xata-http/session.d.ts +5 -32
  2797. package/xata-http/session.js +25 -109
  2798. package/xata-http/session.js.map +1 -1
  2799. package/zod/column.cjs +269 -0
  2800. package/zod/column.cjs.map +1 -0
  2801. package/zod/column.d.cts +15 -0
  2802. package/zod/column.d.ts +15 -0
  2803. package/zod/column.js +262 -0
  2804. package/zod/column.js.map +1 -0
  2805. package/zod/column.types.cjs +0 -0
  2806. package/zod/column.types.d.cts +32 -0
  2807. package/zod/column.types.d.ts +32 -0
  2808. package/zod/column.types.js +1 -0
  2809. package/zod/index.cjs +13 -0
  2810. package/zod/index.d.cts +6 -0
  2811. package/zod/index.d.ts +6 -0
  2812. package/zod/index.js +4 -0
  2813. package/zod/schema.cjs +88 -0
  2814. package/zod/schema.cjs.map +1 -0
  2815. package/zod/schema.d.cts +14 -0
  2816. package/zod/schema.d.ts +14 -0
  2817. package/zod/schema.js +83 -0
  2818. package/zod/schema.js.map +1 -0
  2819. package/zod/schema.types.cjs +0 -0
  2820. package/zod/schema.types.d.cts +32 -0
  2821. package/zod/schema.types.d.ts +32 -0
  2822. package/zod/schema.types.internal.cjs +0 -0
  2823. package/zod/schema.types.internal.d.cts +28 -0
  2824. package/zod/schema.types.internal.d.ts +28 -0
  2825. package/zod/schema.types.internal.js +1 -0
  2826. package/zod/schema.types.js +1 -0
  2827. package/_virtual/rolldown_runtime.cjs +0 -29
  2828. package/gel/driver.cjs +0 -75
  2829. package/gel/driver.cjs.map +0 -1
  2830. package/gel/driver.d.cts +0 -43
  2831. package/gel/driver.d.ts +0 -43
  2832. package/gel/driver.js +0 -66
  2833. package/gel/driver.js.map +0 -1
  2834. package/gel/index.cjs +0 -14
  2835. package/gel/index.d.cts +0 -3
  2836. package/gel/index.d.ts +0 -3
  2837. package/gel/index.js +0 -4
  2838. package/gel/migrator.d.cts +0 -1
  2839. package/gel/migrator.d.ts +0 -1
  2840. package/gel/session.cjs +0 -135
  2841. package/gel/session.cjs.map +0 -1
  2842. package/gel/session.d.cts +0 -67
  2843. package/gel/session.d.ts +0 -67
  2844. package/gel/session.js +0 -132
  2845. package/gel/session.js.map +0 -1
  2846. package/gel-core/alias.cjs +0 -11
  2847. package/gel-core/alias.cjs.map +0 -1
  2848. package/gel-core/alias.d.cts +0 -9
  2849. package/gel-core/alias.d.ts +0 -9
  2850. package/gel-core/alias.js +0 -10
  2851. package/gel-core/alias.js.map +0 -1
  2852. package/gel-core/checks.cjs +0 -35
  2853. package/gel-core/checks.cjs.map +0 -1
  2854. package/gel-core/checks.d.cts +0 -23
  2855. package/gel-core/checks.d.ts +0 -23
  2856. package/gel-core/checks.js +0 -32
  2857. package/gel-core/checks.js.map +0 -1
  2858. package/gel-core/columns/all.cjs +0 -50
  2859. package/gel-core/columns/all.cjs.map +0 -1
  2860. package/gel-core/columns/all.d.cts +0 -48
  2861. package/gel-core/columns/all.d.ts +0 -48
  2862. package/gel-core/columns/all.js +0 -50
  2863. package/gel-core/columns/all.js.map +0 -1
  2864. package/gel-core/columns/bigint.cjs +0 -31
  2865. package/gel-core/columns/bigint.cjs.map +0 -1
  2866. package/gel-core/columns/bigint.d.cts +0 -22
  2867. package/gel-core/columns/bigint.d.ts +0 -22
  2868. package/gel-core/columns/bigint.js +0 -28
  2869. package/gel-core/columns/bigint.js.map +0 -1
  2870. package/gel-core/columns/bigintT.cjs +0 -34
  2871. package/gel-core/columns/bigintT.cjs.map +0 -1
  2872. package/gel-core/columns/bigintT.d.cts +0 -23
  2873. package/gel-core/columns/bigintT.d.ts +0 -23
  2874. package/gel-core/columns/bigintT.js +0 -31
  2875. package/gel-core/columns/bigintT.js.map +0 -1
  2876. package/gel-core/columns/boolean.cjs +0 -30
  2877. package/gel-core/columns/boolean.cjs.map +0 -1
  2878. package/gel-core/columns/boolean.d.cts +0 -21
  2879. package/gel-core/columns/boolean.d.ts +0 -21
  2880. package/gel-core/columns/boolean.js +0 -27
  2881. package/gel-core/columns/boolean.js.map +0 -1
  2882. package/gel-core/columns/bytes.cjs +0 -30
  2883. package/gel-core/columns/bytes.cjs.map +0 -1
  2884. package/gel-core/columns/bytes.d.cts +0 -21
  2885. package/gel-core/columns/bytes.d.ts +0 -21
  2886. package/gel-core/columns/bytes.js +0 -27
  2887. package/gel-core/columns/bytes.js.map +0 -1
  2888. package/gel-core/columns/common.cjs +0 -184
  2889. package/gel-core/columns/common.cjs.map +0 -1
  2890. package/gel-core/columns/common.d.cts +0 -135
  2891. package/gel-core/columns/common.d.ts +0 -135
  2892. package/gel-core/columns/common.js +0 -178
  2893. package/gel-core/columns/common.js.map +0 -1
  2894. package/gel-core/columns/custom.cjs +0 -65
  2895. package/gel-core/columns/custom.cjs.map +0 -1
  2896. package/gel-core/columns/custom.d.cts +0 -266
  2897. package/gel-core/columns/custom.d.ts +0 -266
  2898. package/gel-core/columns/custom.js +0 -62
  2899. package/gel-core/columns/custom.js.map +0 -1
  2900. package/gel-core/columns/date-duration.cjs +0 -30
  2901. package/gel-core/columns/date-duration.cjs.map +0 -1
  2902. package/gel-core/columns/date-duration.d.cts +0 -22
  2903. package/gel-core/columns/date-duration.d.ts +0 -22
  2904. package/gel-core/columns/date-duration.js +0 -27
  2905. package/gel-core/columns/date-duration.js.map +0 -1
  2906. package/gel-core/columns/date.common.cjs +0 -16
  2907. package/gel-core/columns/date.common.cjs.map +0 -1
  2908. package/gel-core/columns/date.common.d.cts +0 -13
  2909. package/gel-core/columns/date.common.d.ts +0 -13
  2910. package/gel-core/columns/date.common.js +0 -15
  2911. package/gel-core/columns/date.common.js.map +0 -1
  2912. package/gel-core/columns/decimal.cjs +0 -33
  2913. package/gel-core/columns/decimal.cjs.map +0 -1
  2914. package/gel-core/columns/decimal.d.cts +0 -25
  2915. package/gel-core/columns/decimal.d.ts +0 -25
  2916. package/gel-core/columns/decimal.js +0 -30
  2917. package/gel-core/columns/decimal.js.map +0 -1
  2918. package/gel-core/columns/double-precision.cjs +0 -34
  2919. package/gel-core/columns/double-precision.cjs.map +0 -1
  2920. package/gel-core/columns/double-precision.d.cts +0 -22
  2921. package/gel-core/columns/double-precision.d.ts +0 -22
  2922. package/gel-core/columns/double-precision.js +0 -31
  2923. package/gel-core/columns/double-precision.js.map +0 -1
  2924. package/gel-core/columns/duration.cjs +0 -30
  2925. package/gel-core/columns/duration.cjs.map +0 -1
  2926. package/gel-core/columns/duration.d.cts +0 -22
  2927. package/gel-core/columns/duration.d.ts +0 -22
  2928. package/gel-core/columns/duration.js +0 -27
  2929. package/gel-core/columns/duration.js.map +0 -1
  2930. package/gel-core/columns/index.cjs +0 -90
  2931. package/gel-core/columns/index.d.cts +0 -23
  2932. package/gel-core/columns/index.d.ts +0 -23
  2933. package/gel-core/columns/index.js +0 -24
  2934. package/gel-core/columns/int.common.cjs +0 -38
  2935. package/gel-core/columns/int.common.cjs.map +0 -1
  2936. package/gel-core/columns/int.common.d.cts +0 -20
  2937. package/gel-core/columns/int.common.d.ts +0 -20
  2938. package/gel-core/columns/int.common.js +0 -37
  2939. package/gel-core/columns/int.common.js.map +0 -1
  2940. package/gel-core/columns/integer.cjs +0 -31
  2941. package/gel-core/columns/integer.cjs.map +0 -1
  2942. package/gel-core/columns/integer.d.cts +0 -22
  2943. package/gel-core/columns/integer.d.ts +0 -22
  2944. package/gel-core/columns/integer.js +0 -28
  2945. package/gel-core/columns/integer.js.map +0 -1
  2946. package/gel-core/columns/json.cjs +0 -33
  2947. package/gel-core/columns/json.cjs.map +0 -1
  2948. package/gel-core/columns/json.d.cts +0 -25
  2949. package/gel-core/columns/json.d.ts +0 -25
  2950. package/gel-core/columns/json.js +0 -30
  2951. package/gel-core/columns/json.js.map +0 -1
  2952. package/gel-core/columns/localdate.cjs +0 -31
  2953. package/gel-core/columns/localdate.cjs.map +0 -1
  2954. package/gel-core/columns/localdate.d.cts +0 -23
  2955. package/gel-core/columns/localdate.d.ts +0 -23
  2956. package/gel-core/columns/localdate.js +0 -28
  2957. package/gel-core/columns/localdate.js.map +0 -1
  2958. package/gel-core/columns/localtime.cjs +0 -31
  2959. package/gel-core/columns/localtime.cjs.map +0 -1
  2960. package/gel-core/columns/localtime.d.cts +0 -23
  2961. package/gel-core/columns/localtime.d.ts +0 -23
  2962. package/gel-core/columns/localtime.js +0 -28
  2963. package/gel-core/columns/localtime.js.map +0 -1
  2964. package/gel-core/columns/real.cjs +0 -34
  2965. package/gel-core/columns/real.cjs.map +0 -1
  2966. package/gel-core/columns/real.d.cts +0 -27
  2967. package/gel-core/columns/real.d.ts +0 -27
  2968. package/gel-core/columns/real.js +0 -31
  2969. package/gel-core/columns/real.js.map +0 -1
  2970. package/gel-core/columns/relative-duration.cjs +0 -30
  2971. package/gel-core/columns/relative-duration.cjs.map +0 -1
  2972. package/gel-core/columns/relative-duration.d.cts +0 -22
  2973. package/gel-core/columns/relative-duration.d.ts +0 -22
  2974. package/gel-core/columns/relative-duration.js +0 -27
  2975. package/gel-core/columns/relative-duration.js.map +0 -1
  2976. package/gel-core/columns/smallint.cjs +0 -31
  2977. package/gel-core/columns/smallint.cjs.map +0 -1
  2978. package/gel-core/columns/smallint.d.cts +0 -22
  2979. package/gel-core/columns/smallint.d.ts +0 -22
  2980. package/gel-core/columns/smallint.js +0 -28
  2981. package/gel-core/columns/smallint.js.map +0 -1
  2982. package/gel-core/columns/text.cjs +0 -31
  2983. package/gel-core/columns/text.cjs.map +0 -1
  2984. package/gel-core/columns/text.d.cts +0 -24
  2985. package/gel-core/columns/text.d.ts +0 -24
  2986. package/gel-core/columns/text.js +0 -28
  2987. package/gel-core/columns/text.js.map +0 -1
  2988. package/gel-core/columns/timestamp.cjs +0 -34
  2989. package/gel-core/columns/timestamp.cjs.map +0 -1
  2990. package/gel-core/columns/timestamp.d.cts +0 -27
  2991. package/gel-core/columns/timestamp.d.ts +0 -27
  2992. package/gel-core/columns/timestamp.js +0 -31
  2993. package/gel-core/columns/timestamp.js.map +0 -1
  2994. package/gel-core/columns/timestamptz.cjs +0 -38
  2995. package/gel-core/columns/timestamptz.cjs.map +0 -1
  2996. package/gel-core/columns/timestamptz.d.cts +0 -27
  2997. package/gel-core/columns/timestamptz.d.ts +0 -27
  2998. package/gel-core/columns/timestamptz.js +0 -35
  2999. package/gel-core/columns/timestamptz.js.map +0 -1
  3000. package/gel-core/columns/uuid.cjs +0 -30
  3001. package/gel-core/columns/uuid.cjs.map +0 -1
  3002. package/gel-core/columns/uuid.d.cts +0 -21
  3003. package/gel-core/columns/uuid.d.ts +0 -21
  3004. package/gel-core/columns/uuid.js +0 -27
  3005. package/gel-core/columns/uuid.js.map +0 -1
  3006. package/gel-core/db.cjs +0 -385
  3007. package/gel-core/db.cjs.map +0 -1
  3008. package/gel-core/db.d.cts +0 -293
  3009. package/gel-core/db.d.ts +0 -293
  3010. package/gel-core/db.js +0 -383
  3011. package/gel-core/db.js.map +0 -1
  3012. package/gel-core/dialect.cjs +0 -567
  3013. package/gel-core/dialect.cjs.map +0 -1
  3014. package/gel-core/dialect.d.cts +0 -154
  3015. package/gel-core/dialect.d.ts +0 -154
  3016. package/gel-core/dialect.js +0 -565
  3017. package/gel-core/dialect.js.map +0 -1
  3018. package/gel-core/expressions.cjs +0 -27
  3019. package/gel-core/expressions.cjs.map +0 -1
  3020. package/gel-core/expressions.d.cts +0 -16
  3021. package/gel-core/expressions.d.ts +0 -16
  3022. package/gel-core/expressions.js +0 -20
  3023. package/gel-core/expressions.js.map +0 -1
  3024. package/gel-core/foreign-keys.cjs +0 -82
  3025. package/gel-core/foreign-keys.cjs.map +0 -1
  3026. package/gel-core/foreign-keys.d.cts +0 -51
  3027. package/gel-core/foreign-keys.d.ts +0 -51
  3028. package/gel-core/foreign-keys.js +0 -79
  3029. package/gel-core/foreign-keys.js.map +0 -1
  3030. package/gel-core/index.cjs +0 -188
  3031. package/gel-core/index.d.cts +0 -50
  3032. package/gel-core/index.d.ts +0 -50
  3033. package/gel-core/index.js +0 -47
  3034. package/gel-core/indexes.cjs +0 -114
  3035. package/gel-core/indexes.cjs.map +0 -1
  3036. package/gel-core/indexes.d.cts +0 -82
  3037. package/gel-core/indexes.d.ts +0 -82
  3038. package/gel-core/indexes.js +0 -109
  3039. package/gel-core/indexes.js.map +0 -1
  3040. package/gel-core/policies.cjs +0 -36
  3041. package/gel-core/policies.cjs.map +0 -1
  3042. package/gel-core/policies.d.cts +0 -29
  3043. package/gel-core/policies.d.ts +0 -29
  3044. package/gel-core/policies.js +0 -34
  3045. package/gel-core/policies.js.map +0 -1
  3046. package/gel-core/primary-keys.cjs +0 -43
  3047. package/gel-core/primary-keys.cjs.map +0 -1
  3048. package/gel-core/primary-keys.d.cts +0 -36
  3049. package/gel-core/primary-keys.d.ts +0 -36
  3050. package/gel-core/primary-keys.js +0 -40
  3051. package/gel-core/primary-keys.js.map +0 -1
  3052. package/gel-core/query-builders/_query.cjs +0 -93
  3053. package/gel-core/query-builders/_query.cjs.map +0 -1
  3054. package/gel-core/query-builders/_query.d.cts +0 -51
  3055. package/gel-core/query-builders/_query.d.ts +0 -51
  3056. package/gel-core/query-builders/_query.js +0 -90
  3057. package/gel-core/query-builders/_query.js.map +0 -1
  3058. package/gel-core/query-builders/count.cjs +0 -43
  3059. package/gel-core/query-builders/count.cjs.map +0 -1
  3060. package/gel-core/query-builders/count.d.cts +0 -31
  3061. package/gel-core/query-builders/count.d.ts +0 -31
  3062. package/gel-core/query-builders/count.js +0 -42
  3063. package/gel-core/query-builders/count.js.map +0 -1
  3064. package/gel-core/query-builders/delete.cjs +0 -91
  3065. package/gel-core/query-builders/delete.cjs.map +0 -1
  3066. package/gel-core/query-builders/delete.d.cts +0 -104
  3067. package/gel-core/query-builders/delete.d.ts +0 -104
  3068. package/gel-core/query-builders/delete.js +0 -90
  3069. package/gel-core/query-builders/delete.js.map +0 -1
  3070. package/gel-core/query-builders/index.cjs +0 -23
  3071. package/gel-core/query-builders/index.d.cts +0 -8
  3072. package/gel-core/query-builders/index.d.ts +0 -8
  3073. package/gel-core/query-builders/index.js +0 -8
  3074. package/gel-core/query-builders/insert.cjs +0 -154
  3075. package/gel-core/query-builders/insert.cjs.map +0 -1
  3076. package/gel-core/query-builders/insert.d.cts +0 -113
  3077. package/gel-core/query-builders/insert.d.ts +0 -113
  3078. package/gel-core/query-builders/insert.js +0 -152
  3079. package/gel-core/query-builders/insert.js.map +0 -1
  3080. package/gel-core/query-builders/query-builder.cjs +0 -91
  3081. package/gel-core/query-builders/query-builder.cjs.map +0 -1
  3082. package/gel-core/query-builders/query-builder.d.cts +0 -45
  3083. package/gel-core/query-builders/query-builder.d.ts +0 -45
  3084. package/gel-core/query-builders/query-builder.js +0 -90
  3085. package/gel-core/query-builders/query-builder.js.map +0 -1
  3086. package/gel-core/query-builders/query.cjs +0 -89
  3087. package/gel-core/query-builders/query.cjs.map +0 -1
  3088. package/gel-core/query-builders/query.d.cts +0 -48
  3089. package/gel-core/query-builders/query.d.ts +0 -48
  3090. package/gel-core/query-builders/query.js +0 -87
  3091. package/gel-core/query-builders/query.js.map +0 -1
  3092. package/gel-core/query-builders/raw.cjs +0 -36
  3093. package/gel-core/query-builders/raw.cjs.map +0 -1
  3094. package/gel-core/query-builders/raw.d.cts +0 -26
  3095. package/gel-core/query-builders/raw.d.ts +0 -26
  3096. package/gel-core/query-builders/raw.js +0 -35
  3097. package/gel-core/query-builders/raw.js.map +0 -1
  3098. package/gel-core/query-builders/refresh-materialized-view.cjs +0 -52
  3099. package/gel-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  3100. package/gel-core/query-builders/refresh-materialized-view.d.cts +0 -32
  3101. package/gel-core/query-builders/refresh-materialized-view.d.ts +0 -32
  3102. package/gel-core/query-builders/refresh-materialized-view.js +0 -51
  3103. package/gel-core/query-builders/refresh-materialized-view.js.map +0 -1
  3104. package/gel-core/query-builders/select.cjs +0 -964
  3105. package/gel-core/query-builders/select.cjs.map +0 -1
  3106. package/gel-core/query-builders/select.d.cts +0 -806
  3107. package/gel-core/query-builders/select.d.ts +0 -806
  3108. package/gel-core/query-builders/select.js +0 -955
  3109. package/gel-core/query-builders/select.js.map +0 -1
  3110. package/gel-core/query-builders/select.types.d.cts +0 -141
  3111. package/gel-core/query-builders/select.types.d.ts +0 -141
  3112. package/gel-core/query-builders/update.cjs +0 -192
  3113. package/gel-core/query-builders/update.cjs.map +0 -1
  3114. package/gel-core/query-builders/update.d.cts +0 -162
  3115. package/gel-core/query-builders/update.d.ts +0 -162
  3116. package/gel-core/query-builders/update.js +0 -190
  3117. package/gel-core/query-builders/update.js.map +0 -1
  3118. package/gel-core/roles.cjs +0 -35
  3119. package/gel-core/roles.cjs.map +0 -1
  3120. package/gel-core/roles.d.cts +0 -18
  3121. package/gel-core/roles.d.ts +0 -18
  3122. package/gel-core/roles.js +0 -33
  3123. package/gel-core/roles.js.map +0 -1
  3124. package/gel-core/schema.cjs +0 -38
  3125. package/gel-core/schema.cjs.map +0 -1
  3126. package/gel-core/schema.d.cts +0 -20
  3127. package/gel-core/schema.d.ts +0 -20
  3128. package/gel-core/schema.js +0 -35
  3129. package/gel-core/schema.js.map +0 -1
  3130. package/gel-core/sequence.cjs +0 -29
  3131. package/gel-core/sequence.cjs.map +0 -1
  3132. package/gel-core/sequence.d.cts +0 -23
  3133. package/gel-core/sequence.d.ts +0 -23
  3134. package/gel-core/sequence.js +0 -25
  3135. package/gel-core/sequence.js.map +0 -1
  3136. package/gel-core/session.cjs +0 -111
  3137. package/gel-core/session.cjs.map +0 -1
  3138. package/gel-core/session.d.cts +0 -76
  3139. package/gel-core/session.d.ts +0 -76
  3140. package/gel-core/session.js +0 -108
  3141. package/gel-core/session.js.map +0 -1
  3142. package/gel-core/subquery.d.cts +0 -10
  3143. package/gel-core/subquery.d.ts +0 -10
  3144. package/gel-core/table.cjs +0 -68
  3145. package/gel-core/table.cjs.map +0 -1
  3146. package/gel-core/table.d.cts +0 -98
  3147. package/gel-core/table.d.ts +0 -98
  3148. package/gel-core/table.js +0 -62
  3149. package/gel-core/table.js.map +0 -1
  3150. package/gel-core/unique-constraint.cjs +0 -64
  3151. package/gel-core/unique-constraint.cjs.map +0 -1
  3152. package/gel-core/unique-constraint.d.cts +0 -31
  3153. package/gel-core/unique-constraint.d.ts +0 -31
  3154. package/gel-core/unique-constraint.js +0 -59
  3155. package/gel-core/unique-constraint.js.map +0 -1
  3156. package/gel-core/utils.cjs +0 -76
  3157. package/gel-core/utils.cjs.map +0 -1
  3158. package/gel-core/utils.d.cts +0 -61
  3159. package/gel-core/utils.d.ts +0 -61
  3160. package/gel-core/utils.js +0 -72
  3161. package/gel-core/utils.js.map +0 -1
  3162. package/gel-core/view-base.cjs +0 -12
  3163. package/gel-core/view-base.cjs.map +0 -1
  3164. package/gel-core/view-base.d.cts +0 -13
  3165. package/gel-core/view-base.d.ts +0 -13
  3166. package/gel-core/view-base.js +0 -11
  3167. package/gel-core/view-base.js.map +0 -1
  3168. package/gel-core/view-common.cjs +0 -9
  3169. package/gel-core/view-common.cjs.map +0 -1
  3170. package/gel-core/view-common.d.cts +0 -6
  3171. package/gel-core/view-common.d.ts +0 -6
  3172. package/gel-core/view-common.js +0 -7
  3173. package/gel-core/view-common.js.map +0 -1
  3174. package/gel-core/view.cjs +0 -229
  3175. package/gel-core/view.cjs.map +0 -1
  3176. package/gel-core/view.d.cts +0 -159
  3177. package/gel-core/view.d.ts +0 -159
  3178. package/gel-core/view.js +0 -219
  3179. package/gel-core/view.js.map +0 -1
  3180. package/package.d.cts +0 -5
  3181. package/package.d.ts +0 -5
  3182. package/pg-core/query-builders/_query.cjs +0 -99
  3183. package/pg-core/query-builders/_query.cjs.map +0 -1
  3184. package/pg-core/query-builders/_query.d.cts +0 -53
  3185. package/pg-core/query-builders/_query.d.ts +0 -53
  3186. package/pg-core/query-builders/_query.js +0 -96
  3187. package/pg-core/query-builders/_query.js.map +0 -1
  3188. package/pg-core/utils/array.cjs +0 -68
  3189. package/pg-core/utils/array.cjs.map +0 -1
  3190. package/pg-core/utils/array.d.cts +0 -7
  3191. package/pg-core/utils/array.d.ts +0 -7
  3192. package/pg-core/utils/array.js +0 -65
  3193. package/pg-core/utils/array.js.map +0 -1
  3194. package/pg-core/utils/index.cjs +0 -5
  3195. package/pg-core/utils/index.d.cts +0 -2
  3196. package/pg-core/utils/index.d.ts +0 -2
  3197. package/pg-core/utils/index.js +0 -3
  3198. package/prisma/mysql/driver.cjs +0 -31
  3199. package/prisma/mysql/driver.cjs.map +0 -1
  3200. package/prisma/mysql/driver.d.cts +0 -28
  3201. package/prisma/mysql/driver.d.ts +0 -28
  3202. package/prisma/mysql/driver.js +0 -29
  3203. package/prisma/mysql/driver.js.map +0 -1
  3204. package/prisma/mysql/index.cjs +0 -7
  3205. package/prisma/mysql/index.d.cts +0 -3
  3206. package/prisma/mysql/index.d.ts +0 -3
  3207. package/prisma/mysql/index.js +0 -4
  3208. package/prisma/mysql/session.cjs +0 -54
  3209. package/prisma/mysql/session.cjs.map +0 -1
  3210. package/prisma/mysql/session.d.cts +0 -44
  3211. package/prisma/mysql/session.d.ts +0 -44
  3212. package/prisma/mysql/session.js +0 -52
  3213. package/prisma/mysql/session.js.map +0 -1
  3214. package/prisma/pg/driver.cjs +0 -32
  3215. package/prisma/pg/driver.cjs.map +0 -1
  3216. package/prisma/pg/driver.d.cts +0 -28
  3217. package/prisma/pg/driver.d.ts +0 -28
  3218. package/prisma/pg/driver.js +0 -30
  3219. package/prisma/pg/driver.js.map +0 -1
  3220. package/prisma/pg/index.cjs +0 -7
  3221. package/prisma/pg/index.d.cts +0 -3
  3222. package/prisma/pg/index.d.ts +0 -3
  3223. package/prisma/pg/index.js +0 -4
  3224. package/prisma/pg/session.cjs +0 -53
  3225. package/prisma/pg/session.cjs.map +0 -1
  3226. package/prisma/pg/session.d.cts +0 -41
  3227. package/prisma/pg/session.d.ts +0 -41
  3228. package/prisma/pg/session.js +0 -51
  3229. package/prisma/pg/session.js.map +0 -1
  3230. package/prisma/sqlite/driver.cjs +0 -24
  3231. package/prisma/sqlite/driver.cjs.map +0 -1
  3232. package/prisma/sqlite/driver.d.cts +0 -21
  3233. package/prisma/sqlite/driver.d.ts +0 -21
  3234. package/prisma/sqlite/driver.js +0 -23
  3235. package/prisma/sqlite/driver.js.map +0 -1
  3236. package/prisma/sqlite/index.cjs +0 -6
  3237. package/prisma/sqlite/index.d.cts +0 -3
  3238. package/prisma/sqlite/index.d.ts +0 -3
  3239. package/prisma/sqlite/index.js +0 -4
  3240. package/prisma/sqlite/session.cjs +0 -56
  3241. package/prisma/sqlite/session.cjs.map +0 -1
  3242. package/prisma/sqlite/session.d.cts +0 -42
  3243. package/prisma/sqlite/session.d.ts +0 -42
  3244. package/prisma/sqlite/session.js +0 -54
  3245. package/prisma/sqlite/session.js.map +0 -1
  3246. package/row-mappers/index.cjs +0 -231
  3247. package/row-mappers/index.cjs.map +0 -1
  3248. package/row-mappers/index.d.cts +0 -101
  3249. package/row-mappers/index.d.ts +0 -101
  3250. package/row-mappers/index.js +0 -227
  3251. package/row-mappers/index.js.map +0 -1
  3252. /package/{gel-core/query-builders/select.types.cjs → arktype/column.types.cjs} +0 -0
  3253. /package/{gel-core/query-builders/select.types.js → arktype/column.types.js} +0 -0
  3254. /package/{gel-core/subquery.cjs → arktype/schema.types.cjs} +0 -0
  3255. /package/{gel/migrator.cjs → arktype/schema.types.internal.cjs} +0 -0
  3256. /package/{gel-core/subquery.js → arktype/schema.types.internal.js} +0 -0
  3257. /package/{gel/migrator.js → arktype/schema.types.js} +0 -0
package/_relations.cjs CHANGED
@@ -1,4 +1,5 @@
1
- const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
2
3
  const require_entity = require('./entity.cjs');
3
4
  const require_column = require('./column.cjs');
4
5
  const require_sql_sql = require('./sql/sql.cjs');
@@ -109,8 +110,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
109
110
  } else if (require_entity.is(value, Relations)) {
110
111
  const dbName = (0, __table_ts.getTableUniqueName)(value.table);
111
112
  const tableName = tableNamesMap[dbName];
112
- const relations$1 = value.config(configHelpers(value.table));
113
- for (const [relationName, relation] of Object.entries(relations$1)) if (tableName) {
113
+ const relations = value.config(configHelpers(value.table));
114
+ for (const [relationName, relation] of Object.entries(relations)) if (tableName) {
114
115
  const tableConfig = tablesConfig[tableName];
115
116
  tableConfig.relations[relationName] = relation;
116
117
  } else {
@@ -123,8 +124,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
123
124
  tableNamesMap
124
125
  };
125
126
  }
126
- function relations(table, relations$1) {
127
- return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations$1(helpers)).map(([key, value]) => [key, value.withFieldName(key)])));
127
+ function relations(table, relations) {
128
+ return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations(helpers)).map(([key, value]) => [key, value.withFieldName(key)])));
128
129
  }
129
130
  function createOne(sourceTable) {
130
131
  return function one(table, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"_relations.cjs","names":["entityKind","sourceTable: Table","referencedTable: AnyTable<{ name: TTableName }>","relationName: string | undefined","Table","table: AnyTable<{ name: TTableName }>","config: (helpers: TableRelationsHelpers<TTableName>) => TConfig","config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined","isNullable: TIsNullable","config: { relationName: string } | undefined","is","tableNamesMap: Record<string, string>","relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t>","tablesConfig: TablesRelationalConfig","PrimaryKeyBuilder","relations: Record<string, Relation>","relations","reverseRelations: Relation[]","result: Record<string, unknown>","Column","SQL"],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"_relations.cjs","names":["entityKind","Table","is","PrimaryKeyBuilder","Column","SQL"],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type CommentInput, type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport type DBQueryConfigWithComment<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & { comment?: CommentInput | undefined };\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":";;;;;;;;;;;AAgCA,IAAsB,WAAtB,MAAmE;CAClE,QAAiBA,6BAAsB;CAGvC,AAAS;CACT;CAEA,YACC,AAAS,aACT,AAAS,iBACT,AAAS,cACR;EAHQ;EACA;EACA;AAET,OAAK,sBAAsB,gBAAgBC,iBAAM,OAAO;;;AAM1D,IAAa,YAAb,MAGE;CACD,QAAiBD,6BAAsB;CAIvC,YACC,AAAS,OACT,AAAS,QACR;EAFQ;EACA;;;AAIX,IAAa,MAAb,MAAa,YAGH,SAAqB;CAC9B,QAA0BA,6BAAsB;CAIhD,YACC,aACA,iBACA,AAAS,QAOT,AAAS,YACR;AACD,QAAM,aAAa,iBAAiB,QAAQ,aAAa;EAThD;EAOA;;CAKV,cAAc,WAAoC;EACjD,MAAM,WAAW,IAAI,IACpB,KAAK,aACL,KAAK,iBACL,KAAK,QACL,KAAK,WACL;AACD,WAAS,YAAY;AACrB,SAAO;;;AAIT,IAAa,OAAb,MAAa,aAAwC,SAAqB;CACzE,QAA0BA,6BAAsB;CAIhD,YACC,aACA,iBACA,AAAS,QACR;AACD,QAAM,aAAa,iBAAiB,QAAQ,aAAa;EAFhD;;CAKV,cAAc,WAAqC;EAClD,MAAM,WAAW,IAAI,KACpB,KAAK,aACL,KAAK,iBACL,KAAK,OACL;AACD,WAAS,YAAY;AACrB,SAAO;;;AAuCT,SAAgB,eAAe;AAC9B,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF,SAAgB,sBAAsB;AACrC,QAAO;EACN;EACA;EACA;EACA;;AAsOF,SAAgB,8BAGf,QACA,eAC6D;AAC7D,KACC,OAAO,KAAK,OAAO,CAAC,WAAW,KAC5B,aAAa,UACb,CAACE,kBAAG,OAAO,YAAYD,iBAAM,CAEhC,UAAS,OAAO;CAIjB,MAAM,gBAAwC,EAAE;CAEhD,MAAM,kBAGF,EAAE;CACN,MAAM,eAAuC,EAAE;AAC/C,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,CAChD,KAAIC,kBAAG,OAAOD,iBAAM,EAAE;EACrB,MAAM,4CAA4B,MAAM;EACxC,MAAM,oBAAoB,gBAAgB;AAC1C,gBAAc,UAAU;AACxB,eAAa,OAAO;GACnB,QAAQ;GACR,QAAQ,MAAMA,iBAAM,OAAO;GAC3B,QAAQ,MAAMA,iBAAM,OAAO;GAC3B,SAAS,MAAMA,iBAAM,OAAO;GAC5B,WAAW,mBAAmB,aAAa,EAAE;GAC7C,YAAY,mBAAmB,cAAc,EAAE;GAC/C;AAGD,OACC,MAAM,UAAU,OAAO,OACrB,MAAgBA,iBAAM,OAAO,SAC9B,CAED,KAAI,OAAO,QACV,cAAa,KAAM,WAAW,KAAK,OAAO;EAI5C,MAAM,cAAc,MAAMA,iBAAM,OAAO,sBAAuB,MAAgBA,iBAAM,OAAO,oBAAoB;AAC/G,MAAI,aACH;QAAK,MAAM,eAAe,OAAO,OAAO,YAAY,CACnD,KAAIC,kBAAG,aAAaC,+CAAkB,CACrC,cAAa,KAAM,WAAW,KAAK,GAAG,YAAY,QAAQ;;YAInDD,kBAAG,OAAO,UAAU,EAAE;EAChC,MAAM,4CAA4B,MAAM,MAAM;EAC9C,MAAM,YAAY,cAAc;EAChC,MAAM,YAAsC,MAAM,OACjD,cAAc,MAAM,MAAM,CAC1B;AAGD,OAAK,MAAM,CAAC,cAAc,aAAa,OAAO,QAAQ,UAAU,CAC/D,KAAI,WAAW;GACd,MAAM,cAAc,aAAa;AACjC,eAAY,UAAU,gBAAgB;SAIhC;AACN,OAAI,EAAE,UAAU,iBACf,iBAAgB,UAAU,EACzB,WAAW,EAAE,EAEb;AAEF,mBAAgB,QAAS,UAAU,gBAAgB;;;AAMvD,QAAO;EAAE,QAAQ;EAAyB;EAAe;;AAG1D,SAAgB,UAIf,OACA,WACoC;AACpC,QAAO,IAAI,UACV,QACC,YACA,OAAO,YACN,OAAO,QAAQ,UAAU,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CACxD,KACA,MAAM,cAAc,IAAI,CACxB,CAAC,CACF,CACF;;AAGF,SAAgB,UAAqC,aAAoB;AACxE,QAAO,SAAS,IAOf,OACA,QAIC;AACD,SAAO,IAAI,IACV,aACA,OACA,QACC,QAAQ,OAAO,QAAiB,KAAK,MAAM,OAAO,EAAE,SAAS,KAAK,IAC/D,MACJ;;;AAIH,SAAgB,WAAW,aAAoB;AAC9C,QAAO,SAAS,KACf,iBACA,QACmC;AACnC,SAAO,IAAI,KAAK,aAAa,iBAAiB,OAAO;;;AASvD,SAAgB,kBACf,QACA,eACA,UACqB;AACrB,KAAIA,kBAAG,UAAU,IAAI,IAAI,SAAS,OACjC,QAAO;EACN,QAAQ,SAAS,OAAO;EACxB,YAAY,SAAS,OAAO;EAC5B;CAGF,MAAM,wBAAwB,iDAAiC,SAAS,gBAAgB;AACxF,KAAI,CAAC,sBACJ,OAAM,IAAI,MACT,UAAU,SAAS,gBAAgBD,iBAAM,OAAO,MAAM,uBACtD;CAGF,MAAM,wBAAwB,OAAO;AACrC,KAAI,CAAC,sBACJ,OAAM,IAAI,MAAM,UAAU,sBAAsB,uBAAuB;CAGxE,MAAM,cAAc,SAAS;CAC7B,MAAM,oBAAoB,iDAAiC,YAAY;AACvE,KAAI,CAAC,kBACJ,OAAM,IAAI,MACT,UAAU,YAAYA,iBAAM,OAAO,MAAM,uBACzC;CAGF,MAAM,mBAA+B,EAAE;AACvC,MACC,MAAM,2BAA2B,OAAO,OACvC,sBAAsB,UACtB,CAED,KACE,SAAS,gBACN,aAAa,2BACb,wBAAwB,iBAAiB,SAAS,gBAClD,CAAC,SAAS,gBACV,wBAAwB,oBAAoB,SAAS,YAEzD,kBAAiB,KAAK,wBAAwB;AAIhD,KAAI,iBAAiB,SAAS,EAC7B,OAAM,SAAS,+BACZ,IAAI,MACL,2CAA2C,SAAS,aAAa,cAAc,sBAAsB,GACrG,mBACC,IAAI,MACL,yCAAyC,sBAAsB,SAC9D,SAAS,YAAYA,iBAAM,OAAO,MAClC,iCACD;AAGH,KACC,iBAAiB,MACdC,kBAAG,iBAAiB,IAAI,IAAI,IAC5B,iBAAiB,GAAG,OAEvB,QAAO;EACN,QAAQ,iBAAiB,GAAG,OAAO;EACnC,YAAY,iBAAiB,GAAG,OAAO;EACvC;AAGF,OAAM,IAAI,MACT,sDAAsD,kBAAkB,GAAG,SAAS,UAAU,GAC9F;;AAGF,SAAgB,4BACf,aACC;AACD,QAAO;EACN,KAAK,UAAsB,YAAY;EACvC,MAAM,WAAW,YAAY;EAC7B;;AAwBF,SAAgB,iBACf,cACA,aACA,KACA,2BACA,kBAA+C,UAAU,OAC/B;CAC1B,MAAM,SAAkC,EAAE;AAE1C,MACC,MAAM,CACL,oBACA,kBACI,0BAA0B,SAAS,CAExC,KAAI,cAAc,QAAQ;EACzB,MAAM,WAAW,YAAY,UAAU,cAAc;EACrD,MAAM,aAAa,IAAI;EAKvB,MAAM,UAAU,OAAO,eAAe,WAClC,KAAK,MAAM,WAAW,GACvB;AACH,SAAO,cAAc,SAASA,kBAAG,UAAU,IAAI,GAC5C,WACE,iBACF,cACA,aAAa,cAAc,qBAC3B,SACA,cAAc,WACd,eACA,GACC,QAAwB,KAAK,WAC/B,iBACC,cACA,aAAa,cAAc,qBAC3B,QACA,cAAc,WACd,eACA,CACD;QACI;EACN,MAAM,QAAQ,eAAe,IAAI,oBAAoB;EACrD,MAAM,QAAQ,cAAc;EAC5B,IAAI;AACJ,MAAIA,kBAAG,OAAOE,sBAAO,CACpB,WAAU;WACAF,kBAAG,OAAOG,oBAAI,CACxB,WAAU,MAAM;MAEhB,WAAU,MAAM,IAAI;AAErB,SAAO,cAAc,SAAS,UAAU,OAAO,OAAO,QAAQ,mBAAmB,MAAM;;AAIzF,QAAO;;AAGR,SAAgB,wBACf,cACA,aACA,KACA,2BACA,kBAA+C,UAAU,OAC/B;CAC1B,MAAM,SAAkC,EAAE;AAE1C,MACC,MAAM,CACL,oBACA,kBACI,0BAA0B,SAAS,CAExC,KAAI,cAAc,QAAQ;EACzB,MAAM,WAAW,YAAY,UAAU,cAAc;EACrD,MAAM,QAAQH,kBAAG,UAAU,IAAI;EAC/B,MAAM,aAAa,IAAI;EAEvB,IAAI,UAAU;AACd,MAAI,WAAW,MAAM,QAAQ,QAAQ,EAAE;AACtC,aAAW,OAAO,eAAe,WAAW,KAAK,MAAM,WAAW,GAAG;AAErE,aAAU,QACP,QAAQ,SAAS,MAAM,MAAM,QAAQ,EAAE,GAAG,IAAI,OAAO,OAAO,EAAS,CAAC,GACtE,QAAQ,KAAK,MAAM,MAAM,QAAQ,EAAE,GAAG,IAAI,OAAO,OAAO,EAAS,CAAC;;AAGtE,SAAO,cAAc,SAAS,QAC3B,WACE,wBACF,cACA,aAAa,cAAc,qBAC3B,SACA,cAAc,WACd,eACA,IACE,WAAW,EAAE,EAAkB,KAAK,WACvC,wBACC,cACA,aAAa,cAAc,qBAC3B,QACA,cAAc,WACd,eACA,CACD;QACI;EACN,MAAM,QAAQ,eAAe,IAAI,oBAAoB;EACrD,MAAM,QAAQ,cAAc;EAC5B,IAAI;AACJ,MAAIA,kBAAG,OAAOE,sBAAO,CACpB,WAAU;WACAF,kBAAG,OAAOG,oBAAI,CACxB,WAAU,MAAM;MAEhB,WAAU,MAAM,IAAI;AAErB,SAAO,cAAc,SAAS,UAAU,OAAO,OAAO,QAAQ,mBAAmB,MAAM;;AAIzF,QAAO"}
package/_relations.d.cts CHANGED
@@ -1,11 +1,9 @@
1
1
  import { entityKind } from "./entity.cjs";
2
2
  import { BinaryOperator, and, between, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/conditions.cjs";
3
3
  import { asc, desc } from "./sql/expressions/select.cjs";
4
- import "./sql/expressions/index.cjs";
5
4
  import { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.cjs";
6
- import { Placeholder, SQL, sql } from "./sql/sql.cjs";
5
+ import { CommentInput, Placeholder, SQL, sql } from "./sql/sql.cjs";
7
6
  import { AnyColumn, Column } from "./column.cjs";
8
- import "./index.cjs";
9
7
  import { AnyTable, InferModelFromColumns, Table } from "./table.cjs";
10
8
 
11
9
  //#region src/_relations.d.ts
@@ -62,7 +60,7 @@ declare class Many<TTableName extends string> extends Relation<TTableName> {
62
60
  } | undefined);
63
61
  withFieldName(fieldName: string): Many<TTableName>;
64
62
  }
65
- type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K$1 extends keyof TSchema> = TSchema[K$1] extends Relations<TTableName> ? K$1 : never;
63
+ type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
66
64
  type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{ [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never }>;
67
65
  type ExtractObjectValues<T> = T[keyof T];
68
66
  type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{ [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never }>;
@@ -111,6 +109,9 @@ type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoo
111
109
  } & (TIsRoot extends true ? {
112
110
  offset?: number | Placeholder | undefined;
113
111
  } : {}) : {});
112
+ type DBQueryConfigWithComment<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & {
113
+ comment?: CommentInput | undefined;
114
+ };
114
115
  interface TableRelationalConfig {
115
116
  tsName: string;
116
117
  dbName: string;
@@ -192,5 +193,5 @@ interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn exten
192
193
  declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
193
194
  declare function mapRelationalRowFromObj(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
194
195
  //#endregion
195
- export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
196
+ export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, DBQueryConfigWithComment, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
196
197
  //# sourceMappingURL=_relations.d.cts.map
package/_relations.d.ts CHANGED
@@ -1,11 +1,9 @@
1
1
  import { entityKind } from "./entity.js";
2
2
  import { BinaryOperator, and, between, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/conditions.js";
3
3
  import { asc, desc } from "./sql/expressions/select.js";
4
- import "./sql/expressions/index.js";
5
4
  import { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.js";
6
- import { Placeholder, SQL, sql } from "./sql/sql.js";
5
+ import { CommentInput, Placeholder, SQL, sql } from "./sql/sql.js";
7
6
  import { AnyColumn, Column } from "./column.js";
8
- import "./index.js";
9
7
  import { AnyTable, InferModelFromColumns, Table } from "./table.js";
10
8
 
11
9
  //#region src/_relations.d.ts
@@ -62,7 +60,7 @@ declare class Many<TTableName extends string> extends Relation<TTableName> {
62
60
  } | undefined);
63
61
  withFieldName(fieldName: string): Many<TTableName>;
64
62
  }
65
- type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K$1 extends keyof TSchema> = TSchema[K$1] extends Relations<TTableName> ? K$1 : never;
63
+ type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
66
64
  type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{ [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never }>;
67
65
  type ExtractObjectValues<T> = T[keyof T];
68
66
  type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{ [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never }>;
@@ -111,6 +109,9 @@ type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoo
111
109
  } & (TIsRoot extends true ? {
112
110
  offset?: number | Placeholder | undefined;
113
111
  } : {}) : {});
112
+ type DBQueryConfigWithComment<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & {
113
+ comment?: CommentInput | undefined;
114
+ };
114
115
  interface TableRelationalConfig {
115
116
  tsName: string;
116
117
  dbName: string;
@@ -192,5 +193,5 @@ interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn exten
192
193
  declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
193
194
  declare function mapRelationalRowFromObj(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
194
195
  //#endregion
195
- export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
196
+ export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, DBQueryConfigWithComment, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
196
197
  //# sourceMappingURL=_relations.d.ts.map
package/_relations.js CHANGED
@@ -108,8 +108,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
108
108
  } else if (is(value, Relations)) {
109
109
  const dbName = getTableUniqueName(value.table);
110
110
  const tableName = tableNamesMap[dbName];
111
- const relations$1 = value.config(configHelpers(value.table));
112
- for (const [relationName, relation] of Object.entries(relations$1)) if (tableName) {
111
+ const relations = value.config(configHelpers(value.table));
112
+ for (const [relationName, relation] of Object.entries(relations)) if (tableName) {
113
113
  const tableConfig = tablesConfig[tableName];
114
114
  tableConfig.relations[relationName] = relation;
115
115
  } else {
@@ -122,8 +122,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
122
122
  tableNamesMap
123
123
  };
124
124
  }
125
- function relations(table, relations$1) {
126
- return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations$1(helpers)).map(([key, value]) => [key, value.withFieldName(key)])));
125
+ function relations(table, relations) {
126
+ return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations(helpers)).map(([key, value]) => [key, value.withFieldName(key)])));
127
127
  }
128
128
  function createOne(sourceTable) {
129
129
  return function one(table, config) {
package/_relations.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"_relations.js","names":["sourceTable: Table","referencedTable: AnyTable<{ name: TTableName }>","relationName: string | undefined","table: AnyTable<{ name: TTableName }>","config: (helpers: TableRelationsHelpers<TTableName>) => TConfig","config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined","isNullable: TIsNullable","config: { relationName: string } | undefined","tableNamesMap: Record<string, string>","relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t>","tablesConfig: TablesRelationalConfig","relations: Record<string, Relation>","relations","reverseRelations: Relation[]","result: Record<string, unknown>"],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"_relations.js","names":[],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type CommentInput, type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport type DBQueryConfigWithComment<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & { comment?: CommentInput | undefined };\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) {
13
+ __defProp(to, key, {
14
+ get: ((k) => from[k]).bind(null, key),
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ }
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+
27
+ //#endregion
28
+
29
+ exports.__toESM = __toESM;
package/alias.cjs CHANGED
@@ -1,7 +1,9 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
  const require_entity = require('./entity.cjs');
2
- const require_table = require('./table.cjs');
3
3
  const require_column_common = require('./column-common.cjs');
4
4
  const require_column = require('./column.cjs');
5
+ const require_subquery = require('./subquery.cjs');
6
+ const require_table = require('./table.cjs');
5
7
  const require_sql_sql = require('./sql/sql.cjs');
6
8
  const require_view_common = require('./view-common.cjs');
7
9
 
@@ -18,6 +20,20 @@ var ColumnTableAliasProxyHandler = class {
18
20
  return columnObj[prop];
19
21
  }
20
22
  };
23
+ var ViewSelectionAliasProxyHandler = class {
24
+ static [require_entity.entityKind] = "ViewSelectionAliasProxyHandler";
25
+ constructor(view, selection, ignoreColumnAlias) {
26
+ this.view = view;
27
+ this.selection = selection;
28
+ this.ignoreColumnAlias = ignoreColumnAlias;
29
+ }
30
+ get(selection, prop) {
31
+ const value = selection[prop];
32
+ if (require_entity.is(value, require_column.Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));
33
+ if (require_entity.is(value, require_subquery.Subquery) || require_entity.is(value, require_sql_sql.SQL) || require_entity.is(value, require_sql_sql.SQL.Aliased) || require_sql_sql.isSQLWrapper(value) || typeof value !== "object" || value === null) return value;
34
+ return new Proxy(value, this);
35
+ }
36
+ };
21
37
  var TableAliasProxyHandler = class {
22
38
  static [require_entity.entityKind] = "TableAliasProxyHandler";
23
39
  constructor(alias, replaceOriginalName, ignoreColumnAlias) {
@@ -32,11 +48,13 @@ var TableAliasProxyHandler = class {
32
48
  if (prop === require_view_common.ViewBaseConfig) return {
33
49
  ...target[require_view_common.ViewBaseConfig],
34
50
  name: this.alias,
35
- isAlias: true
51
+ isAlias: true,
52
+ selectedFields: new Proxy(target[require_view_common.ViewBaseConfig].selectedFields, new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[require_view_common.ViewBaseConfig].selectedFields, this.ignoreColumnAlias))
36
53
  };
37
54
  if (prop === require_table.Table.Symbol.Columns) {
38
55
  const columns = target[require_table.Table.Symbol.Columns];
39
56
  if (!columns) return columns;
57
+ if (require_entity.is(target, require_sql_sql.View)) return new Proxy(target[require_table.Table.Symbol.Columns], new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[require_table.Table.Symbol.Columns], this.ignoreColumnAlias));
40
58
  const proxiedColumns = {};
41
59
  Object.keys(columns).map((key) => {
42
60
  proxiedColumns[key] = new Proxy(columns[key], new ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias));
@@ -106,6 +124,7 @@ exports.ColumnAliasProxyHandler = ColumnAliasProxyHandler;
106
124
  exports.ColumnTableAliasProxyHandler = ColumnTableAliasProxyHandler;
107
125
  exports.RelationTableAliasProxyHandler = RelationTableAliasProxyHandler;
108
126
  exports.TableAliasProxyHandler = TableAliasProxyHandler;
127
+ exports.ViewSelectionAliasProxyHandler = ViewSelectionAliasProxyHandler;
109
128
  exports.aliasedColumn = aliasedColumn;
110
129
  exports.aliasedRelation = aliasedRelation;
111
130
  exports.aliasedTable = aliasedTable;
package/alias.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"alias.cjs","names":["entityKind","table: Table | View","ignoreColumnAlias?: boolean","alias: string","replaceOriginalName: boolean","Table","ViewBaseConfig","proxiedColumns: { [key: string]: any }","is","Column","OriginalColumn","SQL","sql"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport type { View } from './sql/sql.ts';\nimport { SQL, sql } from './sql/sql.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"alias.cjs","names":["entityKind","is","Column","Subquery","SQL","isSQLWrapper","Table","ViewBaseConfig","View","OriginalColumn","sql"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { View } from './sql/sql.ts';\nimport { isSQLWrapper, SQL, sql } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>>\n\timplements ProxyHandler<TSelection>\n{\n\tstatic readonly [entityKind]: string = 'ViewSelectionAliasProxyHandler';\n\n\tconstructor(protected view: View, protected selection: TSelection, private ignoreColumnAlias?: boolean) {}\n\n\tget(selection: TSelection, prop: string | symbol): any {\n\t\tconst value = selection[prop as keyof TSelection];\n\n\t\tif (is(value, Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));\n\t\tif (\n\t\t\tis(value, Subquery) || is(value, SQL) || is(value, SQL.Aliased) || isSQLWrapper(value)\n\t\t\t|| (typeof value !== 'object' || value === null)\n\t\t) return value;\n\n\t\treturn new Proxy(value as Record<string, unknown>, this);\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tif (is(target, View)) {\n\t\t\t\treturn new Proxy(\n\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":"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"}
package/alias.d.cts CHANGED
@@ -12,6 +12,14 @@ declare class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pr
12
12
  constructor(table: Table | View, ignoreColumnAlias?: boolean | undefined);
13
13
  get(columnObj: TColumn, prop: string | symbol): any;
14
14
  }
15
+ declare class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>> implements ProxyHandler<TSelection> {
16
+ protected view: View;
17
+ protected selection: TSelection;
18
+ private ignoreColumnAlias?;
19
+ static readonly [entityKind]: string;
20
+ constructor(view: View, selection: TSelection, ignoreColumnAlias?: boolean | undefined);
21
+ get(selection: TSelection, prop: string | symbol): any;
22
+ }
15
23
  declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
16
24
  private alias;
17
25
  private replaceOriginalName;
@@ -40,5 +48,5 @@ declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string
40
48
  declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;
41
49
  declare function getOriginalColumnFromAlias<T extends Column>(column: T): T;
42
50
  //#endregion
43
- export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
51
+ export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
44
52
  //# sourceMappingURL=alias.d.cts.map
package/alias.d.ts CHANGED
@@ -12,6 +12,14 @@ declare class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pr
12
12
  constructor(table: Table | View, ignoreColumnAlias?: boolean | undefined);
13
13
  get(columnObj: TColumn, prop: string | symbol): any;
14
14
  }
15
+ declare class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>> implements ProxyHandler<TSelection> {
16
+ protected view: View;
17
+ protected selection: TSelection;
18
+ private ignoreColumnAlias?;
19
+ static readonly [entityKind]: string;
20
+ constructor(view: View, selection: TSelection, ignoreColumnAlias?: boolean | undefined);
21
+ get(selection: TSelection, prop: string | symbol): any;
22
+ }
15
23
  declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
16
24
  private alias;
17
25
  private replaceOriginalName;
@@ -40,5 +48,5 @@ declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string
40
48
  declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;
41
49
  declare function getOriginalColumnFromAlias<T extends Column>(column: T): T;
42
50
  //#endregion
43
- export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
51
+ export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
44
52
  //# sourceMappingURL=alias.d.ts.map