drizzle-orm 1.0.0-beta.1 → 1.0.0-beta.1-dfa4db3

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 (1709) hide show
  1. package/_relations.cjs +6 -50
  2. package/_relations.cjs.map +1 -1
  3. package/_relations.d.cts +0 -1
  4. package/_relations.d.ts +0 -1
  5. package/_relations.js +6 -49
  6. package/_relations.js.map +1 -1
  7. package/aws-data-api/common/index.cjs.map +1 -1
  8. package/aws-data-api/common/index.js.map +1 -1
  9. package/aws-data-api/pg/driver.cjs +4 -1
  10. package/aws-data-api/pg/driver.cjs.map +1 -1
  11. package/aws-data-api/pg/driver.d.cts +3 -0
  12. package/aws-data-api/pg/driver.d.ts +3 -0
  13. package/aws-data-api/pg/driver.js +4 -1
  14. package/aws-data-api/pg/driver.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +9 -2
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +1 -0
  18. package/aws-data-api/pg/session.d.ts +1 -0
  19. package/aws-data-api/pg/session.js +9 -2
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +14 -10
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +3 -3
  24. package/better-sqlite3/driver.d.ts +3 -3
  25. package/better-sqlite3/driver.js +14 -10
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/bun-sql/driver.cjs.map +1 -1
  28. package/bun-sql/driver.d.cts +8 -8
  29. package/bun-sql/driver.d.ts +8 -8
  30. package/bun-sql/driver.js.map +1 -1
  31. package/bun-sql/mysql/driver.cjs +14 -10
  32. package/bun-sql/mysql/driver.cjs.map +1 -1
  33. package/bun-sql/mysql/driver.d.cts +3 -3
  34. package/bun-sql/mysql/driver.d.ts +3 -3
  35. package/bun-sql/mysql/driver.js +14 -10
  36. package/bun-sql/mysql/driver.js.map +1 -1
  37. package/bun-sql/postgres/driver.cjs +14 -10
  38. package/bun-sql/postgres/driver.cjs.map +1 -1
  39. package/bun-sql/postgres/driver.d.cts +3 -3
  40. package/bun-sql/postgres/driver.d.ts +3 -3
  41. package/bun-sql/postgres/driver.js +14 -10
  42. package/bun-sql/postgres/driver.js.map +1 -1
  43. package/bun-sql/sqlite/driver.cjs +14 -10
  44. package/bun-sql/sqlite/driver.cjs.map +1 -1
  45. package/bun-sql/sqlite/driver.d.cts +3 -3
  46. package/bun-sql/sqlite/driver.d.ts +3 -3
  47. package/bun-sql/sqlite/driver.js +14 -10
  48. package/bun-sql/sqlite/driver.js.map +1 -1
  49. package/bun-sqlite/driver.cjs +15 -11
  50. package/bun-sqlite/driver.cjs.map +1 -1
  51. package/bun-sqlite/driver.d.cts +3 -3
  52. package/bun-sqlite/driver.d.ts +3 -3
  53. package/bun-sqlite/driver.js +15 -11
  54. package/bun-sqlite/driver.js.map +1 -1
  55. package/column-builder.cjs.map +1 -1
  56. package/column-builder.d.cts +8 -9
  57. package/column-builder.d.ts +8 -9
  58. package/column-builder.js.map +1 -1
  59. package/durable-sqlite/session.cjs +3 -6
  60. package/durable-sqlite/session.cjs.map +1 -1
  61. package/durable-sqlite/session.d.cts +2 -1
  62. package/durable-sqlite/session.d.ts +2 -1
  63. package/durable-sqlite/session.js +2 -6
  64. package/durable-sqlite/session.js.map +1 -1
  65. package/entity.cjs.map +1 -1
  66. package/entity.js.map +1 -1
  67. package/gel/driver.cjs +10 -6
  68. package/gel/driver.cjs.map +1 -1
  69. package/gel/driver.d.cts +2 -2
  70. package/gel/driver.d.ts +2 -2
  71. package/gel/driver.js +10 -6
  72. package/gel/driver.js.map +1 -1
  73. package/gel-core/columns/bigint.cjs.map +1 -1
  74. package/gel-core/columns/bigint.d.cts +1 -0
  75. package/gel-core/columns/bigint.d.ts +1 -0
  76. package/gel-core/columns/bigint.js.map +1 -1
  77. package/gel-core/columns/bigintT.cjs.map +1 -1
  78. package/gel-core/columns/bigintT.d.cts +1 -0
  79. package/gel-core/columns/bigintT.d.ts +1 -0
  80. package/gel-core/columns/bigintT.js.map +1 -1
  81. package/gel-core/columns/boolean.cjs.map +1 -1
  82. package/gel-core/columns/boolean.d.cts +1 -0
  83. package/gel-core/columns/boolean.d.ts +1 -0
  84. package/gel-core/columns/boolean.js.map +1 -1
  85. package/gel-core/columns/bytes.cjs.map +1 -1
  86. package/gel-core/columns/bytes.d.cts +1 -0
  87. package/gel-core/columns/bytes.d.ts +1 -0
  88. package/gel-core/columns/bytes.js.map +1 -1
  89. package/gel-core/columns/common.cjs +4 -0
  90. package/gel-core/columns/common.cjs.map +1 -1
  91. package/gel-core/columns/common.d.cts +1 -1
  92. package/gel-core/columns/common.d.ts +1 -1
  93. package/gel-core/columns/common.js +4 -0
  94. package/gel-core/columns/common.js.map +1 -1
  95. package/gel-core/columns/custom.cjs.map +1 -1
  96. package/gel-core/columns/custom.d.cts +1 -0
  97. package/gel-core/columns/custom.d.ts +1 -0
  98. package/gel-core/columns/custom.js.map +1 -1
  99. package/gel-core/columns/date-duration.cjs.map +1 -1
  100. package/gel-core/columns/date-duration.d.cts +1 -0
  101. package/gel-core/columns/date-duration.d.ts +1 -0
  102. package/gel-core/columns/date-duration.js.map +1 -1
  103. package/gel-core/columns/decimal.cjs.map +1 -1
  104. package/gel-core/columns/decimal.d.cts +1 -0
  105. package/gel-core/columns/decimal.d.ts +1 -0
  106. package/gel-core/columns/decimal.js.map +1 -1
  107. package/gel-core/columns/double-precision.cjs.map +1 -1
  108. package/gel-core/columns/double-precision.d.cts +1 -0
  109. package/gel-core/columns/double-precision.d.ts +1 -0
  110. package/gel-core/columns/double-precision.js.map +1 -1
  111. package/gel-core/columns/duration.cjs.map +1 -1
  112. package/gel-core/columns/duration.d.cts +1 -0
  113. package/gel-core/columns/duration.d.ts +1 -0
  114. package/gel-core/columns/duration.js.map +1 -1
  115. package/gel-core/columns/integer.cjs.map +1 -1
  116. package/gel-core/columns/integer.d.cts +1 -0
  117. package/gel-core/columns/integer.d.ts +1 -0
  118. package/gel-core/columns/integer.js.map +1 -1
  119. package/gel-core/columns/json.cjs.map +1 -1
  120. package/gel-core/columns/json.d.cts +1 -0
  121. package/gel-core/columns/json.d.ts +1 -0
  122. package/gel-core/columns/json.js.map +1 -1
  123. package/gel-core/columns/localdate.cjs.map +1 -1
  124. package/gel-core/columns/localdate.d.cts +1 -0
  125. package/gel-core/columns/localdate.d.ts +1 -0
  126. package/gel-core/columns/localdate.js.map +1 -1
  127. package/gel-core/columns/localtime.cjs.map +1 -1
  128. package/gel-core/columns/localtime.d.cts +1 -0
  129. package/gel-core/columns/localtime.d.ts +1 -0
  130. package/gel-core/columns/localtime.js.map +1 -1
  131. package/gel-core/columns/real.cjs.map +1 -1
  132. package/gel-core/columns/real.d.cts +1 -0
  133. package/gel-core/columns/real.d.ts +1 -0
  134. package/gel-core/columns/real.js.map +1 -1
  135. package/gel-core/columns/relative-duration.cjs.map +1 -1
  136. package/gel-core/columns/relative-duration.d.cts +1 -0
  137. package/gel-core/columns/relative-duration.d.ts +1 -0
  138. package/gel-core/columns/relative-duration.js.map +1 -1
  139. package/gel-core/columns/smallint.cjs.map +1 -1
  140. package/gel-core/columns/smallint.d.cts +1 -0
  141. package/gel-core/columns/smallint.d.ts +1 -0
  142. package/gel-core/columns/smallint.js.map +1 -1
  143. package/gel-core/columns/text.cjs.map +1 -1
  144. package/gel-core/columns/text.d.cts +1 -0
  145. package/gel-core/columns/text.d.ts +1 -0
  146. package/gel-core/columns/text.js.map +1 -1
  147. package/gel-core/columns/timestamp.cjs.map +1 -1
  148. package/gel-core/columns/timestamp.d.cts +1 -0
  149. package/gel-core/columns/timestamp.d.ts +1 -0
  150. package/gel-core/columns/timestamp.js.map +1 -1
  151. package/gel-core/columns/timestamptz.cjs.map +1 -1
  152. package/gel-core/columns/timestamptz.d.cts +1 -0
  153. package/gel-core/columns/timestamptz.d.ts +1 -0
  154. package/gel-core/columns/timestamptz.js.map +1 -1
  155. package/gel-core/columns/uuid.cjs.map +1 -1
  156. package/gel-core/columns/uuid.d.cts +1 -0
  157. package/gel-core/columns/uuid.d.ts +1 -0
  158. package/gel-core/columns/uuid.js.map +1 -1
  159. package/gel-core/query-builders/count.cjs.map +1 -1
  160. package/gel-core/query-builders/count.d.cts +1 -1
  161. package/gel-core/query-builders/count.d.ts +1 -1
  162. package/gel-core/query-builders/count.js.map +1 -1
  163. package/gel-core/query-builders/insert.cjs.map +1 -1
  164. package/gel-core/query-builders/insert.d.cts +9 -6
  165. package/gel-core/query-builders/insert.d.ts +9 -6
  166. package/gel-core/query-builders/insert.js.map +1 -1
  167. package/gel-core/query-builders/select.cjs +9 -8
  168. package/gel-core/query-builders/select.cjs.map +1 -1
  169. package/gel-core/query-builders/select.js +4 -4
  170. package/gel-core/query-builders/select.js.map +1 -1
  171. package/gel-core/query-builders/update.cjs +2 -2
  172. package/gel-core/query-builders/update.cjs.map +1 -1
  173. package/gel-core/query-builders/update.d.cts +1 -1
  174. package/gel-core/query-builders/update.d.ts +1 -1
  175. package/gel-core/query-builders/update.js +2 -2
  176. package/gel-core/query-builders/update.js.map +1 -1
  177. package/gel-core/schema.cjs +4 -4
  178. package/gel-core/schema.cjs.map +1 -1
  179. package/gel-core/schema.js +4 -4
  180. package/gel-core/schema.js.map +1 -1
  181. package/gel-core/utils.cjs +2 -1
  182. package/gel-core/utils.cjs.map +1 -1
  183. package/gel-core/utils.d.cts +1 -1
  184. package/gel-core/utils.d.ts +1 -1
  185. package/gel-core/utils.js +2 -1
  186. package/gel-core/utils.js.map +1 -1
  187. package/gel-core/view-common.cjs +0 -3
  188. package/gel-core/view-common.cjs.map +1 -1
  189. package/gel-core/view-common.d.cts +0 -1
  190. package/gel-core/view-common.d.ts +0 -1
  191. package/gel-core/view-common.js +0 -2
  192. package/gel-core/view-common.js.map +1 -1
  193. package/gel-core/view.cjs +5 -2
  194. package/gel-core/view.cjs.map +1 -1
  195. package/gel-core/view.d.cts +2 -1
  196. package/gel-core/view.d.ts +2 -1
  197. package/gel-core/view.js +3 -1
  198. package/gel-core/view.js.map +1 -1
  199. package/libsql/driver.cjs +10 -6
  200. package/libsql/driver.cjs.map +1 -1
  201. package/libsql/driver.d.cts +3 -3
  202. package/libsql/driver.d.ts +3 -3
  203. package/libsql/driver.js +10 -6
  204. package/libsql/driver.js.map +1 -1
  205. package/libsql/http/index.cjs +10 -6
  206. package/libsql/http/index.cjs.map +1 -1
  207. package/libsql/http/index.d.cts +3 -3
  208. package/libsql/http/index.d.ts +3 -3
  209. package/libsql/http/index.js +10 -6
  210. package/libsql/http/index.js.map +1 -1
  211. package/libsql/node/index.cjs +10 -6
  212. package/libsql/node/index.cjs.map +1 -1
  213. package/libsql/node/index.d.cts +3 -3
  214. package/libsql/node/index.d.ts +3 -3
  215. package/libsql/node/index.js +10 -6
  216. package/libsql/node/index.js.map +1 -1
  217. package/libsql/session.cjs.map +1 -1
  218. package/libsql/session.d.cts +1 -1
  219. package/libsql/session.d.ts +1 -1
  220. package/libsql/session.js.map +1 -1
  221. package/libsql/sqlite3/index.cjs +10 -6
  222. package/libsql/sqlite3/index.cjs.map +1 -1
  223. package/libsql/sqlite3/index.d.cts +3 -3
  224. package/libsql/sqlite3/index.d.ts +3 -3
  225. package/libsql/sqlite3/index.js +10 -6
  226. package/libsql/sqlite3/index.js.map +1 -1
  227. package/libsql/wasm/index.cjs +10 -6
  228. package/libsql/wasm/index.cjs.map +1 -1
  229. package/libsql/wasm/index.d.cts +3 -3
  230. package/libsql/wasm/index.d.ts +3 -3
  231. package/libsql/wasm/index.js +10 -6
  232. package/libsql/wasm/index.js.map +1 -1
  233. package/libsql/web/index.cjs +10 -6
  234. package/libsql/web/index.cjs.map +1 -1
  235. package/libsql/web/index.d.cts +3 -3
  236. package/libsql/web/index.d.ts +3 -3
  237. package/libsql/web/index.js +10 -6
  238. package/libsql/web/index.js.map +1 -1
  239. package/libsql/ws/index.cjs +10 -6
  240. package/libsql/ws/index.cjs.map +1 -1
  241. package/libsql/ws/index.d.cts +3 -3
  242. package/libsql/ws/index.d.ts +3 -3
  243. package/libsql/ws/index.js +10 -6
  244. package/libsql/ws/index.js.map +1 -1
  245. package/mysql-core/columns/all.cjs +1 -6
  246. package/mysql-core/columns/all.cjs.map +1 -1
  247. package/mysql-core/columns/all.d.cts +0 -5
  248. package/mysql-core/columns/all.d.ts +0 -5
  249. package/mysql-core/columns/all.js +1 -6
  250. package/mysql-core/columns/all.js.map +1 -1
  251. package/mysql-core/columns/bigint.cjs.map +1 -1
  252. package/mysql-core/columns/bigint.d.cts +2 -0
  253. package/mysql-core/columns/bigint.d.ts +2 -0
  254. package/mysql-core/columns/bigint.js.map +1 -1
  255. package/mysql-core/columns/binary.cjs +1 -0
  256. package/mysql-core/columns/binary.cjs.map +1 -1
  257. package/mysql-core/columns/binary.d.cts +2 -0
  258. package/mysql-core/columns/binary.d.ts +2 -0
  259. package/mysql-core/columns/binary.js +1 -0
  260. package/mysql-core/columns/binary.js.map +1 -1
  261. package/mysql-core/columns/boolean.cjs.map +1 -1
  262. package/mysql-core/columns/boolean.d.cts +1 -0
  263. package/mysql-core/columns/boolean.d.ts +1 -0
  264. package/mysql-core/columns/boolean.js.map +1 -1
  265. package/mysql-core/columns/char.cjs +4 -3
  266. package/mysql-core/columns/char.cjs.map +1 -1
  267. package/mysql-core/columns/char.d.cts +5 -3
  268. package/mysql-core/columns/char.d.ts +5 -3
  269. package/mysql-core/columns/char.js +4 -3
  270. package/mysql-core/columns/char.js.map +1 -1
  271. package/mysql-core/columns/common.cjs +4 -0
  272. package/mysql-core/columns/common.cjs.map +1 -1
  273. package/mysql-core/columns/common.d.cts +1 -1
  274. package/mysql-core/columns/common.d.ts +1 -1
  275. package/mysql-core/columns/common.js +4 -0
  276. package/mysql-core/columns/common.js.map +1 -1
  277. package/mysql-core/columns/custom.cjs.map +1 -1
  278. package/mysql-core/columns/custom.d.cts +1 -0
  279. package/mysql-core/columns/custom.d.ts +1 -0
  280. package/mysql-core/columns/custom.js.map +1 -1
  281. package/mysql-core/columns/date.cjs.map +1 -1
  282. package/mysql-core/columns/date.common.cjs +1 -3
  283. package/mysql-core/columns/date.common.cjs.map +1 -1
  284. package/mysql-core/columns/date.common.d.cts +1 -6
  285. package/mysql-core/columns/date.common.d.ts +1 -6
  286. package/mysql-core/columns/date.common.js +1 -3
  287. package/mysql-core/columns/date.common.js.map +1 -1
  288. package/mysql-core/columns/date.d.cts +2 -0
  289. package/mysql-core/columns/date.d.ts +2 -0
  290. package/mysql-core/columns/date.js.map +1 -1
  291. package/mysql-core/columns/datetime.cjs.map +1 -1
  292. package/mysql-core/columns/datetime.d.cts +2 -0
  293. package/mysql-core/columns/datetime.d.ts +2 -0
  294. package/mysql-core/columns/datetime.js.map +1 -1
  295. package/mysql-core/columns/decimal.cjs.map +1 -1
  296. package/mysql-core/columns/decimal.d.cts +3 -0
  297. package/mysql-core/columns/decimal.d.ts +3 -0
  298. package/mysql-core/columns/decimal.js.map +1 -1
  299. package/mysql-core/columns/double.cjs.map +1 -1
  300. package/mysql-core/columns/double.d.cts +1 -0
  301. package/mysql-core/columns/double.d.ts +1 -0
  302. package/mysql-core/columns/double.js.map +1 -1
  303. package/mysql-core/columns/enum.cjs +5 -5
  304. package/mysql-core/columns/enum.cjs.map +1 -1
  305. package/mysql-core/columns/enum.d.cts +7 -5
  306. package/mysql-core/columns/enum.d.ts +7 -5
  307. package/mysql-core/columns/enum.js +5 -5
  308. package/mysql-core/columns/enum.js.map +1 -1
  309. package/mysql-core/columns/float.cjs.map +1 -1
  310. package/mysql-core/columns/float.d.cts +1 -0
  311. package/mysql-core/columns/float.d.ts +1 -0
  312. package/mysql-core/columns/float.js.map +1 -1
  313. package/mysql-core/columns/index.cjs +0 -2
  314. package/mysql-core/columns/index.cjs.map +1 -1
  315. package/mysql-core/columns/index.d.cts +0 -1
  316. package/mysql-core/columns/index.d.ts +0 -1
  317. package/mysql-core/columns/index.js +0 -1
  318. package/mysql-core/columns/index.js.map +1 -1
  319. package/mysql-core/columns/int.cjs.map +1 -1
  320. package/mysql-core/columns/int.d.cts +1 -0
  321. package/mysql-core/columns/int.d.ts +1 -0
  322. package/mysql-core/columns/int.js.map +1 -1
  323. package/mysql-core/columns/json.cjs.map +1 -1
  324. package/mysql-core/columns/json.d.cts +1 -0
  325. package/mysql-core/columns/json.d.ts +1 -0
  326. package/mysql-core/columns/json.js.map +1 -1
  327. package/mysql-core/columns/mediumint.cjs.map +1 -1
  328. package/mysql-core/columns/mediumint.d.cts +1 -0
  329. package/mysql-core/columns/mediumint.d.ts +1 -0
  330. package/mysql-core/columns/mediumint.js.map +1 -1
  331. package/mysql-core/columns/real.cjs.map +1 -1
  332. package/mysql-core/columns/real.d.cts +1 -0
  333. package/mysql-core/columns/real.d.ts +1 -0
  334. package/mysql-core/columns/real.js.map +1 -1
  335. package/mysql-core/columns/serial.cjs.map +1 -1
  336. package/mysql-core/columns/serial.d.cts +1 -0
  337. package/mysql-core/columns/serial.d.ts +1 -0
  338. package/mysql-core/columns/serial.js.map +1 -1
  339. package/mysql-core/columns/smallint.cjs.map +1 -1
  340. package/mysql-core/columns/smallint.d.cts +1 -0
  341. package/mysql-core/columns/smallint.d.ts +1 -0
  342. package/mysql-core/columns/smallint.js.map +1 -1
  343. package/mysql-core/columns/text.cjs +3 -3
  344. package/mysql-core/columns/text.cjs.map +1 -1
  345. package/mysql-core/columns/text.d.cts +4 -3
  346. package/mysql-core/columns/text.d.ts +4 -3
  347. package/mysql-core/columns/text.js +3 -3
  348. package/mysql-core/columns/text.js.map +1 -1
  349. package/mysql-core/columns/time.cjs.map +1 -1
  350. package/mysql-core/columns/time.d.cts +1 -0
  351. package/mysql-core/columns/time.d.ts +1 -0
  352. package/mysql-core/columns/time.js.map +1 -1
  353. package/mysql-core/columns/timestamp.cjs.map +1 -1
  354. package/mysql-core/columns/timestamp.d.cts +2 -0
  355. package/mysql-core/columns/timestamp.d.ts +2 -0
  356. package/mysql-core/columns/timestamp.js.map +1 -1
  357. package/mysql-core/columns/tinyint.cjs.map +1 -1
  358. package/mysql-core/columns/tinyint.d.cts +1 -0
  359. package/mysql-core/columns/tinyint.d.ts +1 -0
  360. package/mysql-core/columns/tinyint.js.map +1 -1
  361. package/mysql-core/columns/varbinary.cjs.map +1 -1
  362. package/mysql-core/columns/varbinary.d.cts +1 -0
  363. package/mysql-core/columns/varbinary.d.ts +1 -0
  364. package/mysql-core/columns/varbinary.js.map +1 -1
  365. package/mysql-core/columns/varchar.cjs +4 -4
  366. package/mysql-core/columns/varchar.cjs.map +1 -1
  367. package/mysql-core/columns/varchar.d.cts +5 -4
  368. package/mysql-core/columns/varchar.d.ts +5 -4
  369. package/mysql-core/columns/varchar.js +4 -4
  370. package/mysql-core/columns/varchar.js.map +1 -1
  371. package/mysql-core/columns/year.cjs.map +1 -1
  372. package/mysql-core/columns/year.d.cts +1 -0
  373. package/mysql-core/columns/year.d.ts +1 -0
  374. package/mysql-core/columns/year.js.map +1 -1
  375. package/mysql-core/dialect.cjs +0 -3
  376. package/mysql-core/dialect.cjs.map +1 -1
  377. package/mysql-core/dialect.d.cts +0 -1
  378. package/mysql-core/dialect.d.ts +0 -1
  379. package/mysql-core/dialect.js +0 -3
  380. package/mysql-core/dialect.js.map +1 -1
  381. package/mysql-core/foreign-keys.cjs +0 -3
  382. package/mysql-core/foreign-keys.cjs.map +1 -1
  383. package/mysql-core/foreign-keys.d.cts +0 -1
  384. package/mysql-core/foreign-keys.d.ts +0 -1
  385. package/mysql-core/foreign-keys.js +0 -3
  386. package/mysql-core/foreign-keys.js.map +1 -1
  387. package/mysql-core/indexes.cjs +0 -2
  388. package/mysql-core/indexes.cjs.map +1 -1
  389. package/mysql-core/indexes.d.cts +0 -1
  390. package/mysql-core/indexes.d.ts +0 -1
  391. package/mysql-core/indexes.js +0 -2
  392. package/mysql-core/indexes.js.map +1 -1
  393. package/mysql-core/primary-keys.cjs +13 -4
  394. package/mysql-core/primary-keys.cjs.map +1 -1
  395. package/mysql-core/primary-keys.d.cts +6 -3
  396. package/mysql-core/primary-keys.d.ts +6 -3
  397. package/mysql-core/primary-keys.js +13 -4
  398. package/mysql-core/primary-keys.js.map +1 -1
  399. package/mysql-core/query-builders/count.cjs.map +1 -1
  400. package/mysql-core/query-builders/count.d.cts +1 -1
  401. package/mysql-core/query-builders/count.d.ts +1 -1
  402. package/mysql-core/query-builders/count.js.map +1 -1
  403. package/mysql-core/query-builders/insert.cjs.map +1 -1
  404. package/mysql-core/query-builders/insert.d.cts +2 -2
  405. package/mysql-core/query-builders/insert.d.ts +2 -2
  406. package/mysql-core/query-builders/insert.js.map +1 -1
  407. package/mysql-core/query-builders/select.cjs +2 -2
  408. package/mysql-core/query-builders/select.cjs.map +1 -1
  409. package/mysql-core/query-builders/select.js +2 -2
  410. package/mysql-core/query-builders/select.js.map +1 -1
  411. package/mysql-core/query-builders/update.cjs.map +1 -1
  412. package/mysql-core/query-builders/update.d.cts +1 -1
  413. package/mysql-core/query-builders/update.d.ts +1 -1
  414. package/mysql-core/query-builders/update.js.map +1 -1
  415. package/mysql-core/schema.cjs +2 -2
  416. package/mysql-core/schema.cjs.map +1 -1
  417. package/mysql-core/schema.js +2 -2
  418. package/mysql-core/schema.js.map +1 -1
  419. package/mysql-core/unique-constraint.cjs +0 -2
  420. package/mysql-core/unique-constraint.cjs.map +1 -1
  421. package/mysql-core/unique-constraint.d.cts +2 -3
  422. package/mysql-core/unique-constraint.d.ts +2 -3
  423. package/mysql-core/unique-constraint.js +0 -2
  424. package/mysql-core/unique-constraint.js.map +1 -1
  425. package/mysql-proxy/driver.cjs +2 -2
  426. package/mysql-proxy/driver.cjs.map +1 -1
  427. package/mysql-proxy/driver.d.cts +1 -2
  428. package/mysql-proxy/driver.d.ts +1 -2
  429. package/mysql-proxy/driver.js +2 -2
  430. package/mysql-proxy/driver.js.map +1 -1
  431. package/mysql2/driver.cjs +14 -10
  432. package/mysql2/driver.cjs.map +1 -1
  433. package/mysql2/driver.d.cts +3 -3
  434. package/mysql2/driver.d.ts +3 -3
  435. package/mysql2/driver.js +14 -10
  436. package/mysql2/driver.js.map +1 -1
  437. package/mysql2/session.cjs.map +1 -1
  438. package/mysql2/session.js.map +1 -1
  439. package/neon-http/driver.cjs +14 -10
  440. package/neon-http/driver.cjs.map +1 -1
  441. package/neon-http/driver.d.cts +3 -3
  442. package/neon-http/driver.d.ts +3 -3
  443. package/neon-http/driver.js +14 -10
  444. package/neon-http/driver.js.map +1 -1
  445. package/neon-http/session.cjs.map +1 -1
  446. package/neon-http/session.d.cts +1 -1
  447. package/neon-http/session.d.ts +1 -1
  448. package/neon-http/session.js.map +1 -1
  449. package/neon-serverless/driver.cjs +14 -10
  450. package/neon-serverless/driver.cjs.map +1 -1
  451. package/neon-serverless/driver.d.cts +3 -3
  452. package/neon-serverless/driver.d.ts +3 -3
  453. package/neon-serverless/driver.js +14 -10
  454. package/neon-serverless/driver.js.map +1 -1
  455. package/neon-serverless/session.cjs.map +1 -1
  456. package/neon-serverless/session.js.map +1 -1
  457. package/node-postgres/driver.cjs +12 -8
  458. package/node-postgres/driver.cjs.map +1 -1
  459. package/node-postgres/driver.d.cts +3 -3
  460. package/node-postgres/driver.d.ts +3 -3
  461. package/node-postgres/driver.js +12 -8
  462. package/node-postgres/driver.js.map +1 -1
  463. package/node-postgres/session.cjs.map +1 -1
  464. package/node-postgres/session.js.map +1 -1
  465. package/package.json +37 -1503
  466. package/pg-core/columns/bigint.cjs.map +1 -1
  467. package/pg-core/columns/bigint.d.cts +2 -0
  468. package/pg-core/columns/bigint.d.ts +2 -0
  469. package/pg-core/columns/bigint.js.map +1 -1
  470. package/pg-core/columns/bigserial.cjs +0 -1
  471. package/pg-core/columns/bigserial.cjs.map +1 -1
  472. package/pg-core/columns/bigserial.d.cts +2 -0
  473. package/pg-core/columns/bigserial.d.ts +2 -0
  474. package/pg-core/columns/bigserial.js +0 -1
  475. package/pg-core/columns/bigserial.js.map +1 -1
  476. package/pg-core/columns/boolean.cjs.map +1 -1
  477. package/pg-core/columns/boolean.d.cts +1 -0
  478. package/pg-core/columns/boolean.d.ts +1 -0
  479. package/pg-core/columns/boolean.js.map +1 -1
  480. package/pg-core/columns/bytea.cjs.map +1 -1
  481. package/pg-core/columns/bytea.d.cts +1 -0
  482. package/pg-core/columns/bytea.d.ts +1 -0
  483. package/pg-core/columns/bytea.js.map +1 -1
  484. package/pg-core/columns/char.cjs +1 -0
  485. package/pg-core/columns/char.cjs.map +1 -1
  486. package/pg-core/columns/char.d.cts +2 -0
  487. package/pg-core/columns/char.d.ts +2 -0
  488. package/pg-core/columns/char.js +1 -0
  489. package/pg-core/columns/char.js.map +1 -1
  490. package/pg-core/columns/cidr.cjs.map +1 -1
  491. package/pg-core/columns/cidr.d.cts +1 -0
  492. package/pg-core/columns/cidr.d.ts +1 -0
  493. package/pg-core/columns/cidr.js.map +1 -1
  494. package/pg-core/columns/common.cjs +14 -10
  495. package/pg-core/columns/common.cjs.map +1 -1
  496. package/pg-core/columns/common.d.cts +3 -4
  497. package/pg-core/columns/common.d.ts +3 -4
  498. package/pg-core/columns/common.js +14 -10
  499. package/pg-core/columns/common.js.map +1 -1
  500. package/pg-core/columns/custom.cjs.map +1 -1
  501. package/pg-core/columns/custom.d.cts +1 -0
  502. package/pg-core/columns/custom.d.ts +1 -0
  503. package/pg-core/columns/custom.js.map +1 -1
  504. package/pg-core/columns/date.cjs.map +1 -1
  505. package/pg-core/columns/date.d.cts +2 -0
  506. package/pg-core/columns/date.d.ts +2 -0
  507. package/pg-core/columns/date.js.map +1 -1
  508. package/pg-core/columns/double-precision.cjs.map +1 -1
  509. package/pg-core/columns/double-precision.d.cts +1 -0
  510. package/pg-core/columns/double-precision.d.ts +1 -0
  511. package/pg-core/columns/double-precision.js.map +1 -1
  512. package/pg-core/columns/enum.cjs.map +1 -1
  513. package/pg-core/columns/enum.d.cts +2 -0
  514. package/pg-core/columns/enum.d.ts +2 -0
  515. package/pg-core/columns/enum.js.map +1 -1
  516. package/pg-core/columns/inet.cjs.map +1 -1
  517. package/pg-core/columns/inet.d.cts +1 -0
  518. package/pg-core/columns/inet.d.ts +1 -0
  519. package/pg-core/columns/inet.js.map +1 -1
  520. package/pg-core/columns/integer.cjs.map +1 -1
  521. package/pg-core/columns/integer.d.cts +1 -0
  522. package/pg-core/columns/integer.d.ts +1 -0
  523. package/pg-core/columns/integer.js.map +1 -1
  524. package/pg-core/columns/interval.cjs.map +1 -1
  525. package/pg-core/columns/interval.d.cts +1 -0
  526. package/pg-core/columns/interval.d.ts +1 -0
  527. package/pg-core/columns/interval.js.map +1 -1
  528. package/pg-core/columns/json.cjs.map +1 -1
  529. package/pg-core/columns/json.d.cts +1 -0
  530. package/pg-core/columns/json.d.ts +1 -0
  531. package/pg-core/columns/json.js.map +1 -1
  532. package/pg-core/columns/jsonb.cjs.map +1 -1
  533. package/pg-core/columns/jsonb.d.cts +1 -0
  534. package/pg-core/columns/jsonb.d.ts +1 -0
  535. package/pg-core/columns/jsonb.js.map +1 -1
  536. package/pg-core/columns/line.cjs +0 -2
  537. package/pg-core/columns/line.cjs.map +1 -1
  538. package/pg-core/columns/line.d.cts +2 -2
  539. package/pg-core/columns/line.d.ts +2 -2
  540. package/pg-core/columns/line.js +0 -2
  541. package/pg-core/columns/line.js.map +1 -1
  542. package/pg-core/columns/macaddr.cjs.map +1 -1
  543. package/pg-core/columns/macaddr.d.cts +1 -0
  544. package/pg-core/columns/macaddr.d.ts +1 -0
  545. package/pg-core/columns/macaddr.js.map +1 -1
  546. package/pg-core/columns/macaddr8.cjs.map +1 -1
  547. package/pg-core/columns/macaddr8.d.cts +1 -0
  548. package/pg-core/columns/macaddr8.d.ts +1 -0
  549. package/pg-core/columns/macaddr8.js.map +1 -1
  550. package/pg-core/columns/numeric.cjs.map +1 -1
  551. package/pg-core/columns/numeric.d.cts +3 -0
  552. package/pg-core/columns/numeric.d.ts +3 -0
  553. package/pg-core/columns/numeric.js.map +1 -1
  554. package/pg-core/columns/point.cjs +0 -2
  555. package/pg-core/columns/point.cjs.map +1 -1
  556. package/pg-core/columns/point.d.cts +2 -2
  557. package/pg-core/columns/point.d.ts +2 -2
  558. package/pg-core/columns/point.js +0 -2
  559. package/pg-core/columns/point.js.map +1 -1
  560. package/pg-core/columns/postgis_extension/geometry.cjs +8 -14
  561. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  562. package/pg-core/columns/postgis_extension/geometry.d.cts +6 -16
  563. package/pg-core/columns/postgis_extension/geometry.d.ts +6 -16
  564. package/pg-core/columns/postgis_extension/geometry.js +8 -14
  565. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  566. package/pg-core/columns/postgis_extension/utils.cjs +3 -3
  567. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  568. package/pg-core/columns/postgis_extension/utils.d.cts +1 -4
  569. package/pg-core/columns/postgis_extension/utils.d.ts +1 -4
  570. package/pg-core/columns/postgis_extension/utils.js +3 -3
  571. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  572. package/pg-core/columns/real.cjs.map +1 -1
  573. package/pg-core/columns/real.d.cts +1 -0
  574. package/pg-core/columns/real.d.ts +1 -0
  575. package/pg-core/columns/real.js.map +1 -1
  576. package/pg-core/columns/serial.cjs.map +1 -1
  577. package/pg-core/columns/serial.d.cts +1 -0
  578. package/pg-core/columns/serial.d.ts +1 -0
  579. package/pg-core/columns/serial.js.map +1 -1
  580. package/pg-core/columns/smallint.cjs.map +1 -1
  581. package/pg-core/columns/smallint.d.cts +1 -0
  582. package/pg-core/columns/smallint.d.ts +1 -0
  583. package/pg-core/columns/smallint.js.map +1 -1
  584. package/pg-core/columns/smallserial.cjs.map +1 -1
  585. package/pg-core/columns/smallserial.d.cts +1 -0
  586. package/pg-core/columns/smallserial.d.ts +1 -0
  587. package/pg-core/columns/smallserial.js.map +1 -1
  588. package/pg-core/columns/text.cjs.map +1 -1
  589. package/pg-core/columns/text.d.cts +1 -0
  590. package/pg-core/columns/text.d.ts +1 -0
  591. package/pg-core/columns/text.js.map +1 -1
  592. package/pg-core/columns/time.cjs.map +1 -1
  593. package/pg-core/columns/time.d.cts +1 -0
  594. package/pg-core/columns/time.d.ts +1 -0
  595. package/pg-core/columns/time.js.map +1 -1
  596. package/pg-core/columns/timestamp.cjs.map +1 -1
  597. package/pg-core/columns/timestamp.d.cts +2 -0
  598. package/pg-core/columns/timestamp.d.ts +2 -0
  599. package/pg-core/columns/timestamp.js.map +1 -1
  600. package/pg-core/columns/uuid.cjs.map +1 -1
  601. package/pg-core/columns/uuid.d.cts +1 -0
  602. package/pg-core/columns/uuid.d.ts +1 -0
  603. package/pg-core/columns/uuid.js.map +1 -1
  604. package/pg-core/columns/varchar.cjs.map +1 -1
  605. package/pg-core/columns/varchar.d.cts +1 -0
  606. package/pg-core/columns/varchar.d.ts +1 -0
  607. package/pg-core/columns/varchar.js.map +1 -1
  608. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  609. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  610. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  611. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  612. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  613. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  614. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  615. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  616. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  617. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  618. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  619. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  620. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  621. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  622. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  623. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  624. package/pg-core/db.cjs +3 -2
  625. package/pg-core/db.cjs.map +1 -1
  626. package/pg-core/db.d.cts +1 -1
  627. package/pg-core/db.d.ts +1 -1
  628. package/pg-core/db.js +3 -2
  629. package/pg-core/db.js.map +1 -1
  630. package/pg-core/foreign-keys.cjs +0 -4
  631. package/pg-core/foreign-keys.cjs.map +1 -1
  632. package/pg-core/foreign-keys.d.cts +0 -2
  633. package/pg-core/foreign-keys.d.ts +0 -2
  634. package/pg-core/foreign-keys.js +0 -4
  635. package/pg-core/foreign-keys.js.map +1 -1
  636. package/pg-core/indexes.cjs +0 -2
  637. package/pg-core/indexes.cjs.map +1 -1
  638. package/pg-core/indexes.d.cts +0 -1
  639. package/pg-core/indexes.d.ts +0 -1
  640. package/pg-core/indexes.js +0 -2
  641. package/pg-core/indexes.js.map +1 -1
  642. package/pg-core/primary-keys.cjs +0 -2
  643. package/pg-core/primary-keys.cjs.map +1 -1
  644. package/pg-core/primary-keys.d.cts +0 -1
  645. package/pg-core/primary-keys.d.ts +0 -1
  646. package/pg-core/primary-keys.js +0 -2
  647. package/pg-core/primary-keys.js.map +1 -1
  648. package/pg-core/query-builders/count.cjs.map +1 -1
  649. package/pg-core/query-builders/count.d.cts +1 -1
  650. package/pg-core/query-builders/count.d.ts +1 -1
  651. package/pg-core/query-builders/count.js.map +1 -1
  652. package/pg-core/query-builders/insert.cjs.map +1 -1
  653. package/pg-core/query-builders/insert.d.cts +9 -6
  654. package/pg-core/query-builders/insert.d.ts +9 -6
  655. package/pg-core/query-builders/insert.js.map +1 -1
  656. package/pg-core/query-builders/query.cjs +9 -5
  657. package/pg-core/query-builders/query.cjs.map +1 -1
  658. package/pg-core/query-builders/query.d.cts +4 -2
  659. package/pg-core/query-builders/query.d.ts +4 -2
  660. package/pg-core/query-builders/query.js +9 -5
  661. package/pg-core/query-builders/query.js.map +1 -1
  662. package/pg-core/query-builders/select.cjs +9 -8
  663. package/pg-core/query-builders/select.cjs.map +1 -1
  664. package/pg-core/query-builders/select.js +4 -4
  665. package/pg-core/query-builders/select.js.map +1 -1
  666. package/pg-core/query-builders/update.cjs +2 -2
  667. package/pg-core/query-builders/update.cjs.map +1 -1
  668. package/pg-core/query-builders/update.d.cts +1 -1
  669. package/pg-core/query-builders/update.d.ts +1 -1
  670. package/pg-core/query-builders/update.js +2 -2
  671. package/pg-core/query-builders/update.js.map +1 -1
  672. package/pg-core/schema.cjs +8 -8
  673. package/pg-core/schema.cjs.map +1 -1
  674. package/pg-core/schema.js +8 -8
  675. package/pg-core/schema.js.map +1 -1
  676. package/pg-core/unique-constraint.cjs +0 -2
  677. package/pg-core/unique-constraint.cjs.map +1 -1
  678. package/pg-core/unique-constraint.d.cts +0 -1
  679. package/pg-core/unique-constraint.d.ts +0 -1
  680. package/pg-core/unique-constraint.js +0 -2
  681. package/pg-core/unique-constraint.js.map +1 -1
  682. package/pg-core/utils.cjs +2 -1
  683. package/pg-core/utils.cjs.map +1 -1
  684. package/pg-core/utils.d.cts +1 -1
  685. package/pg-core/utils.d.ts +1 -1
  686. package/pg-core/utils.js +2 -1
  687. package/pg-core/utils.js.map +1 -1
  688. package/pg-core/view-common.cjs +0 -3
  689. package/pg-core/view-common.cjs.map +1 -1
  690. package/pg-core/view-common.d.cts +0 -1
  691. package/pg-core/view-common.d.ts +0 -1
  692. package/pg-core/view-common.js +0 -2
  693. package/pg-core/view-common.js.map +1 -1
  694. package/pg-core/view.cjs +5 -2
  695. package/pg-core/view.cjs.map +1 -1
  696. package/pg-core/view.d.cts +2 -1
  697. package/pg-core/view.d.ts +2 -1
  698. package/pg-core/view.js +3 -1
  699. package/pg-core/view.js.map +1 -1
  700. package/pglite/driver.cjs +14 -10
  701. package/pglite/driver.cjs.map +1 -1
  702. package/pglite/driver.d.cts +3 -3
  703. package/pglite/driver.d.ts +3 -3
  704. package/pglite/driver.js +14 -10
  705. package/pglite/driver.js.map +1 -1
  706. package/planetscale-serverless/driver.cjs +15 -11
  707. package/planetscale-serverless/driver.cjs.map +1 -1
  708. package/planetscale-serverless/driver.d.cts +3 -3
  709. package/planetscale-serverless/driver.d.ts +3 -3
  710. package/planetscale-serverless/driver.js +15 -11
  711. package/planetscale-serverless/driver.js.map +1 -1
  712. package/postgres-js/driver.cjs +14 -10
  713. package/postgres-js/driver.cjs.map +1 -1
  714. package/postgres-js/driver.d.cts +3 -3
  715. package/postgres-js/driver.d.ts +3 -3
  716. package/postgres-js/driver.js +14 -10
  717. package/postgres-js/driver.js.map +1 -1
  718. package/singlestore/driver.cjs +26 -19
  719. package/singlestore/driver.cjs.map +1 -1
  720. package/singlestore/driver.d.cts +3 -3
  721. package/singlestore/driver.d.ts +3 -3
  722. package/singlestore/driver.js +26 -19
  723. package/singlestore/driver.js.map +1 -1
  724. package/singlestore/session.cjs.map +1 -1
  725. package/singlestore/session.js.map +1 -1
  726. package/singlestore-core/columns/bigint.cjs.map +1 -1
  727. package/singlestore-core/columns/bigint.d.cts +2 -0
  728. package/singlestore-core/columns/bigint.d.ts +2 -0
  729. package/singlestore-core/columns/bigint.js.map +1 -1
  730. package/singlestore-core/columns/binary.cjs +1 -0
  731. package/singlestore-core/columns/binary.cjs.map +1 -1
  732. package/singlestore-core/columns/binary.d.cts +2 -0
  733. package/singlestore-core/columns/binary.d.ts +2 -0
  734. package/singlestore-core/columns/binary.js +1 -0
  735. package/singlestore-core/columns/binary.js.map +1 -1
  736. package/singlestore-core/columns/boolean.cjs.map +1 -1
  737. package/singlestore-core/columns/boolean.d.cts +1 -0
  738. package/singlestore-core/columns/boolean.d.ts +1 -0
  739. package/singlestore-core/columns/boolean.js.map +1 -1
  740. package/singlestore-core/columns/char.cjs +1 -0
  741. package/singlestore-core/columns/char.cjs.map +1 -1
  742. package/singlestore-core/columns/char.d.cts +2 -0
  743. package/singlestore-core/columns/char.d.ts +2 -0
  744. package/singlestore-core/columns/char.js +1 -0
  745. package/singlestore-core/columns/char.js.map +1 -1
  746. package/singlestore-core/columns/common.cjs +4 -0
  747. package/singlestore-core/columns/common.cjs.map +1 -1
  748. package/singlestore-core/columns/common.d.cts +1 -1
  749. package/singlestore-core/columns/common.d.ts +1 -1
  750. package/singlestore-core/columns/common.js +4 -0
  751. package/singlestore-core/columns/common.js.map +1 -1
  752. package/singlestore-core/columns/custom.cjs.map +1 -1
  753. package/singlestore-core/columns/custom.d.cts +1 -0
  754. package/singlestore-core/columns/custom.d.ts +1 -0
  755. package/singlestore-core/columns/custom.js.map +1 -1
  756. package/singlestore-core/columns/date.cjs.map +1 -1
  757. package/singlestore-core/columns/date.d.cts +2 -0
  758. package/singlestore-core/columns/date.d.ts +2 -0
  759. package/singlestore-core/columns/date.js.map +1 -1
  760. package/singlestore-core/columns/datetime.cjs.map +1 -1
  761. package/singlestore-core/columns/datetime.d.cts +2 -0
  762. package/singlestore-core/columns/datetime.d.ts +2 -0
  763. package/singlestore-core/columns/datetime.js.map +1 -1
  764. package/singlestore-core/columns/decimal.cjs.map +1 -1
  765. package/singlestore-core/columns/decimal.d.cts +3 -0
  766. package/singlestore-core/columns/decimal.d.ts +3 -0
  767. package/singlestore-core/columns/decimal.js.map +1 -1
  768. package/singlestore-core/columns/double.cjs.map +1 -1
  769. package/singlestore-core/columns/double.d.cts +1 -0
  770. package/singlestore-core/columns/double.d.ts +1 -0
  771. package/singlestore-core/columns/double.js.map +1 -1
  772. package/singlestore-core/columns/enum.cjs.map +1 -1
  773. package/singlestore-core/columns/enum.d.cts +1 -0
  774. package/singlestore-core/columns/enum.d.ts +1 -0
  775. package/singlestore-core/columns/enum.js.map +1 -1
  776. package/singlestore-core/columns/float.cjs.map +1 -1
  777. package/singlestore-core/columns/float.d.cts +1 -0
  778. package/singlestore-core/columns/float.d.ts +1 -0
  779. package/singlestore-core/columns/float.js.map +1 -1
  780. package/singlestore-core/columns/int.cjs.map +1 -1
  781. package/singlestore-core/columns/int.d.cts +1 -0
  782. package/singlestore-core/columns/int.d.ts +1 -0
  783. package/singlestore-core/columns/int.js.map +1 -1
  784. package/singlestore-core/columns/json.cjs.map +1 -1
  785. package/singlestore-core/columns/json.d.cts +1 -0
  786. package/singlestore-core/columns/json.d.ts +1 -0
  787. package/singlestore-core/columns/json.js.map +1 -1
  788. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  789. package/singlestore-core/columns/mediumint.d.cts +1 -0
  790. package/singlestore-core/columns/mediumint.d.ts +1 -0
  791. package/singlestore-core/columns/mediumint.js.map +1 -1
  792. package/singlestore-core/columns/real.cjs.map +1 -1
  793. package/singlestore-core/columns/real.d.cts +1 -0
  794. package/singlestore-core/columns/real.d.ts +1 -0
  795. package/singlestore-core/columns/real.js.map +1 -1
  796. package/singlestore-core/columns/serial.cjs.map +1 -1
  797. package/singlestore-core/columns/serial.d.cts +1 -0
  798. package/singlestore-core/columns/serial.d.ts +1 -0
  799. package/singlestore-core/columns/serial.js.map +1 -1
  800. package/singlestore-core/columns/smallint.cjs.map +1 -1
  801. package/singlestore-core/columns/smallint.d.cts +1 -0
  802. package/singlestore-core/columns/smallint.d.ts +1 -0
  803. package/singlestore-core/columns/smallint.js.map +1 -1
  804. package/singlestore-core/columns/text.cjs.map +1 -1
  805. package/singlestore-core/columns/text.d.cts +1 -0
  806. package/singlestore-core/columns/text.d.ts +1 -0
  807. package/singlestore-core/columns/text.js.map +1 -1
  808. package/singlestore-core/columns/time.cjs.map +1 -1
  809. package/singlestore-core/columns/time.d.cts +1 -0
  810. package/singlestore-core/columns/time.d.ts +1 -0
  811. package/singlestore-core/columns/time.js.map +1 -1
  812. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  813. package/singlestore-core/columns/timestamp.d.cts +2 -0
  814. package/singlestore-core/columns/timestamp.d.ts +2 -0
  815. package/singlestore-core/columns/timestamp.js.map +1 -1
  816. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  817. package/singlestore-core/columns/tinyint.d.cts +1 -0
  818. package/singlestore-core/columns/tinyint.d.ts +1 -0
  819. package/singlestore-core/columns/tinyint.js.map +1 -1
  820. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  821. package/singlestore-core/columns/varbinary.d.cts +1 -0
  822. package/singlestore-core/columns/varbinary.d.ts +1 -0
  823. package/singlestore-core/columns/varbinary.js.map +1 -1
  824. package/singlestore-core/columns/varchar.cjs.map +1 -1
  825. package/singlestore-core/columns/varchar.d.cts +1 -0
  826. package/singlestore-core/columns/varchar.d.ts +1 -0
  827. package/singlestore-core/columns/varchar.js.map +1 -1
  828. package/singlestore-core/columns/vector.cjs.map +1 -1
  829. package/singlestore-core/columns/vector.d.cts +2 -0
  830. package/singlestore-core/columns/vector.d.ts +2 -0
  831. package/singlestore-core/columns/vector.js.map +1 -1
  832. package/singlestore-core/columns/year.cjs.map +1 -1
  833. package/singlestore-core/columns/year.d.cts +1 -0
  834. package/singlestore-core/columns/year.d.ts +1 -0
  835. package/singlestore-core/columns/year.js.map +1 -1
  836. package/singlestore-core/indexes.cjs +0 -2
  837. package/singlestore-core/indexes.cjs.map +1 -1
  838. package/singlestore-core/indexes.d.cts +0 -1
  839. package/singlestore-core/indexes.d.ts +0 -1
  840. package/singlestore-core/indexes.js +0 -2
  841. package/singlestore-core/indexes.js.map +1 -1
  842. package/singlestore-core/primary-keys.cjs +0 -2
  843. package/singlestore-core/primary-keys.cjs.map +1 -1
  844. package/singlestore-core/primary-keys.d.cts +0 -1
  845. package/singlestore-core/primary-keys.d.ts +0 -1
  846. package/singlestore-core/primary-keys.js +0 -2
  847. package/singlestore-core/primary-keys.js.map +1 -1
  848. package/singlestore-core/query-builders/count.cjs.map +1 -1
  849. package/singlestore-core/query-builders/count.d.cts +1 -1
  850. package/singlestore-core/query-builders/count.d.ts +1 -1
  851. package/singlestore-core/query-builders/count.js.map +1 -1
  852. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  853. package/singlestore-core/query-builders/insert.d.cts +1 -1
  854. package/singlestore-core/query-builders/insert.d.ts +1 -1
  855. package/singlestore-core/query-builders/insert.js.map +1 -1
  856. package/singlestore-core/query-builders/select.cjs +2 -2
  857. package/singlestore-core/query-builders/select.cjs.map +1 -1
  858. package/singlestore-core/query-builders/select.js +2 -2
  859. package/singlestore-core/query-builders/select.js.map +1 -1
  860. package/singlestore-core/query-builders/update.cjs.map +1 -1
  861. package/singlestore-core/query-builders/update.d.cts +1 -1
  862. package/singlestore-core/query-builders/update.d.ts +1 -1
  863. package/singlestore-core/query-builders/update.js.map +1 -1
  864. package/singlestore-core/unique-constraint.cjs +0 -2
  865. package/singlestore-core/unique-constraint.cjs.map +1 -1
  866. package/singlestore-core/unique-constraint.d.cts +2 -3
  867. package/singlestore-core/unique-constraint.d.ts +2 -3
  868. package/singlestore-core/unique-constraint.js +0 -2
  869. package/singlestore-core/unique-constraint.js.map +1 -1
  870. package/sql/sql.cjs +3 -10
  871. package/sql/sql.cjs.map +1 -1
  872. package/sql/sql.d.cts +1 -1
  873. package/sql/sql.d.ts +1 -1
  874. package/sql/sql.js +3 -10
  875. package/sql/sql.js.map +1 -1
  876. package/sql-js/session.cjs.map +1 -1
  877. package/sql-js/session.js.map +1 -1
  878. package/sqlite-core/columns/blob.cjs.map +1 -1
  879. package/sqlite-core/columns/blob.d.cts +3 -0
  880. package/sqlite-core/columns/blob.d.ts +3 -0
  881. package/sqlite-core/columns/blob.js.map +1 -1
  882. package/sqlite-core/columns/common.cjs +4 -0
  883. package/sqlite-core/columns/common.cjs.map +1 -1
  884. package/sqlite-core/columns/common.js +4 -0
  885. package/sqlite-core/columns/common.js.map +1 -1
  886. package/sqlite-core/columns/custom.cjs.map +1 -1
  887. package/sqlite-core/columns/custom.d.cts +1 -0
  888. package/sqlite-core/columns/custom.d.ts +1 -0
  889. package/sqlite-core/columns/custom.js.map +1 -1
  890. package/sqlite-core/columns/integer.cjs.map +1 -1
  891. package/sqlite-core/columns/integer.d.cts +3 -0
  892. package/sqlite-core/columns/integer.d.ts +3 -0
  893. package/sqlite-core/columns/integer.js.map +1 -1
  894. package/sqlite-core/columns/numeric.cjs.map +1 -1
  895. package/sqlite-core/columns/numeric.d.cts +3 -0
  896. package/sqlite-core/columns/numeric.d.ts +3 -0
  897. package/sqlite-core/columns/numeric.js.map +1 -1
  898. package/sqlite-core/columns/real.cjs.map +1 -1
  899. package/sqlite-core/columns/real.d.cts +1 -0
  900. package/sqlite-core/columns/real.d.ts +1 -0
  901. package/sqlite-core/columns/real.js.map +1 -1
  902. package/sqlite-core/columns/text.cjs.map +1 -1
  903. package/sqlite-core/columns/text.d.cts +2 -0
  904. package/sqlite-core/columns/text.d.ts +2 -0
  905. package/sqlite-core/columns/text.js.map +1 -1
  906. package/sqlite-core/foreign-keys.cjs +0 -3
  907. package/sqlite-core/foreign-keys.cjs.map +1 -1
  908. package/sqlite-core/foreign-keys.d.cts +14 -1
  909. package/sqlite-core/foreign-keys.d.ts +14 -1
  910. package/sqlite-core/foreign-keys.js +0 -3
  911. package/sqlite-core/foreign-keys.js.map +1 -1
  912. package/sqlite-core/indexes.cjs +0 -2
  913. package/sqlite-core/indexes.cjs.map +1 -1
  914. package/sqlite-core/indexes.d.cts +0 -1
  915. package/sqlite-core/indexes.d.ts +0 -1
  916. package/sqlite-core/indexes.js +0 -2
  917. package/sqlite-core/indexes.js.map +1 -1
  918. package/sqlite-core/primary-keys.cjs +0 -2
  919. package/sqlite-core/primary-keys.cjs.map +1 -1
  920. package/sqlite-core/primary-keys.d.cts +0 -1
  921. package/sqlite-core/primary-keys.d.ts +0 -1
  922. package/sqlite-core/primary-keys.js +0 -2
  923. package/sqlite-core/primary-keys.js.map +1 -1
  924. package/sqlite-core/query-builders/count.cjs.map +1 -1
  925. package/sqlite-core/query-builders/count.d.cts +1 -1
  926. package/sqlite-core/query-builders/count.d.ts +1 -1
  927. package/sqlite-core/query-builders/count.js.map +1 -1
  928. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  929. package/sqlite-core/query-builders/insert.d.cts +2 -2
  930. package/sqlite-core/query-builders/insert.d.ts +2 -2
  931. package/sqlite-core/query-builders/insert.js.map +1 -1
  932. package/sqlite-core/query-builders/update.cjs +2 -2
  933. package/sqlite-core/query-builders/update.cjs.map +1 -1
  934. package/sqlite-core/query-builders/update.d.cts +1 -1
  935. package/sqlite-core/query-builders/update.d.ts +1 -1
  936. package/sqlite-core/query-builders/update.js +2 -2
  937. package/sqlite-core/query-builders/update.js.map +1 -1
  938. package/sqlite-core/unique-constraint.cjs +0 -2
  939. package/sqlite-core/unique-constraint.cjs.map +1 -1
  940. package/sqlite-core/unique-constraint.d.cts +2 -3
  941. package/sqlite-core/unique-constraint.d.ts +2 -3
  942. package/sqlite-core/unique-constraint.js +0 -2
  943. package/sqlite-core/unique-constraint.js.map +1 -1
  944. package/tidb-serverless/driver.cjs +12 -8
  945. package/tidb-serverless/driver.cjs.map +1 -1
  946. package/tidb-serverless/driver.d.cts +3 -3
  947. package/tidb-serverless/driver.d.ts +3 -3
  948. package/tidb-serverless/driver.js +12 -8
  949. package/tidb-serverless/driver.js.map +1 -1
  950. package/tracing.cjs +3 -3
  951. package/tracing.cjs.map +1 -1
  952. package/tracing.js +3 -3
  953. package/tracing.js.map +1 -1
  954. package/tursodatabase/database.cjs +10 -6
  955. package/tursodatabase/database.cjs.map +1 -1
  956. package/tursodatabase/database.d.cts +3 -3
  957. package/tursodatabase/database.d.ts +3 -3
  958. package/tursodatabase/database.js +10 -6
  959. package/tursodatabase/database.js.map +1 -1
  960. package/tursodatabase/wasm.cjs +10 -6
  961. package/tursodatabase/wasm.cjs.map +1 -1
  962. package/tursodatabase/wasm.d.cts +3 -3
  963. package/tursodatabase/wasm.d.ts +3 -3
  964. package/tursodatabase/wasm.js +10 -6
  965. package/tursodatabase/wasm.js.map +1 -1
  966. package/vercel-postgres/session.cjs.map +1 -1
  967. package/vercel-postgres/session.js.map +1 -1
  968. package/version.cjs +1 -1
  969. package/version.d.cts +1 -1
  970. package/version.d.ts +1 -1
  971. package/version.js +1 -1
  972. package/cockroach/driver.cjs +0 -109
  973. package/cockroach/driver.cjs.map +0 -1
  974. package/cockroach/driver.d.cts +0 -42
  975. package/cockroach/driver.d.ts +0 -42
  976. package/cockroach/driver.js +0 -73
  977. package/cockroach/driver.js.map +0 -1
  978. package/cockroach/index.cjs +0 -25
  979. package/cockroach/index.cjs.map +0 -1
  980. package/cockroach/index.d.cts +0 -2
  981. package/cockroach/index.d.ts +0 -2
  982. package/cockroach/index.js +0 -3
  983. package/cockroach/index.js.map +0 -1
  984. package/cockroach/migrator.cjs +0 -33
  985. package/cockroach/migrator.cjs.map +0 -1
  986. package/cockroach/migrator.d.cts +0 -3
  987. package/cockroach/migrator.d.ts +0 -3
  988. package/cockroach/migrator.js +0 -9
  989. package/cockroach/migrator.js.map +0 -1
  990. package/cockroach/session.cjs +0 -253
  991. package/cockroach/session.cjs.map +0 -1
  992. package/cockroach/session.d.cts +0 -48
  993. package/cockroach/session.d.ts +0 -48
  994. package/cockroach/session.js +0 -217
  995. package/cockroach/session.js.map +0 -1
  996. package/cockroach-core/alias.cjs +0 -32
  997. package/cockroach-core/alias.cjs.map +0 -1
  998. package/cockroach-core/alias.d.cts +0 -4
  999. package/cockroach-core/alias.d.ts +0 -4
  1000. package/cockroach-core/alias.js +0 -8
  1001. package/cockroach-core/alias.js.map +0 -1
  1002. package/cockroach-core/checks.cjs +0 -58
  1003. package/cockroach-core/checks.cjs.map +0 -1
  1004. package/cockroach-core/checks.d.cts +0 -18
  1005. package/cockroach-core/checks.d.ts +0 -18
  1006. package/cockroach-core/checks.js +0 -32
  1007. package/cockroach-core/checks.js.map +0 -1
  1008. package/cockroach-core/columns/all.cjs +0 -81
  1009. package/cockroach-core/columns/all.cjs.map +0 -1
  1010. package/cockroach-core/columns/all.d.cts +0 -52
  1011. package/cockroach-core/columns/all.d.ts +0 -52
  1012. package/cockroach-core/columns/all.js +0 -57
  1013. package/cockroach-core/columns/all.js.map +0 -1
  1014. package/cockroach-core/columns/bigint.cjs +0 -104
  1015. package/cockroach-core/columns/bigint.cjs.map +0 -1
  1016. package/cockroach-core/columns/bigint.d.cts +0 -37
  1017. package/cockroach-core/columns/bigint.d.ts +0 -37
  1018. package/cockroach-core/columns/bigint.js +0 -75
  1019. package/cockroach-core/columns/bigint.js.map +0 -1
  1020. package/cockroach-core/columns/bit.cjs +0 -61
  1021. package/cockroach-core/columns/bit.cjs.map +0 -1
  1022. package/cockroach-core/columns/bit.d.cts +0 -29
  1023. package/cockroach-core/columns/bit.d.ts +0 -29
  1024. package/cockroach-core/columns/bit.js +0 -35
  1025. package/cockroach-core/columns/bit.js.map +0 -1
  1026. package/cockroach-core/columns/bool.cjs +0 -59
  1027. package/cockroach-core/columns/bool.cjs.map +0 -1
  1028. package/cockroach-core/columns/bool.d.cts +0 -17
  1029. package/cockroach-core/columns/bool.d.ts +0 -17
  1030. package/cockroach-core/columns/bool.js +0 -32
  1031. package/cockroach-core/columns/bool.js.map +0 -1
  1032. package/cockroach-core/columns/char.cjs +0 -62
  1033. package/cockroach-core/columns/char.cjs.map +0 -1
  1034. package/cockroach-core/columns/char.d.cts +0 -31
  1035. package/cockroach-core/columns/char.d.ts +0 -31
  1036. package/cockroach-core/columns/char.js +0 -36
  1037. package/cockroach-core/columns/char.js.map +0 -1
  1038. package/cockroach-core/columns/common.cjs +0 -198
  1039. package/cockroach-core/columns/common.cjs.map +0 -1
  1040. package/cockroach-core/columns/common.d.cts +0 -98
  1041. package/cockroach-core/columns/common.d.ts +0 -98
  1042. package/cockroach-core/columns/common.js +0 -168
  1043. package/cockroach-core/columns/common.js.map +0 -1
  1044. package/cockroach-core/columns/custom.cjs +0 -102
  1045. package/cockroach-core/columns/custom.cjs.map +0 -1
  1046. package/cockroach-core/columns/custom.d.cts +0 -261
  1047. package/cockroach-core/columns/custom.d.ts +0 -261
  1048. package/cockroach-core/columns/custom.js +0 -76
  1049. package/cockroach-core/columns/custom.js.map +0 -1
  1050. package/cockroach-core/columns/date.cjs +0 -91
  1051. package/cockroach-core/columns/date.cjs.map +0 -1
  1052. package/cockroach-core/columns/date.common.cjs +0 -37
  1053. package/cockroach-core/columns/date.common.cjs.map +0 -1
  1054. package/cockroach-core/columns/date.common.d.cts +0 -7
  1055. package/cockroach-core/columns/date.common.d.ts +0 -7
  1056. package/cockroach-core/columns/date.common.js +0 -13
  1057. package/cockroach-core/columns/date.common.js.map +0 -1
  1058. package/cockroach-core/columns/date.d.cts +0 -36
  1059. package/cockroach-core/columns/date.d.ts +0 -36
  1060. package/cockroach-core/columns/date.js +0 -63
  1061. package/cockroach-core/columns/date.js.map +0 -1
  1062. package/cockroach-core/columns/decimal.cjs +0 -164
  1063. package/cockroach-core/columns/decimal.cjs.map +0 -1
  1064. package/cockroach-core/columns/decimal.d.cts +0 -80
  1065. package/cockroach-core/columns/decimal.d.ts +0 -80
  1066. package/cockroach-core/columns/decimal.js +0 -133
  1067. package/cockroach-core/columns/decimal.js.map +0 -1
  1068. package/cockroach-core/columns/enum.cjs +0 -127
  1069. package/cockroach-core/columns/enum.cjs.map +0 -1
  1070. package/cockroach-core/columns/enum.d.cts +0 -64
  1071. package/cockroach-core/columns/enum.d.ts +0 -64
  1072. package/cockroach-core/columns/enum.js +0 -96
  1073. package/cockroach-core/columns/enum.js.map +0 -1
  1074. package/cockroach-core/columns/float.cjs +0 -65
  1075. package/cockroach-core/columns/float.cjs.map +0 -1
  1076. package/cockroach-core/columns/float.d.cts +0 -18
  1077. package/cockroach-core/columns/float.d.ts +0 -18
  1078. package/cockroach-core/columns/float.js +0 -38
  1079. package/cockroach-core/columns/float.js.map +0 -1
  1080. package/cockroach-core/columns/geometry.cjs +0 -105
  1081. package/cockroach-core/columns/geometry.cjs.map +0 -1
  1082. package/cockroach-core/columns/geometry.d.cts +0 -60
  1083. package/cockroach-core/columns/geometry.d.ts +0 -60
  1084. package/cockroach-core/columns/geometry.js +0 -77
  1085. package/cockroach-core/columns/geometry.js.map +0 -1
  1086. package/cockroach-core/columns/index.cjs +0 -71
  1087. package/cockroach-core/columns/index.cjs.map +0 -1
  1088. package/cockroach-core/columns/index.d.cts +0 -25
  1089. package/cockroach-core/columns/index.d.ts +0 -25
  1090. package/cockroach-core/columns/index.js +0 -26
  1091. package/cockroach-core/columns/index.js.map +0 -1
  1092. package/cockroach-core/columns/inet.cjs +0 -56
  1093. package/cockroach-core/columns/inet.cjs.map +0 -1
  1094. package/cockroach-core/columns/inet.d.cts +0 -16
  1095. package/cockroach-core/columns/inet.d.ts +0 -16
  1096. package/cockroach-core/columns/inet.js +0 -30
  1097. package/cockroach-core/columns/inet.js.map +0 -1
  1098. package/cockroach-core/columns/int.common.cjs +0 -55
  1099. package/cockroach-core/columns/int.common.cjs.map +0 -1
  1100. package/cockroach-core/columns/int.common.d.cts +0 -11
  1101. package/cockroach-core/columns/int.common.d.ts +0 -11
  1102. package/cockroach-core/columns/int.common.js +0 -31
  1103. package/cockroach-core/columns/int.common.js.map +0 -1
  1104. package/cockroach-core/columns/integer.cjs +0 -63
  1105. package/cockroach-core/columns/integer.cjs.map +0 -1
  1106. package/cockroach-core/columns/integer.d.cts +0 -18
  1107. package/cockroach-core/columns/integer.d.ts +0 -18
  1108. package/cockroach-core/columns/integer.js +0 -37
  1109. package/cockroach-core/columns/integer.js.map +0 -1
  1110. package/cockroach-core/columns/interval.cjs +0 -63
  1111. package/cockroach-core/columns/interval.cjs.map +0 -1
  1112. package/cockroach-core/columns/interval.d.cts +0 -28
  1113. package/cockroach-core/columns/interval.d.ts +0 -28
  1114. package/cockroach-core/columns/interval.js +0 -37
  1115. package/cockroach-core/columns/interval.js.map +0 -1
  1116. package/cockroach-core/columns/jsonb.cjs +0 -72
  1117. package/cockroach-core/columns/jsonb.cjs.map +0 -1
  1118. package/cockroach-core/columns/jsonb.d.cts +0 -20
  1119. package/cockroach-core/columns/jsonb.d.ts +0 -20
  1120. package/cockroach-core/columns/jsonb.js +0 -46
  1121. package/cockroach-core/columns/jsonb.js.map +0 -1
  1122. package/cockroach-core/columns/real.cjs +0 -66
  1123. package/cockroach-core/columns/real.cjs.map +0 -1
  1124. package/cockroach-core/columns/real.d.cts +0 -21
  1125. package/cockroach-core/columns/real.d.ts +0 -21
  1126. package/cockroach-core/columns/real.js +0 -40
  1127. package/cockroach-core/columns/real.js.map +0 -1
  1128. package/cockroach-core/columns/smallint.cjs +0 -68
  1129. package/cockroach-core/columns/smallint.cjs.map +0 -1
  1130. package/cockroach-core/columns/smallint.d.cts +0 -19
  1131. package/cockroach-core/columns/smallint.d.ts +0 -19
  1132. package/cockroach-core/columns/smallint.js +0 -41
  1133. package/cockroach-core/columns/smallint.js.map +0 -1
  1134. package/cockroach-core/columns/string.cjs +0 -67
  1135. package/cockroach-core/columns/string.cjs.map +0 -1
  1136. package/cockroach-core/columns/string.d.cts +0 -36
  1137. package/cockroach-core/columns/string.d.ts +0 -36
  1138. package/cockroach-core/columns/string.js +0 -40
  1139. package/cockroach-core/columns/string.js.map +0 -1
  1140. package/cockroach-core/columns/time.cjs +0 -70
  1141. package/cockroach-core/columns/time.cjs.map +0 -1
  1142. package/cockroach-core/columns/time.d.cts +0 -31
  1143. package/cockroach-core/columns/time.d.ts +0 -31
  1144. package/cockroach-core/columns/time.js +0 -44
  1145. package/cockroach-core/columns/time.js.map +0 -1
  1146. package/cockroach-core/columns/timestamp.cjs +0 -111
  1147. package/cockroach-core/columns/timestamp.cjs.map +0 -1
  1148. package/cockroach-core/columns/timestamp.d.cts +0 -52
  1149. package/cockroach-core/columns/timestamp.d.ts +0 -52
  1150. package/cockroach-core/columns/timestamp.js +0 -83
  1151. package/cockroach-core/columns/timestamp.js.map +0 -1
  1152. package/cockroach-core/columns/utils.cjs +0 -65
  1153. package/cockroach-core/columns/utils.cjs.map +0 -1
  1154. package/cockroach-core/columns/utils.d.cts +0 -4
  1155. package/cockroach-core/columns/utils.d.ts +0 -4
  1156. package/cockroach-core/columns/utils.js +0 -41
  1157. package/cockroach-core/columns/utils.js.map +0 -1
  1158. package/cockroach-core/columns/uuid.cjs +0 -63
  1159. package/cockroach-core/columns/uuid.cjs.map +0 -1
  1160. package/cockroach-core/columns/uuid.d.cts +0 -20
  1161. package/cockroach-core/columns/uuid.d.ts +0 -20
  1162. package/cockroach-core/columns/uuid.js +0 -37
  1163. package/cockroach-core/columns/uuid.js.map +0 -1
  1164. package/cockroach-core/columns/varbit.cjs +0 -59
  1165. package/cockroach-core/columns/varbit.cjs.map +0 -1
  1166. package/cockroach-core/columns/varbit.d.cts +0 -24
  1167. package/cockroach-core/columns/varbit.d.ts +0 -24
  1168. package/cockroach-core/columns/varbit.js +0 -33
  1169. package/cockroach-core/columns/varbit.js.map +0 -1
  1170. package/cockroach-core/columns/varchar.cjs +0 -61
  1171. package/cockroach-core/columns/varchar.cjs.map +0 -1
  1172. package/cockroach-core/columns/varchar.d.cts +0 -30
  1173. package/cockroach-core/columns/varchar.d.ts +0 -30
  1174. package/cockroach-core/columns/varchar.js +0 -35
  1175. package/cockroach-core/columns/varchar.js.map +0 -1
  1176. package/cockroach-core/columns/vector.cjs +0 -65
  1177. package/cockroach-core/columns/vector.cjs.map +0 -1
  1178. package/cockroach-core/columns/vector.d.cts +0 -26
  1179. package/cockroach-core/columns/vector.d.ts +0 -26
  1180. package/cockroach-core/columns/vector.js +0 -39
  1181. package/cockroach-core/columns/vector.js.map +0 -1
  1182. package/cockroach-core/db.cjs +0 -346
  1183. package/cockroach-core/db.cjs.map +0 -1
  1184. package/cockroach-core/db.d.cts +0 -282
  1185. package/cockroach-core/db.d.ts +0 -282
  1186. package/cockroach-core/db.js +0 -327
  1187. package/cockroach-core/db.js.map +0 -1
  1188. package/cockroach-core/dialect.cjs +0 -1146
  1189. package/cockroach-core/dialect.cjs.map +0 -1
  1190. package/cockroach-core/dialect.d.cts +0 -65
  1191. package/cockroach-core/dialect.d.ts +0 -65
  1192. package/cockroach-core/dialect.js +0 -1126
  1193. package/cockroach-core/dialect.js.map +0 -1
  1194. package/cockroach-core/expressions.cjs +0 -49
  1195. package/cockroach-core/expressions.cjs.map +0 -1
  1196. package/cockroach-core/expressions.d.cts +0 -8
  1197. package/cockroach-core/expressions.d.ts +0 -8
  1198. package/cockroach-core/expressions.js +0 -22
  1199. package/cockroach-core/expressions.js.map +0 -1
  1200. package/cockroach-core/foreign-keys.cjs +0 -95
  1201. package/cockroach-core/foreign-keys.cjs.map +0 -1
  1202. package/cockroach-core/foreign-keys.d.cts +0 -53
  1203. package/cockroach-core/foreign-keys.d.ts +0 -53
  1204. package/cockroach-core/foreign-keys.js +0 -69
  1205. package/cockroach-core/foreign-keys.js.map +0 -1
  1206. package/cockroach-core/index.cjs +0 -61
  1207. package/cockroach-core/index.cjs.map +0 -1
  1208. package/cockroach-core/index.d.cts +0 -20
  1209. package/cockroach-core/index.d.ts +0 -20
  1210. package/cockroach-core/index.js +0 -21
  1211. package/cockroach-core/index.js.map +0 -1
  1212. package/cockroach-core/indexes.cjs +0 -139
  1213. package/cockroach-core/indexes.cjs.map +0 -1
  1214. package/cockroach-core/indexes.d.cts +0 -65
  1215. package/cockroach-core/indexes.d.ts +0 -65
  1216. package/cockroach-core/indexes.js +0 -111
  1217. package/cockroach-core/indexes.js.map +0 -1
  1218. package/cockroach-core/policies.cjs +0 -58
  1219. package/cockroach-core/policies.cjs.map +0 -1
  1220. package/cockroach-core/policies.d.cts +0 -24
  1221. package/cockroach-core/policies.d.ts +0 -24
  1222. package/cockroach-core/policies.js +0 -33
  1223. package/cockroach-core/policies.js.map +0 -1
  1224. package/cockroach-core/primary-keys.cjs +0 -66
  1225. package/cockroach-core/primary-keys.cjs.map +0 -1
  1226. package/cockroach-core/primary-keys.d.cts +0 -24
  1227. package/cockroach-core/primary-keys.d.ts +0 -24
  1228. package/cockroach-core/primary-keys.js +0 -40
  1229. package/cockroach-core/primary-keys.js.map +0 -1
  1230. package/cockroach-core/query-builders/count.cjs +0 -79
  1231. package/cockroach-core/query-builders/count.cjs.map +0 -1
  1232. package/cockroach-core/query-builders/count.d.cts +0 -29
  1233. package/cockroach-core/query-builders/count.d.ts +0 -29
  1234. package/cockroach-core/query-builders/count.js +0 -55
  1235. package/cockroach-core/query-builders/count.js.map +0 -1
  1236. package/cockroach-core/query-builders/delete.cjs +0 -124
  1237. package/cockroach-core/query-builders/delete.cjs.map +0 -1
  1238. package/cockroach-core/query-builders/delete.d.cts +0 -103
  1239. package/cockroach-core/query-builders/delete.d.ts +0 -103
  1240. package/cockroach-core/query-builders/delete.js +0 -100
  1241. package/cockroach-core/query-builders/delete.js.map +0 -1
  1242. package/cockroach-core/query-builders/index.cjs +0 -35
  1243. package/cockroach-core/query-builders/index.cjs.map +0 -1
  1244. package/cockroach-core/query-builders/index.d.cts +0 -7
  1245. package/cockroach-core/query-builders/index.d.ts +0 -7
  1246. package/cockroach-core/query-builders/index.js +0 -8
  1247. package/cockroach-core/query-builders/index.js.map +0 -1
  1248. package/cockroach-core/query-builders/insert.cjs +0 -213
  1249. package/cockroach-core/query-builders/insert.cjs.map +0 -1
  1250. package/cockroach-core/query-builders/insert.d.cts +0 -168
  1251. package/cockroach-core/query-builders/insert.d.ts +0 -168
  1252. package/cockroach-core/query-builders/insert.js +0 -188
  1253. package/cockroach-core/query-builders/insert.js.map +0 -1
  1254. package/cockroach-core/query-builders/query-builder.cjs +0 -118
  1255. package/cockroach-core/query-builders/query-builder.cjs.map +0 -1
  1256. package/cockroach-core/query-builders/query-builder.d.cts +0 -37
  1257. package/cockroach-core/query-builders/query-builder.d.ts +0 -37
  1258. package/cockroach-core/query-builders/query-builder.js +0 -94
  1259. package/cockroach-core/query-builders/query-builder.js.map +0 -1
  1260. package/cockroach-core/query-builders/query.cjs +0 -145
  1261. package/cockroach-core/query-builders/query.cjs.map +0 -1
  1262. package/cockroach-core/query-builders/query.d.cts +0 -47
  1263. package/cockroach-core/query-builders/query.d.ts +0 -47
  1264. package/cockroach-core/query-builders/query.js +0 -122
  1265. package/cockroach-core/query-builders/query.js.map +0 -1
  1266. package/cockroach-core/query-builders/raw.cjs +0 -57
  1267. package/cockroach-core/query-builders/raw.cjs.map +0 -1
  1268. package/cockroach-core/query-builders/raw.d.cts +0 -22
  1269. package/cockroach-core/query-builders/raw.d.ts +0 -22
  1270. package/cockroach-core/query-builders/raw.js +0 -33
  1271. package/cockroach-core/query-builders/raw.js.map +0 -1
  1272. package/cockroach-core/query-builders/refresh-materialized-view.cjs +0 -83
  1273. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  1274. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +0 -28
  1275. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +0 -28
  1276. package/cockroach-core/query-builders/refresh-materialized-view.js +0 -59
  1277. package/cockroach-core/query-builders/refresh-materialized-view.js.map +0 -1
  1278. package/cockroach-core/query-builders/select.cjs +0 -847
  1279. package/cockroach-core/query-builders/select.cjs.map +0 -1
  1280. package/cockroach-core/query-builders/select.d.cts +0 -787
  1281. package/cockroach-core/query-builders/select.d.ts +0 -787
  1282. package/cockroach-core/query-builders/select.js +0 -821
  1283. package/cockroach-core/query-builders/select.js.map +0 -1
  1284. package/cockroach-core/query-builders/select.types.cjs +0 -17
  1285. package/cockroach-core/query-builders/select.types.cjs.map +0 -1
  1286. package/cockroach-core/query-builders/select.types.d.cts +0 -140
  1287. package/cockroach-core/query-builders/select.types.d.ts +0 -140
  1288. package/cockroach-core/query-builders/select.types.js +0 -1
  1289. package/cockroach-core/query-builders/select.types.js.map +0 -1
  1290. package/cockroach-core/query-builders/update.cjs +0 -240
  1291. package/cockroach-core/query-builders/update.cjs.map +0 -1
  1292. package/cockroach-core/query-builders/update.d.cts +0 -170
  1293. package/cockroach-core/query-builders/update.d.ts +0 -170
  1294. package/cockroach-core/query-builders/update.js +0 -219
  1295. package/cockroach-core/query-builders/update.js.map +0 -1
  1296. package/cockroach-core/roles.cjs +0 -54
  1297. package/cockroach-core/roles.cjs.map +0 -1
  1298. package/cockroach-core/roles.d.cts +0 -12
  1299. package/cockroach-core/roles.d.ts +0 -12
  1300. package/cockroach-core/roles.js +0 -29
  1301. package/cockroach-core/roles.js.map +0 -1
  1302. package/cockroach-core/schema.cjs +0 -80
  1303. package/cockroach-core/schema.cjs.map +0 -1
  1304. package/cockroach-core/schema.d.cts +0 -22
  1305. package/cockroach-core/schema.d.ts +0 -22
  1306. package/cockroach-core/schema.js +0 -60
  1307. package/cockroach-core/schema.js.map +0 -1
  1308. package/cockroach-core/sequence.cjs +0 -52
  1309. package/cockroach-core/sequence.cjs.map +0 -1
  1310. package/cockroach-core/sequence.d.cts +0 -17
  1311. package/cockroach-core/sequence.d.ts +0 -17
  1312. package/cockroach-core/sequence.js +0 -25
  1313. package/cockroach-core/sequence.js.map +0 -1
  1314. package/cockroach-core/session.cjs +0 -120
  1315. package/cockroach-core/session.cjs.map +0 -1
  1316. package/cockroach-core/session.d.cts +0 -62
  1317. package/cockroach-core/session.d.ts +0 -62
  1318. package/cockroach-core/session.js +0 -94
  1319. package/cockroach-core/session.js.map +0 -1
  1320. package/cockroach-core/subquery.cjs +0 -17
  1321. package/cockroach-core/subquery.cjs.map +0 -1
  1322. package/cockroach-core/subquery.d.cts +0 -18
  1323. package/cockroach-core/subquery.d.ts +0 -18
  1324. package/cockroach-core/subquery.js +0 -1
  1325. package/cockroach-core/subquery.js.map +0 -1
  1326. package/cockroach-core/table.cjs +0 -100
  1327. package/cockroach-core/table.cjs.map +0 -1
  1328. package/cockroach-core/table.d.cts +0 -37
  1329. package/cockroach-core/table.d.ts +0 -37
  1330. package/cockroach-core/table.js +0 -73
  1331. package/cockroach-core/table.js.map +0 -1
  1332. package/cockroach-core/unique-constraint.cjs +0 -77
  1333. package/cockroach-core/unique-constraint.cjs.map +0 -1
  1334. package/cockroach-core/unique-constraint.d.cts +0 -23
  1335. package/cockroach-core/unique-constraint.d.ts +0 -23
  1336. package/cockroach-core/unique-constraint.js +0 -50
  1337. package/cockroach-core/unique-constraint.js.map +0 -1
  1338. package/cockroach-core/utils/array.cjs +0 -106
  1339. package/cockroach-core/utils/array.cjs.map +0 -1
  1340. package/cockroach-core/utils/array.d.cts +0 -3
  1341. package/cockroach-core/utils/array.d.ts +0 -3
  1342. package/cockroach-core/utils/array.js +0 -80
  1343. package/cockroach-core/utils/array.js.map +0 -1
  1344. package/cockroach-core/utils/index.cjs +0 -23
  1345. package/cockroach-core/utils/index.cjs.map +0 -1
  1346. package/cockroach-core/utils/index.d.cts +0 -1
  1347. package/cockroach-core/utils/index.d.ts +0 -1
  1348. package/cockroach-core/utils/index.js +0 -2
  1349. package/cockroach-core/utils/index.js.map +0 -1
  1350. package/cockroach-core/utils.cjs +0 -98
  1351. package/cockroach-core/utils.cjs.map +0 -1
  1352. package/cockroach-core/utils.d.cts +0 -47
  1353. package/cockroach-core/utils.d.ts +0 -47
  1354. package/cockroach-core/utils.js +0 -72
  1355. package/cockroach-core/utils.js.map +0 -1
  1356. package/cockroach-core/view-base.cjs +0 -33
  1357. package/cockroach-core/view-base.cjs.map +0 -1
  1358. package/cockroach-core/view-base.d.cts +0 -8
  1359. package/cockroach-core/view-base.d.ts +0 -8
  1360. package/cockroach-core/view-base.js +0 -9
  1361. package/cockroach-core/view-base.js.map +0 -1
  1362. package/cockroach-core/view.cjs +0 -271
  1363. package/cockroach-core/view.cjs.map +0 -1
  1364. package/cockroach-core/view.d.cts +0 -106
  1365. package/cockroach-core/view.d.ts +0 -106
  1366. package/cockroach-core/view.js +0 -233
  1367. package/cockroach-core/view.js.map +0 -1
  1368. package/mssql-core/alias.cjs +0 -32
  1369. package/mssql-core/alias.cjs.map +0 -1
  1370. package/mssql-core/alias.d.cts +0 -4
  1371. package/mssql-core/alias.d.ts +0 -4
  1372. package/mssql-core/alias.js +0 -8
  1373. package/mssql-core/alias.js.map +0 -1
  1374. package/mssql-core/checks.cjs +0 -58
  1375. package/mssql-core/checks.cjs.map +0 -1
  1376. package/mssql-core/checks.d.cts +0 -18
  1377. package/mssql-core/checks.d.ts +0 -18
  1378. package/mssql-core/checks.js +0 -32
  1379. package/mssql-core/checks.js.map +0 -1
  1380. package/mssql-core/columns/all.cjs +0 -74
  1381. package/mssql-core/columns/all.cjs.map +0 -1
  1382. package/mssql-core/columns/all.d.cts +0 -45
  1383. package/mssql-core/columns/all.d.ts +0 -45
  1384. package/mssql-core/columns/all.js +0 -50
  1385. package/mssql-core/columns/all.js.map +0 -1
  1386. package/mssql-core/columns/bigint.cjs +0 -72
  1387. package/mssql-core/columns/bigint.cjs.map +0 -1
  1388. package/mssql-core/columns/bigint.d.cts +0 -25
  1389. package/mssql-core/columns/bigint.d.ts +0 -25
  1390. package/mssql-core/columns/bigint.js +0 -46
  1391. package/mssql-core/columns/bigint.js.map +0 -1
  1392. package/mssql-core/columns/binary.cjs +0 -57
  1393. package/mssql-core/columns/binary.cjs.map +0 -1
  1394. package/mssql-core/columns/binary.d.cts +0 -24
  1395. package/mssql-core/columns/binary.d.ts +0 -24
  1396. package/mssql-core/columns/binary.js +0 -31
  1397. package/mssql-core/columns/binary.js.map +0 -1
  1398. package/mssql-core/columns/bit.cjs +0 -54
  1399. package/mssql-core/columns/bit.cjs.map +0 -1
  1400. package/mssql-core/columns/bit.d.cts +0 -17
  1401. package/mssql-core/columns/bit.d.ts +0 -17
  1402. package/mssql-core/columns/bit.js +0 -28
  1403. package/mssql-core/columns/bit.js.map +0 -1
  1404. package/mssql-core/columns/char.cjs +0 -73
  1405. package/mssql-core/columns/char.cjs.map +0 -1
  1406. package/mssql-core/columns/char.d.cts +0 -29
  1407. package/mssql-core/columns/char.d.ts +0 -29
  1408. package/mssql-core/columns/char.js +0 -46
  1409. package/mssql-core/columns/char.js.map +0 -1
  1410. package/mssql-core/columns/common.cjs +0 -112
  1411. package/mssql-core/columns/common.cjs.map +0 -1
  1412. package/mssql-core/columns/common.d.cts +0 -57
  1413. package/mssql-core/columns/common.d.ts +0 -57
  1414. package/mssql-core/columns/common.js +0 -85
  1415. package/mssql-core/columns/common.js.map +0 -1
  1416. package/mssql-core/columns/custom.cjs +0 -105
  1417. package/mssql-core/columns/custom.cjs.map +0 -1
  1418. package/mssql-core/columns/custom.d.cts +0 -261
  1419. package/mssql-core/columns/custom.d.ts +0 -261
  1420. package/mssql-core/columns/custom.js +0 -79
  1421. package/mssql-core/columns/custom.js.map +0 -1
  1422. package/mssql-core/columns/date.cjs +0 -94
  1423. package/mssql-core/columns/date.cjs.map +0 -1
  1424. package/mssql-core/columns/date.common.cjs +0 -37
  1425. package/mssql-core/columns/date.common.cjs.map +0 -1
  1426. package/mssql-core/columns/date.common.d.cts +0 -12
  1427. package/mssql-core/columns/date.common.d.ts +0 -12
  1428. package/mssql-core/columns/date.common.js +0 -13
  1429. package/mssql-core/columns/date.common.js.map +0 -1
  1430. package/mssql-core/columns/date.d.cts +0 -39
  1431. package/mssql-core/columns/date.d.ts +0 -39
  1432. package/mssql-core/columns/date.js +0 -66
  1433. package/mssql-core/columns/date.js.map +0 -1
  1434. package/mssql-core/columns/datetime.cjs +0 -94
  1435. package/mssql-core/columns/datetime.cjs.map +0 -1
  1436. package/mssql-core/columns/datetime.d.cts +0 -38
  1437. package/mssql-core/columns/datetime.d.ts +0 -38
  1438. package/mssql-core/columns/datetime.js +0 -66
  1439. package/mssql-core/columns/datetime.js.map +0 -1
  1440. package/mssql-core/columns/datetime2.cjs +0 -102
  1441. package/mssql-core/columns/datetime2.cjs.map +0 -1
  1442. package/mssql-core/columns/datetime2.d.cts +0 -38
  1443. package/mssql-core/columns/datetime2.d.ts +0 -38
  1444. package/mssql-core/columns/datetime2.js +0 -74
  1445. package/mssql-core/columns/datetime2.js.map +0 -1
  1446. package/mssql-core/columns/datetimeoffset.cjs +0 -102
  1447. package/mssql-core/columns/datetimeoffset.cjs.map +0 -1
  1448. package/mssql-core/columns/datetimeoffset.d.cts +0 -39
  1449. package/mssql-core/columns/datetimeoffset.d.ts +0 -39
  1450. package/mssql-core/columns/datetimeoffset.js +0 -74
  1451. package/mssql-core/columns/datetimeoffset.js.map +0 -1
  1452. package/mssql-core/columns/decimal.cjs +0 -146
  1453. package/mssql-core/columns/decimal.cjs.map +0 -1
  1454. package/mssql-core/columns/decimal.d.cts +0 -58
  1455. package/mssql-core/columns/decimal.d.ts +0 -58
  1456. package/mssql-core/columns/decimal.js +0 -116
  1457. package/mssql-core/columns/decimal.js.map +0 -1
  1458. package/mssql-core/columns/float.cjs +0 -58
  1459. package/mssql-core/columns/float.cjs.map +0 -1
  1460. package/mssql-core/columns/float.d.cts +0 -21
  1461. package/mssql-core/columns/float.d.ts +0 -21
  1462. package/mssql-core/columns/float.js +0 -32
  1463. package/mssql-core/columns/float.js.map +0 -1
  1464. package/mssql-core/columns/index.cjs +0 -63
  1465. package/mssql-core/columns/index.cjs.map +0 -1
  1466. package/mssql-core/columns/index.d.cts +0 -21
  1467. package/mssql-core/columns/index.d.ts +0 -21
  1468. package/mssql-core/columns/index.js +0 -22
  1469. package/mssql-core/columns/index.js.map +0 -1
  1470. package/mssql-core/columns/int.cjs +0 -53
  1471. package/mssql-core/columns/int.cjs.map +0 -1
  1472. package/mssql-core/columns/int.d.cts +0 -16
  1473. package/mssql-core/columns/int.d.ts +0 -16
  1474. package/mssql-core/columns/int.js +0 -27
  1475. package/mssql-core/columns/int.js.map +0 -1
  1476. package/mssql-core/columns/numeric.cjs +0 -146
  1477. package/mssql-core/columns/numeric.cjs.map +0 -1
  1478. package/mssql-core/columns/numeric.d.cts +0 -58
  1479. package/mssql-core/columns/numeric.d.ts +0 -58
  1480. package/mssql-core/columns/numeric.js +0 -116
  1481. package/mssql-core/columns/numeric.js.map +0 -1
  1482. package/mssql-core/columns/real.cjs +0 -53
  1483. package/mssql-core/columns/real.cjs.map +0 -1
  1484. package/mssql-core/columns/real.d.cts +0 -16
  1485. package/mssql-core/columns/real.d.ts +0 -16
  1486. package/mssql-core/columns/real.js +0 -27
  1487. package/mssql-core/columns/real.js.map +0 -1
  1488. package/mssql-core/columns/smallint.cjs +0 -62
  1489. package/mssql-core/columns/smallint.cjs.map +0 -1
  1490. package/mssql-core/columns/smallint.d.cts +0 -17
  1491. package/mssql-core/columns/smallint.d.ts +0 -17
  1492. package/mssql-core/columns/smallint.js +0 -36
  1493. package/mssql-core/columns/smallint.js.map +0 -1
  1494. package/mssql-core/columns/text.cjs +0 -68
  1495. package/mssql-core/columns/text.cjs.map +0 -1
  1496. package/mssql-core/columns/text.d.cts +0 -36
  1497. package/mssql-core/columns/text.d.ts +0 -36
  1498. package/mssql-core/columns/text.js +0 -41
  1499. package/mssql-core/columns/text.js.map +0 -1
  1500. package/mssql-core/columns/time.cjs +0 -90
  1501. package/mssql-core/columns/time.cjs.map +0 -1
  1502. package/mssql-core/columns/time.d.cts +0 -37
  1503. package/mssql-core/columns/time.d.ts +0 -37
  1504. package/mssql-core/columns/time.js +0 -62
  1505. package/mssql-core/columns/time.js.map +0 -1
  1506. package/mssql-core/columns/tinyint.cjs +0 -62
  1507. package/mssql-core/columns/tinyint.cjs.map +0 -1
  1508. package/mssql-core/columns/tinyint.d.cts +0 -17
  1509. package/mssql-core/columns/tinyint.d.ts +0 -17
  1510. package/mssql-core/columns/tinyint.js +0 -36
  1511. package/mssql-core/columns/tinyint.js.map +0 -1
  1512. package/mssql-core/columns/varbinary.cjs +0 -61
  1513. package/mssql-core/columns/varbinary.cjs.map +0 -1
  1514. package/mssql-core/columns/varbinary.d.cts +0 -23
  1515. package/mssql-core/columns/varbinary.d.ts +0 -23
  1516. package/mssql-core/columns/varbinary.js +0 -35
  1517. package/mssql-core/columns/varbinary.js.map +0 -1
  1518. package/mssql-core/columns/varchar.cjs +0 -117
  1519. package/mssql-core/columns/varchar.cjs.map +0 -1
  1520. package/mssql-core/columns/varchar.d.cts +0 -59
  1521. package/mssql-core/columns/varchar.d.ts +0 -59
  1522. package/mssql-core/columns/varchar.js +0 -88
  1523. package/mssql-core/columns/varchar.js.map +0 -1
  1524. package/mssql-core/db.cjs +0 -254
  1525. package/mssql-core/db.cjs.map +0 -1
  1526. package/mssql-core/db.d.cts +0 -228
  1527. package/mssql-core/db.d.ts +0 -228
  1528. package/mssql-core/db.js +0 -235
  1529. package/mssql-core/db.js.map +0 -1
  1530. package/mssql-core/dialect.cjs +0 -633
  1531. package/mssql-core/dialect.cjs.map +0 -1
  1532. package/mssql-core/dialect.d.cts +0 -58
  1533. package/mssql-core/dialect.d.ts +0 -58
  1534. package/mssql-core/dialect.js +0 -599
  1535. package/mssql-core/dialect.js.map +0 -1
  1536. package/mssql-core/expressions.cjs +0 -49
  1537. package/mssql-core/expressions.cjs.map +0 -1
  1538. package/mssql-core/expressions.d.cts +0 -8
  1539. package/mssql-core/expressions.d.ts +0 -8
  1540. package/mssql-core/expressions.js +0 -22
  1541. package/mssql-core/expressions.js.map +0 -1
  1542. package/mssql-core/foreign-keys.cjs +0 -94
  1543. package/mssql-core/foreign-keys.cjs.map +0 -1
  1544. package/mssql-core/foreign-keys.d.cts +0 -52
  1545. package/mssql-core/foreign-keys.d.ts +0 -52
  1546. package/mssql-core/foreign-keys.js +0 -68
  1547. package/mssql-core/foreign-keys.js.map +0 -1
  1548. package/mssql-core/index.cjs +0 -55
  1549. package/mssql-core/index.cjs.map +0 -1
  1550. package/mssql-core/index.d.cts +0 -17
  1551. package/mssql-core/index.d.ts +0 -17
  1552. package/mssql-core/index.js +0 -18
  1553. package/mssql-core/index.js.map +0 -1
  1554. package/mssql-core/indexes.cjs +0 -82
  1555. package/mssql-core/indexes.cjs.map +0 -1
  1556. package/mssql-core/indexes.d.cts +0 -50
  1557. package/mssql-core/indexes.d.ts +0 -50
  1558. package/mssql-core/indexes.js +0 -54
  1559. package/mssql-core/indexes.js.map +0 -1
  1560. package/mssql-core/primary-keys.cjs +0 -66
  1561. package/mssql-core/primary-keys.cjs.map +0 -1
  1562. package/mssql-core/primary-keys.d.cts +0 -24
  1563. package/mssql-core/primary-keys.d.ts +0 -24
  1564. package/mssql-core/primary-keys.js +0 -40
  1565. package/mssql-core/primary-keys.js.map +0 -1
  1566. package/mssql-core/query-builders/delete.cjs +0 -107
  1567. package/mssql-core/query-builders/delete.cjs.map +0 -1
  1568. package/mssql-core/query-builders/delete.d.cts +0 -98
  1569. package/mssql-core/query-builders/delete.d.ts +0 -98
  1570. package/mssql-core/query-builders/delete.js +0 -83
  1571. package/mssql-core/query-builders/delete.js.map +0 -1
  1572. package/mssql-core/query-builders/index.cjs +0 -33
  1573. package/mssql-core/query-builders/index.cjs.map +0 -1
  1574. package/mssql-core/query-builders/index.d.cts +0 -6
  1575. package/mssql-core/query-builders/index.d.ts +0 -6
  1576. package/mssql-core/query-builders/index.js +0 -7
  1577. package/mssql-core/query-builders/index.js.map +0 -1
  1578. package/mssql-core/query-builders/insert.cjs +0 -105
  1579. package/mssql-core/query-builders/insert.cjs.map +0 -1
  1580. package/mssql-core/query-builders/insert.d.cts +0 -79
  1581. package/mssql-core/query-builders/insert.d.ts +0 -79
  1582. package/mssql-core/query-builders/insert.js +0 -80
  1583. package/mssql-core/query-builders/insert.js.map +0 -1
  1584. package/mssql-core/query-builders/query-builder.cjs +0 -95
  1585. package/mssql-core/query-builders/query-builder.cjs.map +0 -1
  1586. package/mssql-core/query-builders/query-builder.d.cts +0 -32
  1587. package/mssql-core/query-builders/query-builder.d.ts +0 -32
  1588. package/mssql-core/query-builders/query-builder.js +0 -71
  1589. package/mssql-core/query-builders/query-builder.js.map +0 -1
  1590. package/mssql-core/query-builders/query.cjs +0 -126
  1591. package/mssql-core/query-builders/query.cjs.map +0 -1
  1592. package/mssql-core/query-builders/query.d.cts +0 -42
  1593. package/mssql-core/query-builders/query.d.ts +0 -42
  1594. package/mssql-core/query-builders/query.js +0 -103
  1595. package/mssql-core/query-builders/query.js.map +0 -1
  1596. package/mssql-core/query-builders/select.cjs +0 -678
  1597. package/mssql-core/query-builders/select.cjs.map +0 -1
  1598. package/mssql-core/query-builders/select.d.cts +0 -549
  1599. package/mssql-core/query-builders/select.d.ts +0 -549
  1600. package/mssql-core/query-builders/select.js +0 -654
  1601. package/mssql-core/query-builders/select.js.map +0 -1
  1602. package/mssql-core/query-builders/select.types.cjs +0 -17
  1603. package/mssql-core/query-builders/select.types.cjs.map +0 -1
  1604. package/mssql-core/query-builders/select.types.d.cts +0 -142
  1605. package/mssql-core/query-builders/select.types.d.ts +0 -142
  1606. package/mssql-core/query-builders/select.types.js +0 -1
  1607. package/mssql-core/query-builders/select.types.js.map +0 -1
  1608. package/mssql-core/query-builders/update.cjs +0 -138
  1609. package/mssql-core/query-builders/update.cjs.map +0 -1
  1610. package/mssql-core/query-builders/update.d.cts +0 -142
  1611. package/mssql-core/query-builders/update.d.ts +0 -142
  1612. package/mssql-core/query-builders/update.js +0 -113
  1613. package/mssql-core/query-builders/update.js.map +0 -1
  1614. package/mssql-core/schema.cjs +0 -51
  1615. package/mssql-core/schema.cjs.map +0 -1
  1616. package/mssql-core/schema.d.cts +0 -22
  1617. package/mssql-core/schema.d.ts +0 -22
  1618. package/mssql-core/schema.js +0 -25
  1619. package/mssql-core/schema.js.map +0 -1
  1620. package/mssql-core/session.cjs +0 -74
  1621. package/mssql-core/session.cjs.map +0 -1
  1622. package/mssql-core/session.d.cts +0 -63
  1623. package/mssql-core/session.d.ts +0 -63
  1624. package/mssql-core/session.js +0 -48
  1625. package/mssql-core/session.js.map +0 -1
  1626. package/mssql-core/subquery.cjs +0 -17
  1627. package/mssql-core/subquery.cjs.map +0 -1
  1628. package/mssql-core/subquery.d.cts +0 -18
  1629. package/mssql-core/subquery.d.ts +0 -18
  1630. package/mssql-core/subquery.js +0 -1
  1631. package/mssql-core/subquery.js.map +0 -1
  1632. package/mssql-core/table.cjs +0 -81
  1633. package/mssql-core/table.cjs.map +0 -1
  1634. package/mssql-core/table.d.cts +0 -40
  1635. package/mssql-core/table.d.ts +0 -40
  1636. package/mssql-core/table.js +0 -55
  1637. package/mssql-core/table.js.map +0 -1
  1638. package/mssql-core/unique-constraint.cjs +0 -78
  1639. package/mssql-core/unique-constraint.cjs.map +0 -1
  1640. package/mssql-core/unique-constraint.d.cts +0 -24
  1641. package/mssql-core/unique-constraint.d.ts +0 -24
  1642. package/mssql-core/unique-constraint.js +0 -51
  1643. package/mssql-core/unique-constraint.js.map +0 -1
  1644. package/mssql-core/utils.cjs +0 -85
  1645. package/mssql-core/utils.cjs.map +0 -1
  1646. package/mssql-core/utils.d.cts +0 -31
  1647. package/mssql-core/utils.d.ts +0 -31
  1648. package/mssql-core/utils.js +0 -60
  1649. package/mssql-core/utils.js.map +0 -1
  1650. package/mssql-core/view-base.cjs +0 -33
  1651. package/mssql-core/view-base.cjs.map +0 -1
  1652. package/mssql-core/view-base.d.cts +0 -9
  1653. package/mssql-core/view-base.d.ts +0 -9
  1654. package/mssql-core/view-base.js +0 -9
  1655. package/mssql-core/view-base.js.map +0 -1
  1656. package/mssql-core/view-common.cjs +0 -29
  1657. package/mssql-core/view-common.cjs.map +0 -1
  1658. package/mssql-core/view-common.d.cts +0 -1
  1659. package/mssql-core/view-common.d.ts +0 -1
  1660. package/mssql-core/view-common.js +0 -5
  1661. package/mssql-core/view-common.js.map +0 -1
  1662. package/mssql-core/view.cjs +0 -154
  1663. package/mssql-core/view.cjs.map +0 -1
  1664. package/mssql-core/view.d.cts +0 -63
  1665. package/mssql-core/view.d.ts +0 -63
  1666. package/mssql-core/view.js +0 -125
  1667. package/mssql-core/view.js.map +0 -1
  1668. package/mysql-core/columns/blob.cjs +0 -158
  1669. package/mysql-core/columns/blob.cjs.map +0 -1
  1670. package/mysql-core/columns/blob.d.cts +0 -54
  1671. package/mysql-core/columns/blob.d.ts +0 -54
  1672. package/mysql-core/columns/blob.js +0 -127
  1673. package/mysql-core/columns/blob.js.map +0 -1
  1674. package/mysql-core/columns/string.common.cjs +0 -48
  1675. package/mysql-core/columns/string.common.cjs.map +0 -1
  1676. package/mysql-core/columns/string.common.d.cts +0 -21
  1677. package/mysql-core/columns/string.common.d.ts +0 -21
  1678. package/mysql-core/columns/string.common.js +0 -23
  1679. package/mysql-core/columns/string.common.js.map +0 -1
  1680. package/node-mssql/driver.cjs +0 -113
  1681. package/node-mssql/driver.cjs.map +0 -1
  1682. package/node-mssql/driver.d.cts +0 -46
  1683. package/node-mssql/driver.d.ts +0 -46
  1684. package/node-mssql/driver.js +0 -77
  1685. package/node-mssql/driver.js.map +0 -1
  1686. package/node-mssql/index.cjs +0 -25
  1687. package/node-mssql/index.cjs.map +0 -1
  1688. package/node-mssql/index.d.cts +0 -2
  1689. package/node-mssql/index.d.ts +0 -2
  1690. package/node-mssql/index.js +0 -3
  1691. package/node-mssql/index.js.map +0 -1
  1692. package/node-mssql/migrator.cjs +0 -33
  1693. package/node-mssql/migrator.cjs.map +0 -1
  1694. package/node-mssql/migrator.d.cts +0 -3
  1695. package/node-mssql/migrator.d.ts +0 -3
  1696. package/node-mssql/migrator.js +0 -9
  1697. package/node-mssql/migrator.js.map +0 -1
  1698. package/node-mssql/pool.cjs +0 -54
  1699. package/node-mssql/pool.cjs.map +0 -1
  1700. package/node-mssql/pool.d.cts +0 -8
  1701. package/node-mssql/pool.d.ts +0 -8
  1702. package/node-mssql/pool.js +0 -20
  1703. package/node-mssql/pool.js.map +0 -1
  1704. package/node-mssql/session.cjs +0 -256
  1705. package/node-mssql/session.cjs.map +0 -1
  1706. package/node-mssql/session.d.cts +0 -48
  1707. package/node-mssql/session.d.ts +0 -48
  1708. package/node-mssql/session.js +0 -224
  1709. package/node-mssql/session.js.map +0 -1
@@ -3,6 +3,7 @@ import { Column } from "../../column.js";
3
3
  import { entityKind, is } from "../../entity.js";
4
4
  import { ForeignKeyBuilder } from "../foreign-keys.js";
5
5
  import { iife } from "../../tracing-utils.js";
6
+ import { uniqueKeyName } from "../unique-constraint.js";
6
7
  import { makePgArray, parsePgArray } from "../utils/array.js";
7
8
  class PgColumnBuilder extends ColumnBuilder {
8
9
  foreignKeyConfigs = [];
@@ -10,8 +11,8 @@ class PgColumnBuilder extends ColumnBuilder {
10
11
  array(length) {
11
12
  return new PgArrayBuilder(this.config.name, this, length);
12
13
  }
13
- references(ref, config = {}) {
14
- this.foreignKeyConfigs.push({ ref, config });
14
+ references(ref, actions = {}) {
15
+ this.foreignKeyConfigs.push({ ref, actions });
15
16
  return this;
16
17
  }
17
18
  unique(name, config) {
@@ -30,23 +31,23 @@ class PgColumnBuilder extends ColumnBuilder {
30
31
  }
31
32
  /** @internal */
32
33
  buildForeignKeys(column, table) {
33
- return this.foreignKeyConfigs.map(({ ref, config }) => {
34
+ return this.foreignKeyConfigs.map(({ ref, actions }) => {
34
35
  return iife(
35
- (ref2, config2) => {
36
+ (ref2, actions2) => {
36
37
  const builder = new ForeignKeyBuilder(() => {
37
38
  const foreignColumn = ref2();
38
- return { name: config2.name, columns: [column], foreignColumns: [foreignColumn] };
39
+ return { columns: [column], foreignColumns: [foreignColumn] };
39
40
  });
40
- if (config2.onUpdate) {
41
- builder.onUpdate(config2.onUpdate);
41
+ if (actions2.onUpdate) {
42
+ builder.onUpdate(actions2.onUpdate);
42
43
  }
43
- if (config2.onDelete) {
44
- builder.onDelete(config2.onDelete);
44
+ if (actions2.onDelete) {
45
+ builder.onDelete(actions2.onDelete);
45
46
  }
46
47
  return builder.build(table);
47
48
  },
48
49
  ref,
49
- config
50
+ actions
50
51
  );
51
52
  });
52
53
  }
@@ -60,6 +61,9 @@ class PgColumn extends Column {
60
61
  /** @internal */
61
62
  table;
62
63
  constructor(table, config) {
64
+ if (!config.uniqueName) {
65
+ config.uniqueName = uniqueKeyName(table, [config.name]);
66
+ }
63
67
  super(table, config);
64
68
  this.table = table;
65
69
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasGenerated,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/pg-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/pg-core/foreign-keys.ts';\nimport type { AnyPgTable, PgTable } from '~/pg-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { iife } from '~/tracing-utils.ts';\nimport type { Update } from '~/utils.ts';\nimport type { PgIndexOpClass } from '../indexes.ts';\nimport { makePgArray, parsePgArray } from '../utils/array.ts';\n\nexport type PgColumns = Record<string, PgColumn<any>>;\n\nexport interface ReferenceConfig {\n\tref: () => PgColumn;\n\tconfig: {\n\t\tname?: string;\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport abstract class PgColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends ColumnBuilder<T, TRuntimeConfig, ColumnBuilderExtraConfig> {\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic override readonly [entityKind]: string = 'PgColumnBuilder';\n\n\tarray(length?: number): PgArrayBuilder<\n\t\t& {\n\t\t\tname: string;\n\t\t\tdataType: 'array basecolumn';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t> {\n\t\treturn new PgArrayBuilder(this.config.name, this as PgColumnBuilder<any, any>, length as any);\n\t}\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tconfig: ReferenceConfig['config'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, config });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t\tconfig?: { nulls: 'distinct' | 'not distinct' },\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\tthis.config.uniqueType = config?.nulls;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL)): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: 'stored',\n\t\t};\n\t\treturn this as HasGenerated<this, {\n\t\t\ttype: 'always';\n\t\t}>;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: PgColumn, table: PgTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, config }) => {\n\t\t\treturn iife(\n\t\t\t\t(ref, config) => {\n\t\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\t\treturn { name: config.name, columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t\t});\n\t\t\t\t\tif (config.onUpdate) {\n\t\t\t\t\t\tbuilder.onUpdate(config.onUpdate);\n\t\t\t\t\t}\n\t\t\t\t\tif (config.onDelete) {\n\t\t\t\t\t\tbuilder.onDelete(config.onDelete);\n\t\t\t\t\t}\n\t\t\t\t\treturn builder.build(table);\n\t\t\t\t},\n\t\t\t\tref,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(table: PgTable): PgColumn<any>;\n\n\t/** @internal */\n\tbuildExtraConfigColumn<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): ExtraConfigColumn {\n\t\treturn new ExtraConfigColumn(table, this.config);\n\t}\n}\n\n// To understand how to use `PgColumn` and `PgColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class PgColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'PgColumn';\n\n\t/** @internal */\n\toverride readonly table: PgTable;\n\n\tconstructor(\n\t\ttable: PgTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; opClass?: string };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n> extends PgColumn<T, IndexedExtraConfigType> {\n\tstatic override readonly [entityKind]: string = 'ExtraConfigColumn';\n\n\toverride getSQLType(): string {\n\t\treturn this.getSQLType();\n\t}\n\n\tindexConfig: IndexedExtraConfigType = {\n\t\torder: this.config.order ?? 'asc',\n\t\tnulls: this.config.nulls ?? 'last',\n\t\topClass: this.config.opClass,\n\t};\n\tdefaultConfig: IndexedExtraConfigType = {\n\t\torder: 'asc',\n\t\tnulls: 'last',\n\t\topClass: undefined,\n\t};\n\n\tasc(): Omit<this, 'asc' | 'desc'> {\n\t\tthis.indexConfig.order = 'asc';\n\t\treturn this;\n\t}\n\n\tdesc(): Omit<this, 'asc' | 'desc'> {\n\t\tthis.indexConfig.order = 'desc';\n\t\treturn this;\n\t}\n\n\tnullsFirst(): Omit<this, 'nullsFirst' | 'nullsLast'> {\n\t\tthis.indexConfig.nulls = 'first';\n\t\treturn this;\n\t}\n\n\tnullsLast(): Omit<this, 'nullsFirst' | 'nullsLast'> {\n\t\tthis.indexConfig.nulls = 'last';\n\t\treturn this;\n\t}\n\n\t/**\n\t * ### PostgreSQL documentation quote\n\t *\n\t * > An operator class with optional parameters can be specified for each column of an index.\n\t * The operator class identifies the operators to be used by the index for that column.\n\t * For example, a B-tree index on four-byte integers would use the int4_ops class;\n\t * this operator class includes comparison functions for four-byte integers.\n\t * In practice the default operator class for the column's data type is usually sufficient.\n\t * The main point of having operator classes is that for some data types, there could be more than one meaningful ordering.\n\t * For example, we might want to sort a complex-number data type either by absolute value or by real part.\n\t * We could do this by defining two operator classes for the data type and then selecting the proper class when creating an index.\n\t * More information about operator classes check:\n\t *\n\t * ### Useful links\n\t * https://www.postgresql.org/docs/current/sql-createindex.html\n\t *\n\t * https://www.postgresql.org/docs/current/indexes-opclass.html\n\t *\n\t * https://www.postgresql.org/docs/current/xindex.html\n\t *\n\t * ### Additional types\n\t * If you have the `pg_vector` extension installed in your database, you can use the\n\t * `vector_l2_ops`, `vector_ip_ops`, `vector_cosine_ops`, `vector_l1_ops`, `bit_hamming_ops`, `bit_jaccard_ops`, `halfvec_l2_ops`, `sparsevec_l2_ops` options, which are predefined types.\n\t *\n\t * **You can always specify any string you want in the operator class, in case Drizzle doesn't have it natively in its types**\n\t *\n\t * @param opClass\n\t * @returns\n\t */\n\top(opClass: PgIndexOpClass): Omit<this, 'op'> {\n\t\tthis.indexConfig.opClass = opClass;\n\t\treturn this;\n\t}\n}\n\nexport class IndexedColumn {\n\tstatic readonly [entityKind]: string = 'IndexedColumn';\n\tconstructor(\n\t\tname: string | undefined,\n\t\tkeyAsName: boolean,\n\t\ttype: string,\n\t\tindexConfig: IndexedExtraConfigType,\n\t) {\n\t\tthis.name = name;\n\t\tthis.keyAsName = keyAsName;\n\t\tthis.type = type;\n\t\tthis.indexConfig = indexConfig;\n\t}\n\n\tname: string | undefined;\n\tkeyAsName: boolean;\n\ttype: string;\n\tindexConfig: IndexedExtraConfigType;\n}\n\nexport type AnyPgColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = PgColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport type PgArrayColumnBuilderBaseConfig = ColumnBuilderBaseConfig<'array basecolumn'> & {\n\tbaseBuilder: ColumnBuilderBaseConfig<ColumnType>;\n};\n\nexport class PgArrayBuilder<\n\tT extends PgArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig<ColumnType> | PgArrayColumnBuilderBaseConfig,\n> extends PgColumnBuilder<\n\tT & {\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any> } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder<TBase, {}>;\n\t},\n\t{\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any> } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder<TBase, {}>;\n\t\tlength: number | undefined;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgArrayBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tbaseBuilder: PgArrayBuilder<T, TBase>['config']['baseBuilder'],\n\t\tlength: number | undefined,\n\t) {\n\t\tsuper(name, 'array basecolumn', 'PgArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.length = length;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable) {\n\t\tconst baseColumn: any = this.config.baseBuilder.build(table);\n\t\treturn new PgArray(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class PgArray<\n\tT extends ColumnBaseConfig<'array basecolumn'> & {\n\t\tlength: number | undefined;\n\t\tbaseBuilder: ColumnBuilderBaseConfig<ColumnType>;\n\t},\n\tTBase extends ColumnBuilderBaseConfig<ColumnType>,\n> extends PgColumn<T, {}> {\n\tstatic override readonly [entityKind]: string = 'PgArray';\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgArrayBuilder<T, TBase>['config'],\n\t\treadonly baseColumn: PgColumn,\n\t\treadonly range?: [number | undefined, number | undefined],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.length === 'number' ? this.length : ''}]`;\n\t}\n\n\toverride mapFromDriverValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parsePgArray(value);\n\t\t}\n\t\treturn value.map((v) => this.baseColumn.mapFromDriverValue(v));\n\t}\n\n\t// Needed for arrays of custom types\n\tmapFromJsonValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parsePgArray(value);\n\t\t}\n\n\t\tconst base = this.baseColumn;\n\n\t\treturn 'mapFromJsonValue' in base\n\t\t\t? value.map((v) => (<(value: unknown) => unknown> base.mapFromJsonValue)(v))\n\t\t\t: value.map((v) => base.mapFromDriverValue(v));\n\t}\n\n\toverride mapToDriverValue(value: unknown[], isNestedArray = false): unknown[] | string {\n\t\tconst a = value.map((v) =>\n\t\t\tv === null\n\t\t\t\t? null\n\t\t\t\t: is(this.baseColumn, PgArray)\n\t\t\t\t? this.baseColumn.mapToDriverValue(v as unknown[], true)\n\t\t\t\t: this.baseColumn.mapToDriverValue(v)\n\t\t);\n\t\tif (isNestedArray) return a;\n\t\treturn makePgArray(a);\n\t}\n}\n"],"mappings":"AAOA,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,YAAY,UAAU;AAE/B,SAAS,yBAAyB;AAGlC,SAAS,YAAY;AAGrB,SAAS,aAAa,oBAAoB;AAanC,MAAe,wBAGZ,cAA2D;AAAA,EAC5D,oBAAuC,CAAC;AAAA,EAEhD,QAA0B,UAAU,IAAY;AAAA,EAEhD,MAAM,QAWJ;AACD,WAAO,IAAI,eAAe,KAAK,OAAO,MAAM,MAAmC,MAAa;AAAA,EAC7F;AAAA,EAEA,WACC,KACA,SAAoC,CAAC,GAC9B;AACP,SAAK,kBAAkB,KAAK,EAAE,KAAK,OAAO,CAAC;AAC3C,WAAO;AAAA,EACR;AAAA,EAEA,OACC,MACA,QACO;AACP,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,aAAa,QAAQ;AACjC,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAEf;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AACA,WAAO;AAAA,EAGR;AAAA;AAAA,EAGA,iBAAiB,QAAkB,OAA8B;AAChE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,OAAO,MAAM;AACtD,aAAO;AAAA,QACN,CAACA,MAAKC,YAAW;AAChB,gBAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,kBAAM,gBAAgBD,KAAI;AAC1B,mBAAO,EAAE,MAAMC,QAAO,MAAM,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,UAChF,CAAC;AACD,cAAIA,QAAO,UAAU;AACpB,oBAAQ,SAASA,QAAO,QAAQ;AAAA,UACjC;AACA,cAAIA,QAAO,UAAU;AACpB,oBAAQ,SAASA,QAAO,QAAQ;AAAA,UACjC;AACA,iBAAO,QAAQ,MAAM,KAAK;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF;AAAA;AAAA,EAMA,uBACC,OACoB;AACpB,WAAO,IAAI,kBAAkB,OAAO,KAAK,MAAM;AAAA,EAChD;AACD;AAGO,MAAe,iBAGZ,OAA0B;AAAA,EACnC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAIO,MAAM,0BAEH,SAAoC;AAAA,EAC7C,QAA0B,UAAU,IAAY;AAAA,EAEvC,aAAqB;AAC7B,WAAO,KAAK,WAAW;AAAA,EACxB;AAAA,EAEA,cAAsC;AAAA,IACrC,OAAO,KAAK,OAAO,SAAS;AAAA,IAC5B,OAAO,KAAK,OAAO,SAAS;AAAA,IAC5B,SAAS,KAAK,OAAO;AAAA,EACtB;AAAA,EACA,gBAAwC;AAAA,IACvC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,EACV;AAAA,EAEA,MAAkC;AACjC,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,OAAmC;AAClC,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,aAAqD;AACpD,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,YAAoD;AACnD,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BA,GAAG,SAA2C;AAC7C,SAAK,YAAY,UAAU;AAC3B,WAAO;AAAA,EACR;AACD;AAEO,MAAM,cAAc;AAAA,EAC1B,QAAiB,UAAU,IAAY;AAAA,EACvC,YACC,MACA,WACA,MACA,aACC;AACD,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,OAAO;AACZ,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAUO,MAAM,uBAGH,gBAkBR;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,QACC;AACD,UAAM,MAAM,oBAAoB,SAAS;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,SAAS;AAAA,EACtB;AAAA;AAAA,EAGS,MAAM,OAAgB;AAC9B,UAAM,aAAkB,KAAK,OAAO,YAAY,MAAM,KAAK;AAC3D,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,MACL;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,gBAMH,SAAgB;AAAA,EAGzB,YACC,OACA,QACS,YACA,OACR;AACD,UAAM,OAAO,MAAM;AAHV;AACA;AAAA,EAGV;AAAA,EATA,QAA0B,UAAU,IAAY;AAAA,EAWhD,aAAqB;AACpB,WAAO,GAAG,KAAK,WAAW,WAAW,CAAC,IAAI,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS,EAAE;AAAA,EAC7F;AAAA,EAES,mBAAmB,OAAsC;AACjE,QAAI,OAAO,UAAU,UAAU;AAE9B,cAAQ,aAAa,KAAK;AAAA,IAC3B;AACA,WAAO,MAAM,IAAI,CAAC,MAAM,KAAK,WAAW,mBAAmB,CAAC,CAAC;AAAA,EAC9D;AAAA;AAAA,EAGA,iBAAiB,OAAsC;AACtD,QAAI,OAAO,UAAU,UAAU;AAE9B,cAAQ,aAAa,KAAK;AAAA,IAC3B;AAEA,UAAM,OAAO,KAAK;AAElB,WAAO,sBAAsB,OAC1B,MAAM,IAAI,CAAC,MAAqC,KAAK,iBAAkB,CAAC,CAAC,IACzE,MAAM,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC;AAAA,EAC/C;AAAA,EAES,iBAAiB,OAAkB,gBAAgB,OAA2B;AACtF,UAAM,IAAI,MAAM;AAAA,MAAI,CAAC,MACpB,MAAM,OACH,OACA,GAAG,KAAK,YAAY,OAAO,IAC3B,KAAK,WAAW,iBAAiB,GAAgB,IAAI,IACrD,KAAK,WAAW,iBAAiB,CAAC;AAAA,IACtC;AACA,QAAI,cAAe,QAAO;AAC1B,WAAO,YAAY,CAAC;AAAA,EACrB;AACD;","names":["ref","config"]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasGenerated,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/pg-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/pg-core/foreign-keys.ts';\nimport type { AnyPgTable, PgTable } from '~/pg-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { iife } from '~/tracing-utils.ts';\nimport type { Update } from '~/utils.ts';\nimport type { PgIndexOpClass } from '../indexes.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\nimport { makePgArray, parsePgArray } from '../utils/array.ts';\n\nexport type PgColumns = Record<string, PgColumn<any>>;\n\nexport interface ReferenceConfig {\n\tref: () => PgColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport abstract class PgColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends ColumnBuilder<T, TRuntimeConfig, ColumnBuilderExtraConfig> {\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic override readonly [entityKind]: string = 'PgColumnBuilder';\n\n\tarray(length?: number): PgArrayBuilder<\n\t\t& {\n\t\t\tname: string;\n\t\t\tdataType: 'array basecolumn';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t> {\n\t\treturn new PgArrayBuilder(this.config.name, this as PgColumnBuilder<any, any>, length as any);\n\t}\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t\tconfig?: { nulls: 'distinct' | 'not distinct' },\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\tthis.config.uniqueType = config?.nulls;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL)): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: 'stored',\n\t\t};\n\t\treturn this as HasGenerated<this, {\n\t\t\ttype: 'always';\n\t\t}>;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: PgColumn, table: PgTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn iife(\n\t\t\t\t(ref, actions) => {\n\t\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t\t});\n\t\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t\t}\n\t\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t\t}\n\t\t\t\t\treturn builder.build(table);\n\t\t\t\t},\n\t\t\t\tref,\n\t\t\t\tactions,\n\t\t\t);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(table: PgTable): PgColumn<any>;\n\n\t/** @internal */\n\tbuildExtraConfigColumn<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): ExtraConfigColumn {\n\t\treturn new ExtraConfigColumn(table, this.config);\n\t}\n}\n\n// To understand how to use `PgColumn` and `PgColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class PgColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'PgColumn';\n\n\t/** @internal */\n\toverride readonly table: PgTable;\n\n\tconstructor(\n\t\ttable: PgTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; opClass?: string };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n> extends PgColumn<T, IndexedExtraConfigType> {\n\tstatic override readonly [entityKind]: string = 'ExtraConfigColumn';\n\n\toverride getSQLType(): string {\n\t\treturn this.getSQLType();\n\t}\n\n\tindexConfig: IndexedExtraConfigType = {\n\t\torder: this.config.order ?? 'asc',\n\t\tnulls: this.config.nulls ?? 'last',\n\t\topClass: this.config.opClass,\n\t};\n\tdefaultConfig: IndexedExtraConfigType = {\n\t\torder: 'asc',\n\t\tnulls: 'last',\n\t\topClass: undefined,\n\t};\n\n\tasc(): Omit<this, 'asc' | 'desc'> {\n\t\tthis.indexConfig.order = 'asc';\n\t\treturn this;\n\t}\n\n\tdesc(): Omit<this, 'asc' | 'desc'> {\n\t\tthis.indexConfig.order = 'desc';\n\t\treturn this;\n\t}\n\n\tnullsFirst(): Omit<this, 'nullsFirst' | 'nullsLast'> {\n\t\tthis.indexConfig.nulls = 'first';\n\t\treturn this;\n\t}\n\n\tnullsLast(): Omit<this, 'nullsFirst' | 'nullsLast'> {\n\t\tthis.indexConfig.nulls = 'last';\n\t\treturn this;\n\t}\n\n\t/**\n\t * ### PostgreSQL documentation quote\n\t *\n\t * > An operator class with optional parameters can be specified for each column of an index.\n\t * The operator class identifies the operators to be used by the index for that column.\n\t * For example, a B-tree index on four-byte integers would use the int4_ops class;\n\t * this operator class includes comparison functions for four-byte integers.\n\t * In practice the default operator class for the column's data type is usually sufficient.\n\t * The main point of having operator classes is that for some data types, there could be more than one meaningful ordering.\n\t * For example, we might want to sort a complex-number data type either by absolute value or by real part.\n\t * We could do this by defining two operator classes for the data type and then selecting the proper class when creating an index.\n\t * More information about operator classes check:\n\t *\n\t * ### Useful links\n\t * https://www.postgresql.org/docs/current/sql-createindex.html\n\t *\n\t * https://www.postgresql.org/docs/current/indexes-opclass.html\n\t *\n\t * https://www.postgresql.org/docs/current/xindex.html\n\t *\n\t * ### Additional types\n\t * If you have the `pg_vector` extension installed in your database, you can use the\n\t * `vector_l2_ops`, `vector_ip_ops`, `vector_cosine_ops`, `vector_l1_ops`, `bit_hamming_ops`, `bit_jaccard_ops`, `halfvec_l2_ops`, `sparsevec_l2_ops` options, which are predefined types.\n\t *\n\t * **You can always specify any string you want in the operator class, in case Drizzle doesn't have it natively in its types**\n\t *\n\t * @param opClass\n\t * @returns\n\t */\n\top(opClass: PgIndexOpClass): Omit<this, 'op'> {\n\t\tthis.indexConfig.opClass = opClass;\n\t\treturn this;\n\t}\n}\n\nexport class IndexedColumn {\n\tstatic readonly [entityKind]: string = 'IndexedColumn';\n\tconstructor(\n\t\tname: string | undefined,\n\t\tkeyAsName: boolean,\n\t\ttype: string,\n\t\tindexConfig: IndexedExtraConfigType,\n\t) {\n\t\tthis.name = name;\n\t\tthis.keyAsName = keyAsName;\n\t\tthis.type = type;\n\t\tthis.indexConfig = indexConfig;\n\t}\n\n\tname: string | undefined;\n\tkeyAsName: boolean;\n\ttype: string;\n\tindexConfig: IndexedExtraConfigType;\n}\n\nexport type AnyPgColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = PgColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport type PgArrayColumnBuilderBaseConfig = ColumnBuilderBaseConfig<'array basecolumn'> & {\n\tbaseBuilder: ColumnBuilderBaseConfig<ColumnType>;\n};\n\nexport class PgArrayBuilder<\n\tT extends PgArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig<ColumnType> | PgArrayColumnBuilderBaseConfig,\n> extends PgColumnBuilder<\n\tT & {\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any> } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder<TBase, {}>;\n\t},\n\t{\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any> } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder<TBase, {}>;\n\t\tlength: number | undefined;\n\t}\n> {\n\tstatic override readonly [entityKind] = 'PgArrayBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tbaseBuilder: PgArrayBuilder<T, TBase>['config']['baseBuilder'],\n\t\tlength: number | undefined,\n\t) {\n\t\tsuper(name, 'array basecolumn', 'PgArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.length = length;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable) {\n\t\tconst baseColumn: any = this.config.baseBuilder.build(table);\n\t\treturn new PgArray(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class PgArray<\n\tT extends ColumnBaseConfig<'array basecolumn'> & {\n\t\tlength: number | undefined;\n\t\tbaseBuilder: ColumnBuilderBaseConfig<ColumnType>;\n\t},\n\tTBase extends ColumnBuilderBaseConfig<ColumnType>,\n> extends PgColumn<T, {}> {\n\tstatic override readonly [entityKind]: string = 'PgArray';\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgArrayBuilder<T, TBase>['config'],\n\t\treadonly baseColumn: PgColumn,\n\t\treadonly range?: [number | undefined, number | undefined],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.length === 'number' ? this.length : ''}]`;\n\t}\n\n\toverride mapFromDriverValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parsePgArray(value);\n\t\t}\n\t\treturn value.map((v) => this.baseColumn.mapFromDriverValue(v));\n\t}\n\n\t// Needed for arrays of custom types\n\tmapFromJsonValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parsePgArray(value);\n\t\t}\n\n\t\tconst base = this.baseColumn;\n\n\t\treturn 'mapFromJsonValue' in base\n\t\t\t? value.map((v) => (<(value: unknown) => unknown> base.mapFromJsonValue)(v))\n\t\t\t: value.map((v) => base.mapFromDriverValue(v));\n\t}\n\n\toverride mapToDriverValue(value: unknown[], isNestedArray = false): unknown[] | string {\n\t\tconst a = value.map((v) =>\n\t\t\tv === null\n\t\t\t\t? null\n\t\t\t\t: is(this.baseColumn, PgArray)\n\t\t\t\t? this.baseColumn.mapToDriverValue(v as unknown[], true)\n\t\t\t\t: this.baseColumn.mapToDriverValue(v)\n\t\t);\n\t\tif (isNestedArray) return a;\n\t\treturn makePgArray(a);\n\t}\n}\n"],"mappings":"AAOA,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,YAAY,UAAU;AAE/B,SAAS,yBAAyB;AAGlC,SAAS,YAAY;AAGrB,SAAS,qBAAqB;AAC9B,SAAS,aAAa,oBAAoB;AAYnC,MAAe,wBAGZ,cAA2D;AAAA,EAC5D,oBAAuC,CAAC;AAAA,EAEhD,QAA0B,UAAU,IAAY;AAAA,EAEhD,MAAM,QAWJ;AACD,WAAO,IAAI,eAAe,KAAK,OAAO,MAAM,MAAmC,MAAa;AAAA,EAC7F;AAAA,EAEA,WACC,KACA,UAAsC,CAAC,GAChC;AACP,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OACC,MACA,QACO;AACP,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,aAAa,QAAQ;AACjC,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAEf;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AACA,WAAO;AAAA,EAGR;AAAA;AAAA,EAGA,iBAAiB,QAAkB,OAA8B;AAChE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,aAAO;AAAA,QACN,CAACA,MAAKC,aAAY;AACjB,gBAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,kBAAM,gBAAgBD,KAAI;AAC1B,mBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,UAC7D,CAAC;AACD,cAAIC,SAAQ,UAAU;AACrB,oBAAQ,SAASA,SAAQ,QAAQ;AAAA,UAClC;AACA,cAAIA,SAAQ,UAAU;AACrB,oBAAQ,SAASA,SAAQ,QAAQ;AAAA,UAClC;AACA,iBAAO,QAAQ,MAAM,KAAK;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF;AAAA;AAAA,EAMA,uBACC,OACoB;AACpB,WAAO,IAAI,kBAAkB,OAAO,KAAK,MAAM;AAAA,EAChD;AACD;AAGO,MAAe,iBAGZ,OAA0B;AAAA,EACnC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAIO,MAAM,0BAEH,SAAoC;AAAA,EAC7C,QAA0B,UAAU,IAAY;AAAA,EAEvC,aAAqB;AAC7B,WAAO,KAAK,WAAW;AAAA,EACxB;AAAA,EAEA,cAAsC;AAAA,IACrC,OAAO,KAAK,OAAO,SAAS;AAAA,IAC5B,OAAO,KAAK,OAAO,SAAS;AAAA,IAC5B,SAAS,KAAK,OAAO;AAAA,EACtB;AAAA,EACA,gBAAwC;AAAA,IACvC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,EACV;AAAA,EAEA,MAAkC;AACjC,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,OAAmC;AAClC,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,aAAqD;AACpD,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,YAAoD;AACnD,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BA,GAAG,SAA2C;AAC7C,SAAK,YAAY,UAAU;AAC3B,WAAO;AAAA,EACR;AACD;AAEO,MAAM,cAAc;AAAA,EAC1B,QAAiB,UAAU,IAAY;AAAA,EACvC,YACC,MACA,WACA,MACA,aACC;AACD,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,OAAO;AACZ,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAUO,MAAM,uBAGH,gBAkBR;AAAA,EACD,QAA0B,UAAU,IAAI;AAAA,EAExC,YACC,MACA,aACA,QACC;AACD,UAAM,MAAM,oBAAoB,SAAS;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,SAAS;AAAA,EACtB;AAAA;AAAA,EAGS,MAAM,OAAgB;AAC9B,UAAM,aAAkB,KAAK,OAAO,YAAY,MAAM,KAAK;AAC3D,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,MACL;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,gBAMH,SAAgB;AAAA,EAGzB,YACC,OACA,QACS,YACA,OACR;AACD,UAAM,OAAO,MAAM;AAHV;AACA;AAAA,EAGV;AAAA,EATA,QAA0B,UAAU,IAAY;AAAA,EAWhD,aAAqB;AACpB,WAAO,GAAG,KAAK,WAAW,WAAW,CAAC,IAAI,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS,EAAE;AAAA,EAC7F;AAAA,EAES,mBAAmB,OAAsC;AACjE,QAAI,OAAO,UAAU,UAAU;AAE9B,cAAQ,aAAa,KAAK;AAAA,IAC3B;AACA,WAAO,MAAM,IAAI,CAAC,MAAM,KAAK,WAAW,mBAAmB,CAAC,CAAC;AAAA,EAC9D;AAAA;AAAA,EAGA,iBAAiB,OAAsC;AACtD,QAAI,OAAO,UAAU,UAAU;AAE9B,cAAQ,aAAa,KAAK;AAAA,IAC3B;AAEA,UAAM,OAAO,KAAK;AAElB,WAAO,sBAAsB,OAC1B,MAAM,IAAI,CAAC,MAAqC,KAAK,iBAAkB,CAAC,CAAC,IACzE,MAAM,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC;AAAA,EAC/C;AAAA,EAES,iBAAiB,OAAkB,gBAAgB,OAA2B;AACtF,UAAM,IAAI,MAAM;AAAA,MAAI,CAAC,MACpB,MAAM,OACH,OACA,GAAG,KAAK,YAAY,OAAO,IAC3B,KAAK,WAAW,iBAAiB,GAAgB,IAAI,IACrD,KAAK,WAAW,iBAAiB,CAAC;AAAA,IACtC;AACA,QAAI,cAAe,QAAO;AAC1B,WAAO,YAAY,CAAC;AAAA,EACrB;AACD;","names":["ref","actions"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface PgCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class PgCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'PgCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgCustomColumn<T extends ColumnBaseConfig<'custom'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql, arrayDimensions);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'bytea':\n\t\t\tcase 'geometry':\n\t\t\tcase 'timestamp':\n\t\t\tcase 'numeric':\n\t\t\tcase 'bigint': {\n\t\t\t\tconst arrVal = '[]'.repeat(arrayDimensions ?? 0);\n\n\t\t\t\treturn sql`${identifier}::text${sql.raw(arrVal).if(arrayDimensions)}`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07T03:25:16.635Z\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07T03:25:16.635Z\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `bytea`, `geometry`, `timestamp`, `numeric`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t * \treturn sql`${identifier}::text`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\" AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\"::text AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n}\n\n/**\n * Custom pg database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): PgCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new PgCustomColumnBuilder(name, config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAA0C;AAenC,MAAM,8BAA2E,8BAMtF;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,gBAAgB;AACtC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBAA6D,uBAAY;AAAA,EACrF,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAmB,iBAA+B;AACvF,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,KAAK,eAAe;AAExG,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,cAAM,SAAS,KAAK,OAAO,mBAAmB,CAAC;AAE/C,eAAO,MAAM,UAAU,SAAS,IAAI,IAAI,MAAM,EAAE,GAAG,eAAe,CAAC;AAAA,MACpE;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACmD;AACnD,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,sBAAsB,MAAM,QAAQ,gBAAgB;AAAA,EAChE;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: string;\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface PgCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class PgCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'PgCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgCustomColumn<T extends ColumnBaseConfig<'custom'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql, arrayDimensions);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'bytea':\n\t\t\tcase 'geometry':\n\t\t\tcase 'timestamp':\n\t\t\tcase 'numeric':\n\t\t\tcase 'bigint': {\n\t\t\t\tconst arrVal = '[]'.repeat(arrayDimensions ?? 0);\n\n\t\t\t\treturn sql`${identifier}::text${sql.raw(arrVal).if(arrayDimensions)}`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07T03:25:16.635Z\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07T03:25:16.635Z\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `bytea`, `geometry`, `timestamp`, `numeric`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t * \treturn sql`${identifier}::text`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\" AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\"::text AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n}\n\n/**\n * Custom pg database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): PgCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new PgCustomColumnBuilder(name as ConvertCustomConfig<T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAA0C;AAgBnC,MAAM,8BAA2E,8BAMtF;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,gBAAgB;AACtC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBAA6D,uBAAY;AAAA,EACrF,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAmB,iBAA+B;AACvF,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,KAAK,eAAe;AAExG,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,cAAM,SAAS,KAAK,OAAO,mBAAmB,CAAC;AAE/C,eAAO,MAAM,UAAU,SAAS,IAAI,IAAI,MAAM,EAAE,GAAG,eAAe,CAAC;AAAA,MACpE;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACmD;AACnD,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,sBAAsB,MAAwC,QAAQ,gBAAgB;AAAA,EAClG;AACD;","names":[]}
@@ -6,6 +6,7 @@ import type { SQL, SQLGenerator } from "../../sql/sql.cjs";
6
6
  import { type Equal } from "../../utils.cjs";
7
7
  import { PgColumn, PgColumnBuilder } from "./common.cjs";
8
8
  export type ConvertCustomConfig<T extends Partial<CustomTypeValues>> = {
9
+ name: string;
9
10
  dataType: 'custom';
10
11
  data: T['data'];
11
12
  driverParam: T['driverData'];
@@ -6,6 +6,7 @@ import type { SQL, SQLGenerator } from "../../sql/sql.js";
6
6
  import { type Equal } from "../../utils.js";
7
7
  import { PgColumn, PgColumnBuilder } from "./common.js";
8
8
  export type ConvertCustomConfig<T extends Partial<CustomTypeValues>> = {
9
+ name: string;
9
10
  dataType: 'custom';
10
11
  data: T['data'];
11
12
  driverParam: T['driverData'];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface PgCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class PgCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'PgCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgCustomColumn<T extends ColumnBaseConfig<'custom'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql, arrayDimensions);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'bytea':\n\t\t\tcase 'geometry':\n\t\t\tcase 'timestamp':\n\t\t\tcase 'numeric':\n\t\t\tcase 'bigint': {\n\t\t\t\tconst arrVal = '[]'.repeat(arrayDimensions ?? 0);\n\n\t\t\t\treturn sql`${identifier}::text${sql.raw(arrVal).if(arrayDimensions)}`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07T03:25:16.635Z\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07T03:25:16.635Z\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `bytea`, `geometry`, `timestamp`, `numeric`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t * \treturn sql`${identifier}::text`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\" AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\"::text AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n}\n\n/**\n * Custom pg database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): PgCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new PgCustomColumnBuilder(name, config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,UAAU,uBAAuB;AAenC,MAAM,8BAA2E,gBAMtF;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,gBAAgB;AACtC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBAA6D,SAAY;AAAA,EACrF,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAmB,iBAA+B;AACvF,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,KAAK,eAAe;AAExG,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,cAAM,SAAS,KAAK,OAAO,mBAAmB,CAAC;AAE/C,eAAO,MAAM,UAAU,SAAS,IAAI,IAAI,MAAM,EAAE,GAAG,eAAe,CAAC;AAAA,MACpE;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACmD;AACnD,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,sBAAsB,MAAM,QAAQ,gBAAgB;AAAA,EAChE;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: string;\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface PgCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class PgCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'PgCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgCustomColumn<T extends ColumnBaseConfig<'custom'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql, arrayDimensions);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'bytea':\n\t\t\tcase 'geometry':\n\t\t\tcase 'timestamp':\n\t\t\tcase 'numeric':\n\t\t\tcase 'bigint': {\n\t\t\t\tconst arrVal = '[]'.repeat(arrayDimensions ?? 0);\n\n\t\t\t\treturn sql`${identifier}::text${sql.raw(arrVal).if(arrayDimensions)}`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07T03:25:16.635Z\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07T03:25:16.635Z\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `bytea`, `geometry`, `timestamp`, `numeric`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator, arrayDimensions?: number): SQL {\n\t * \treturn sql`${identifier}::text`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\" AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \trow_to_json(\"t\".*)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t\"table\".\"custom_bigint\"::text AS \"bigint\"\n\t * \t\tFROM\n\t * \t\t\"table\"\n\t * \t) AS \"t\"\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator, arrayDimensions?: number) => SQL;\n}\n\n/**\n * Custom pg database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): PgCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): PgCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new PgCustomColumnBuilder(name as ConvertCustomConfig<T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,UAAU,uBAAuB;AAgBnC,MAAM,8BAA2E,gBAMtF;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,gBAAgB;AACtC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBAA6D,SAAY;AAAA,EACrF,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAmB,iBAA+B;AACvF,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,KAAK,eAAe;AAExG,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,cAAM,SAAS,KAAK,OAAO,mBAAmB,CAAC;AAE/C,eAAO,MAAM,UAAU,SAAS,IAAI,IAAI,MAAM,EAAE,GAAG,eAAe,CAAC;AAAA,MACpE;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACmD;AACnD,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,sBAAsB,MAAwC,QAAQ,gBAAgB;AAAA,EAClG;AACD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn } from './common.ts';\nimport { PgDateColumnBaseBuilder } from './date.common.ts';\n\nexport class PgDateBuilder extends PgDateColumnBaseBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'PgDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDate(table, this.config as any);\n\t}\n}\n\nexport class PgDate<T extends ColumnBaseConfig<'object date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDate';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString();\n\t}\n}\n\nexport class PgDateStringBuilder extends PgDateColumnBaseBuilder<{\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'PgDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgDateString<T extends ColumnBaseConfig<'string date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDateString';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n}\n\nexport interface PgDateConfig<T extends 'date' | 'string' = 'date' | 'string'> {\n\tmode: T;\n}\n\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date(a?: string | PgDateConfig, b?: PgDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgDateConfig>(a, b);\n\tif (config?.mode === 'date') {\n\t\treturn new PgDateBuilder(name);\n\t}\n\treturn new PgDateStringBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAyB;AACzB,yBAAwC;AAEjC,MAAM,sBAAsB,2CAIhC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,uBAAY;AAAA,EAClF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY;AAAA,EAC1B;AACD;AAEO,MAAM,4BAA4B,2CAItC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,cAAc;AAAA,EAC1C;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAAgE,uBAAY;AAAA,EACxF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAaO,SAAS,KAAK,GAA2B,GAAkB;AACjE,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAqC,GAAG,CAAC;AAClE,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,cAAc,IAAI;AAAA,EAC9B;AACA,SAAO,IAAI,oBAAoB,IAAI;AACpC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn } from './common.ts';\nimport { PgDateColumnBaseBuilder } from './date.common.ts';\n\nexport class PgDateBuilder extends PgDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'PgDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDate(table, this.config as any);\n\t}\n}\n\nexport class PgDate<T extends ColumnBaseConfig<'object date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDate';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString();\n\t}\n}\n\nexport class PgDateStringBuilder extends PgDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'PgDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgDateString<T extends ColumnBaseConfig<'string date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDateString';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n}\n\nexport interface PgDateConfig<T extends 'date' | 'string' = 'date' | 'string'> {\n\tmode: T;\n}\n\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date(a?: string | PgDateConfig, b?: PgDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgDateConfig>(a, b);\n\tif (config?.mode === 'date') {\n\t\treturn new PgDateBuilder(name);\n\t}\n\treturn new PgDateStringBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAyB;AACzB,yBAAwC;AAEjC,MAAM,sBAAsB,2CAKhC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,uBAAY;AAAA,EAClF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY;AAAA,EAC1B;AACD;AAEO,MAAM,4BAA4B,2CAKtC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,cAAc;AAAA,EAC1C;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAAgE,uBAAY;AAAA,EACxF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAaO,SAAS,KAAK,GAA2B,GAAkB;AACjE,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAqC,GAAG,CAAC;AAClE,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,cAAc,IAAI;AAAA,EAC9B;AACA,SAAO,IAAI,oBAAoB,IAAI;AACpC;","names":[]}
@@ -4,6 +4,7 @@ import { type Equal } from "../../utils.cjs";
4
4
  import { PgColumn } from "./common.cjs";
5
5
  import { PgDateColumnBaseBuilder } from "./date.common.cjs";
6
6
  export declare class PgDateBuilder extends PgDateColumnBaseBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string;
@@ -18,6 +19,7 @@ export declare class PgDate<T extends ColumnBaseConfig<'object date'>> extends P
18
19
  mapToDriverValue(value: Date): string;
19
20
  }
20
21
  export declare class PgDateStringBuilder extends PgDateColumnBaseBuilder<{
22
+ name: string;
21
23
  dataType: 'string date';
22
24
  data: string;
23
25
  driverParam: string;
@@ -4,6 +4,7 @@ import { type Equal } from "../../utils.js";
4
4
  import { PgColumn } from "./common.js";
5
5
  import { PgDateColumnBaseBuilder } from "./date.common.js";
6
6
  export declare class PgDateBuilder extends PgDateColumnBaseBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string;
@@ -18,6 +19,7 @@ export declare class PgDate<T extends ColumnBaseConfig<'object date'>> extends P
18
19
  mapToDriverValue(value: Date): string;
19
20
  }
20
21
  export declare class PgDateStringBuilder extends PgDateColumnBaseBuilder<{
22
+ name: string;
21
23
  dataType: 'string date';
22
24
  data: string;
23
25
  driverParam: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn } from './common.ts';\nimport { PgDateColumnBaseBuilder } from './date.common.ts';\n\nexport class PgDateBuilder extends PgDateColumnBaseBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'PgDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDate(table, this.config as any);\n\t}\n}\n\nexport class PgDate<T extends ColumnBaseConfig<'object date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDate';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString();\n\t}\n}\n\nexport class PgDateStringBuilder extends PgDateColumnBaseBuilder<{\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'PgDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgDateString<T extends ColumnBaseConfig<'string date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDateString';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n}\n\nexport interface PgDateConfig<T extends 'date' | 'string' = 'date' | 'string'> {\n\tmode: T;\n}\n\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date(a?: string | PgDateConfig, b?: PgDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgDateConfig>(a, b);\n\tif (config?.mode === 'date') {\n\t\treturn new PgDateBuilder(name);\n\t}\n\treturn new PgDateStringBuilder(name);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AAEjC,MAAM,sBAAsB,wBAIhC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,SAAY;AAAA,EAClF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY;AAAA,EAC1B;AACD;AAEO,MAAM,4BAA4B,wBAItC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,cAAc;AAAA,EAC1C;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAAgE,SAAY;AAAA,EACxF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAaO,SAAS,KAAK,GAA2B,GAAkB;AACjE,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAqC,GAAG,CAAC;AAClE,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,cAAc,IAAI;AAAA,EAC9B;AACA,SAAO,IAAI,oBAAoB,IAAI;AACpC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn } from './common.ts';\nimport { PgDateColumnBaseBuilder } from './date.common.ts';\n\nexport class PgDateBuilder extends PgDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'PgDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDate(table, this.config as any);\n\t}\n}\n\nexport class PgDate<T extends ColumnBaseConfig<'object date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDate';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString();\n\t}\n}\n\nexport class PgDateStringBuilder extends PgDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'PgDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgDateString<T extends ColumnBaseConfig<'string date'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDateString';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n}\n\nexport interface PgDateConfig<T extends 'date' | 'string' = 'date' | 'string'> {\n\tmode: T;\n}\n\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date<TMode extends PgDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: PgDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? PgDateBuilder : PgDateStringBuilder;\nexport function date(a?: string | PgDateConfig, b?: PgDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgDateConfig>(a, b);\n\tif (config?.mode === 'date') {\n\t\treturn new PgDateBuilder(name);\n\t}\n\treturn new PgDateStringBuilder(name);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AAEjC,MAAM,sBAAsB,wBAKhC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,SAAY;AAAA,EAClF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY;AAAA,EAC1B;AACD;AAEO,MAAM,4BAA4B,wBAKtC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,cAAc;AAAA,EAC1C;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAAgE,SAAY;AAAA,EACxF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAaO,SAAS,KAAK,GAA2B,GAAkB;AACjE,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAqC,GAAG,CAAC;AAClE,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,cAAc,IAAI;AAAA,EAC9B;AACA,SAAO,IAAI,oBAAoB,IAAI;AACpC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/double-precision.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgDoublePrecisionBuilder extends PgColumnBuilder<{\n\tdataType: 'number double';\n\tdata: number;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecisionBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number double', 'PgDoublePrecision');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDoublePrecision(\n\t\t\ttable,\n\t\t\tthis.config,\n\t\t);\n\t}\n}\n\nexport class PgDoublePrecision<T extends ColumnBaseConfig<'number double'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecision';\n\n\tgetSQLType(): string {\n\t\treturn 'double precision';\n\t}\n\n\toverride mapFromDriverValue(value: string | number): number {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number.parseFloat(value);\n\t\t}\n\t\treturn value;\n\t}\n}\n\nexport function doublePrecision(name?: string): PgDoublePrecisionBuilder {\n\treturn new PgDoublePrecisionBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA0C;AAEnC,MAAM,iCAAiC,8BAI3C;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,iBAAiB,mBAAmB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAuE,uBAAY;AAAA,EAC/F,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO,OAAO,WAAW,KAAK;AAAA,IAC/B;AACA,WAAO;AAAA,EACR;AACD;AAEO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,IAAI,yBAAyB,QAAQ,EAAE;AAC/C;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/double-precision.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgDoublePrecisionBuilder extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'number double';\n\tdata: number;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecisionBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number double', 'PgDoublePrecision');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDoublePrecision(\n\t\t\ttable,\n\t\t\tthis.config,\n\t\t);\n\t}\n}\n\nexport class PgDoublePrecision<T extends ColumnBaseConfig<'number double'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecision';\n\n\tgetSQLType(): string {\n\t\treturn 'double precision';\n\t}\n\n\toverride mapFromDriverValue(value: string | number): number {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number.parseFloat(value);\n\t\t}\n\t\treturn value;\n\t}\n}\n\nexport function doublePrecision(name?: string): PgDoublePrecisionBuilder {\n\treturn new PgDoublePrecisionBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA0C;AAEnC,MAAM,iCAAiC,8BAK3C;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,iBAAiB,mBAAmB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAuE,uBAAY;AAAA,EAC/F,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO,OAAO,WAAW,KAAK;AAAA,IAC/B;AACA,WAAO;AAAA,EACR;AACD;AAEO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,IAAI,yBAAyB,QAAQ,EAAE;AAC/C;","names":[]}
@@ -2,6 +2,7 @@ import type { ColumnBaseConfig } from "../../column.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
3
  import { PgColumn, PgColumnBuilder } from "./common.cjs";
4
4
  export declare class PgDoublePrecisionBuilder extends PgColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'number double';
6
7
  data: number;
7
8
  driverParam: string | number;
@@ -2,6 +2,7 @@ import type { ColumnBaseConfig } from "../../column.js";
2
2
  import { entityKind } from "../../entity.js";
3
3
  import { PgColumn, PgColumnBuilder } from "./common.js";
4
4
  export declare class PgDoublePrecisionBuilder extends PgColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'number double';
6
7
  data: number;
7
8
  driverParam: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/double-precision.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgDoublePrecisionBuilder extends PgColumnBuilder<{\n\tdataType: 'number double';\n\tdata: number;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecisionBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number double', 'PgDoublePrecision');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDoublePrecision(\n\t\t\ttable,\n\t\t\tthis.config,\n\t\t);\n\t}\n}\n\nexport class PgDoublePrecision<T extends ColumnBaseConfig<'number double'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecision';\n\n\tgetSQLType(): string {\n\t\treturn 'double precision';\n\t}\n\n\toverride mapFromDriverValue(value: string | number): number {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number.parseFloat(value);\n\t\t}\n\t\treturn value;\n\t}\n}\n\nexport function doublePrecision(name?: string): PgDoublePrecisionBuilder {\n\treturn new PgDoublePrecisionBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAEnC,MAAM,iCAAiC,gBAI3C;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,iBAAiB,mBAAmB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAuE,SAAY;AAAA,EAC/F,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO,OAAO,WAAW,KAAK;AAAA,IAC/B;AACA,WAAO;AAAA,EACR;AACD;AAEO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,IAAI,yBAAyB,QAAQ,EAAE;AAC/C;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/double-precision.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgDoublePrecisionBuilder extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'number double';\n\tdata: number;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecisionBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number double', 'PgDoublePrecision');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgDoublePrecision(\n\t\t\ttable,\n\t\t\tthis.config,\n\t\t);\n\t}\n}\n\nexport class PgDoublePrecision<T extends ColumnBaseConfig<'number double'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgDoublePrecision';\n\n\tgetSQLType(): string {\n\t\treturn 'double precision';\n\t}\n\n\toverride mapFromDriverValue(value: string | number): number {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number.parseFloat(value);\n\t\t}\n\t\treturn value;\n\t}\n}\n\nexport function doublePrecision(name?: string): PgDoublePrecisionBuilder {\n\treturn new PgDoublePrecisionBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAEnC,MAAM,iCAAiC,gBAK3C;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,iBAAiB,mBAAmB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAuE,SAAY;AAAA,EAC/F,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO,OAAO,WAAW,KAAK;AAAA,IAC/B;AACA,WAAO;AAAA,EACR;AACD;AAEO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,IAAI,yBAAyB,QAAQ,EAAE;AAC/C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\nexport interface PgEnumObject<TValues extends object> {\n\t(name?: string): PgEnumObjectColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tTValues extends object,\n> extends PgColumnBuilder<{\n\tdataType: 'string enum';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string enum', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumObjectColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumObjectColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(name?: string): PgEnumColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tTValues extends [string, ...string[]],\n> extends PgColumnBuilder<{\n\tdataType: 'string enum';\n\tdata: TValues[number];\n\tenumValues: TValues;\n\tdriverParam: string;\n}, { enum: PgEnum<TValues> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnum<TValues>) {\n\t\tsuper(name, 'string enum', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t(name?: string): PgEnumColumnBuilder<Writable<T>> => new PgEnumColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t(name?: string): PgEnumObjectColumnBuilder<T> => new PgEnumObjectColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAG3B,oBAA0C;AAanC,MAAM,kCAEH,8BAKsB;AAAA,EAC/B,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAAiC;AAC1D,UAAM,MAAM,eAAe,oBAAoB;AAC/C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAIA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAW1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,8BAKoB;AAAA,EAC7B,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAA+B;AACxD,UAAM,MAAM,eAAe,cAAc;AACzC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAC,SAAoD,IAAI,oBAAoB,QAAQ,IAAI,YAAY;AAAA,IACrG;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAC,SAAgD,IAAI,0BAA0B,QAAQ,IAAI,YAAY;AAAA,IACvG;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\nexport interface PgEnumObject<TValues extends object> {\n\t(name?: string): PgEnumObjectColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tTValues extends object,\n> extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'string enum';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string enum', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumObjectColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumObjectColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(name?: string): PgEnumColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tTValues extends [string, ...string[]],\n> extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'string enum';\n\tdata: TValues[number];\n\tenumValues: TValues;\n\tdriverParam: string;\n}, { enum: PgEnum<TValues> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnum<TValues>) {\n\t\tsuper(name, 'string enum', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t(name?: string): PgEnumColumnBuilder<Writable<T>> => new PgEnumColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t(name?: string): PgEnumObjectColumnBuilder<T> => new PgEnumObjectColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAG3B,oBAA0C;AAanC,MAAM,kCAEH,8BAMsB;AAAA,EAC/B,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAAiC;AAC1D,UAAM,MAAM,eAAe,oBAAoB;AAC/C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAIA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAW1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,8BAMoB;AAAA,EAC7B,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAA+B;AACxD,UAAM,MAAM,eAAe,cAAc;AACzC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAC,SAAoD,IAAI,oBAAoB,QAAQ,IAAI,YAAY;AAAA,IACrG;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAC,SAAgD,IAAI,0BAA0B,QAAQ,IAAI,YAAY;AAAA,IACvG;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
@@ -10,6 +10,7 @@ export interface PgEnumObject<TValues extends object> {
10
10
  readonly schema: string | undefined;
11
11
  }
12
12
  export declare class PgEnumObjectColumnBuilder<TValues extends object> extends PgColumnBuilder<{
13
+ name: string;
13
14
  dataType: 'string enum';
14
15
  data: TValues[keyof TValues];
15
16
  enumValues: string[];
@@ -39,6 +40,7 @@ export interface PgEnum<TValues extends [string, ...string[]]> {
39
40
  }
40
41
  export declare function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]>;
41
42
  export declare class PgEnumColumnBuilder<TValues extends [string, ...string[]]> extends PgColumnBuilder<{
43
+ name: string;
42
44
  dataType: 'string enum';
43
45
  data: TValues[number];
44
46
  enumValues: TValues;
@@ -10,6 +10,7 @@ export interface PgEnumObject<TValues extends object> {
10
10
  readonly schema: string | undefined;
11
11
  }
12
12
  export declare class PgEnumObjectColumnBuilder<TValues extends object> extends PgColumnBuilder<{
13
+ name: string;
13
14
  dataType: 'string enum';
14
15
  data: TValues[keyof TValues];
15
16
  enumValues: string[];
@@ -39,6 +40,7 @@ export interface PgEnum<TValues extends [string, ...string[]]> {
39
40
  }
40
41
  export declare function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]>;
41
42
  export declare class PgEnumColumnBuilder<TValues extends [string, ...string[]]> extends PgColumnBuilder<{
43
+ name: string;
42
44
  dataType: 'string enum';
43
45
  data: TValues[number];
44
46
  enumValues: TValues;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\nexport interface PgEnumObject<TValues extends object> {\n\t(name?: string): PgEnumObjectColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tTValues extends object,\n> extends PgColumnBuilder<{\n\tdataType: 'string enum';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string enum', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumObjectColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumObjectColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(name?: string): PgEnumColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tTValues extends [string, ...string[]],\n> extends PgColumnBuilder<{\n\tdataType: 'string enum';\n\tdata: TValues[number];\n\tenumValues: TValues;\n\tdriverParam: string;\n}, { enum: PgEnum<TValues> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnum<TValues>) {\n\t\tsuper(name, 'string enum', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t(name?: string): PgEnumColumnBuilder<Writable<T>> => new PgEnumColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t(name?: string): PgEnumObjectColumnBuilder<T> => new PgEnumObjectColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAG3B,SAAS,UAAU,uBAAuB;AAanC,MAAM,kCAEH,gBAKsB;AAAA,EAC/B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAAiC;AAC1D,UAAM,MAAM,eAAe,oBAAoB;AAC/C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAIA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAW1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,gBAKoB;AAAA,EAC7B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAA+B;AACxD,UAAM,MAAM,eAAe,cAAc;AACzC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAC,SAAoD,IAAI,oBAAoB,QAAQ,IAAI,YAAY;AAAA,IACrG;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAC,SAAgD,IAAI,0BAA0B,QAAQ,IAAI,YAAY;AAAA,IACvG;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\nexport interface PgEnumObject<TValues extends object> {\n\t(name?: string): PgEnumObjectColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tTValues extends object,\n> extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'string enum';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string enum', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumObjectColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumObjectColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(name?: string): PgEnumColumnBuilder<TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tTValues extends [string, ...string[]],\n> extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'string enum';\n\tdata: TValues[number];\n\tenumValues: TValues;\n\tdriverParam: string;\n}, { enum: PgEnum<TValues> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: string, enumInstance: PgEnum<TValues>) {\n\t\tsuper(name, 'string enum', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgEnumColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string enum'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: PgTable<any>,\n\t\tconfig: PgEnumColumnBuilder<T['enumValues']>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t(name?: string): PgEnumColumnBuilder<Writable<T>> => new PgEnumColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t(name?: string): PgEnumObjectColumnBuilder<T> => new PgEnumObjectColumnBuilder(name ?? '', enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAG3B,SAAS,UAAU,uBAAuB;AAanC,MAAM,kCAEH,gBAMsB;AAAA,EAC/B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAAiC;AAC1D,UAAM,MAAM,eAAe,oBAAoB;AAC/C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAIA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAW1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,gBAMoB;AAAA,EAC7B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,cAA+B;AACxD,UAAM,MAAM,eAAe,cAAc;AACzC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAC,SAAoD,IAAI,oBAAoB,QAAQ,IAAI,YAAY;AAAA,IACrG;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAC,SAAgD,IAAI,0BAA0B,QAAQ,IAAI,YAAY;AAAA,IACvG;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/inet.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgInetBuilder extends PgColumnBuilder<{\n\tdataType: 'string inet';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgInetBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string inet', 'PgInet');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgInet(table, this.config as any);\n\t}\n}\n\nexport class PgInet<T extends ColumnBaseConfig<'string inet'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgInet';\n\n\tgetSQLType(): string {\n\t\treturn 'inet';\n\t}\n}\n\nexport function inet(name?: string): PgInetBuilder {\n\treturn new PgInetBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA0C;AAEnC,MAAM,sBAAsB,8BAIhC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,uBAAY;AAAA,EAClF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAAK,MAA8B;AAClD,SAAO,IAAI,cAAc,QAAQ,EAAE;AACpC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/inet.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgInetBuilder extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'string inet';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgInetBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string inet', 'PgInet');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgInet(table, this.config as any);\n\t}\n}\n\nexport class PgInet<T extends ColumnBaseConfig<'string inet'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgInet';\n\n\tgetSQLType(): string {\n\t\treturn 'inet';\n\t}\n}\n\nexport function inet(name?: string): PgInetBuilder {\n\treturn new PgInetBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA0C;AAEnC,MAAM,sBAAsB,8BAKhC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,uBAAY;AAAA,EAClF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAAK,MAA8B;AAClD,SAAO,IAAI,cAAc,QAAQ,EAAE;AACpC;","names":[]}
@@ -2,6 +2,7 @@ import type { ColumnBaseConfig } from "../../column.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
3
  import { PgColumn, PgColumnBuilder } from "./common.cjs";
4
4
  export declare class PgInetBuilder extends PgColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'string inet';
6
7
  data: string;
7
8
  driverParam: string;
@@ -2,6 +2,7 @@ import type { ColumnBaseConfig } from "../../column.js";
2
2
  import { entityKind } from "../../entity.js";
3
3
  import { PgColumn, PgColumnBuilder } from "./common.js";
4
4
  export declare class PgInetBuilder extends PgColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'string inet';
6
7
  data: string;
7
8
  driverParam: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/inet.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgInetBuilder extends PgColumnBuilder<{\n\tdataType: 'string inet';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgInetBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string inet', 'PgInet');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgInet(table, this.config as any);\n\t}\n}\n\nexport class PgInet<T extends ColumnBaseConfig<'string inet'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgInet';\n\n\tgetSQLType(): string {\n\t\treturn 'inet';\n\t}\n}\n\nexport function inet(name?: string): PgInetBuilder {\n\treturn new PgInetBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAEnC,MAAM,sBAAsB,gBAIhC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,SAAY;AAAA,EAClF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAAK,MAA8B;AAClD,SAAO,IAAI,cAAc,QAAQ,EAAE;AACpC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/inet.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgInetBuilder extends PgColumnBuilder<{\n\tname: string;\n\tdataType: 'string inet';\n\tdata: string;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgInetBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string inet', 'PgInet');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgInet(table, this.config as any);\n\t}\n}\n\nexport class PgInet<T extends ColumnBaseConfig<'string inet'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgInet';\n\n\tgetSQLType(): string {\n\t\treturn 'inet';\n\t}\n}\n\nexport function inet(name?: string): PgInetBuilder {\n\treturn new PgInetBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAEnC,MAAM,sBAAsB,gBAKhC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,QAAQ;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,OAAO,OAAO,KAAK,MAAa;AAAA,EAC5C;AACD;AAEO,MAAM,eAA0D,SAAY;AAAA,EAClF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAAK,MAA8B;AAClD,SAAO,IAAI,cAAc,QAAQ,EAAE;AACpC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/integer.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '../table.ts';\nimport { PgColumn } from './common.ts';\nimport { PgIntColumnBaseBuilder } from './int.common.ts';\n\nexport class PgIntegerBuilder extends PgIntColumnBaseBuilder<{\n\tdataType: 'number int32';\n\tdata: number;\n\tdriverParam: number | string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgIntegerBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number int32', 'PgInteger');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgInteger(table, this.config as any);\n\t}\n}\n\nexport class PgInteger<T extends ColumnBaseConfig<'number int32'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgInteger';\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number.parseInt(value);\n\t\t}\n\t\treturn value;\n\t}\n}\nexport function integer(name?: string): PgIntegerBuilder {\n\treturn new PgIntegerBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAAyB;AACzB,wBAAuC;AAEhC,MAAM,yBAAyB,yCAInC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,gBAAgB,WAAW;AAAA,EACxC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAA8D,uBAAY;AAAA,EACtF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO,OAAO,SAAS,KAAK;AAAA,IAC7B;AACA,WAAO;AAAA,EACR;AACD;AACO,SAAS,QAAQ,MAAiC;AACxD,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/integer.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgTable } from '../table.ts';\nimport { PgColumn } from './common.ts';\nimport { PgIntColumnBaseBuilder } from './int.common.ts';\n\nexport class PgIntegerBuilder extends PgIntColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'number int32';\n\tdata: number;\n\tdriverParam: number | string;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgIntegerBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number int32', 'PgInteger');\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgInteger(table, this.config as any);\n\t}\n}\n\nexport class PgInteger<T extends ColumnBaseConfig<'number int32'>> extends PgColumn<T> {\n\tstatic override readonly [entityKind]: string = 'PgInteger';\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number.parseInt(value);\n\t\t}\n\t\treturn value;\n\t}\n}\nexport function integer(name?: string): PgIntegerBuilder {\n\treturn new PgIntegerBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAAyB;AACzB,wBAAuC;AAEhC,MAAM,yBAAyB,yCAKnC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,gBAAgB,WAAW;AAAA,EACxC;AAAA;AAAA,EAGS,MAAM,OAAqB;AACnC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAA8D,uBAAY;AAAA,EACtF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO,OAAO,SAAS,KAAK;AAAA,IAC7B;AACA,WAAO;AAAA,EACR;AACD;AACO,SAAS,QAAQ,MAAiC;AACxD,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
@@ -3,6 +3,7 @@ import { entityKind } from "../../entity.cjs";
3
3
  import { PgColumn } from "./common.cjs";
4
4
  import { PgIntColumnBaseBuilder } from "./int.common.cjs";
5
5
  export declare class PgIntegerBuilder extends PgIntColumnBaseBuilder<{
6
+ name: string;
6
7
  dataType: 'number int32';
7
8
  data: number;
8
9
  driverParam: number | string;
@@ -3,6 +3,7 @@ import { entityKind } from "../../entity.js";
3
3
  import { PgColumn } from "./common.js";
4
4
  import { PgIntColumnBaseBuilder } from "./int.common.js";
5
5
  export declare class PgIntegerBuilder extends PgIntColumnBaseBuilder<{
6
+ name: string;
6
7
  dataType: 'number int32';
7
8
  data: number;
8
9
  driverParam: number | string;