drizzle-orm 0.34.0-8dece56 → 0.34.0-b1faa33

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 (699) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/driver.cjs +9 -8
  4. package/aws-data-api/pg/driver.cjs.map +1 -1
  5. package/aws-data-api/pg/driver.d.cts +1 -1
  6. package/aws-data-api/pg/driver.d.ts +1 -1
  7. package/aws-data-api/pg/driver.js +3 -2
  8. package/aws-data-api/pg/driver.js.map +1 -1
  9. package/better-sqlite3/driver.cjs +1 -1
  10. package/better-sqlite3/driver.cjs.map +1 -1
  11. package/better-sqlite3/driver.js +1 -1
  12. package/better-sqlite3/driver.js.map +1 -1
  13. package/bun-sqlite/driver.cjs +1 -1
  14. package/bun-sqlite/driver.cjs.map +1 -1
  15. package/bun-sqlite/driver.js +1 -1
  16. package/bun-sqlite/driver.js.map +1 -1
  17. package/casing.cjs +85 -0
  18. package/casing.cjs.map +1 -0
  19. package/casing.d.cts +14 -0
  20. package/casing.d.ts +14 -0
  21. package/casing.js +59 -0
  22. package/casing.js.map +1 -0
  23. package/column-builder.cjs +7 -0
  24. package/column-builder.cjs.map +1 -1
  25. package/column-builder.d.cts +7 -2
  26. package/column-builder.d.ts +7 -2
  27. package/column-builder.js +7 -0
  28. package/column-builder.js.map +1 -1
  29. package/column.cjs +2 -0
  30. package/column.cjs.map +1 -1
  31. package/column.d.cts +1 -0
  32. package/column.d.ts +1 -0
  33. package/column.js +2 -0
  34. package/column.js.map +1 -1
  35. package/connect.cjs +25 -0
  36. package/connect.cjs.map +1 -0
  37. package/connect.d.cts +2 -0
  38. package/connect.d.ts +2 -0
  39. package/connect.js +3 -0
  40. package/connect.js.map +1 -0
  41. package/d1/driver.cjs +1 -1
  42. package/d1/driver.cjs.map +1 -1
  43. package/d1/driver.js +1 -1
  44. package/d1/driver.js.map +1 -1
  45. package/expo-sqlite/driver.cjs +1 -1
  46. package/expo-sqlite/driver.cjs.map +1 -1
  47. package/expo-sqlite/driver.js +1 -1
  48. package/expo-sqlite/driver.js.map +1 -1
  49. package/expo-sqlite/query.cjs +8 -6
  50. package/expo-sqlite/query.cjs.map +1 -1
  51. package/expo-sqlite/query.js +3 -1
  52. package/expo-sqlite/query.js.map +1 -1
  53. package/index.cjs +0 -4
  54. package/index.cjs.map +1 -1
  55. package/index.d.cts +0 -2
  56. package/index.d.ts +0 -2
  57. package/index.js +0 -2
  58. package/index.js.map +1 -1
  59. package/libsql/driver.cjs +1 -1
  60. package/libsql/driver.cjs.map +1 -1
  61. package/libsql/driver.js +1 -1
  62. package/libsql/driver.js.map +1 -1
  63. package/monodriver.cjs +1 -1
  64. package/monodriver.cjs.map +1 -1
  65. package/monodriver.d.cts +1 -1
  66. package/monodriver.d.ts +1 -1
  67. package/monodriver.js +1 -1
  68. package/monodriver.js.map +1 -1
  69. package/mysql-core/columns/all.cjs +80 -0
  70. package/mysql-core/columns/all.cjs.map +1 -0
  71. package/mysql-core/columns/all.d.cts +51 -0
  72. package/mysql-core/columns/all.d.ts +51 -0
  73. package/mysql-core/columns/all.js +56 -0
  74. package/mysql-core/columns/all.js.map +1 -0
  75. package/mysql-core/columns/bigint.cjs +3 -1
  76. package/mysql-core/columns/bigint.cjs.map +1 -1
  77. package/mysql-core/columns/bigint.d.cts +2 -2
  78. package/mysql-core/columns/bigint.d.ts +2 -2
  79. package/mysql-core/columns/bigint.js +3 -1
  80. package/mysql-core/columns/bigint.js.map +1 -1
  81. package/mysql-core/columns/binary.cjs +3 -1
  82. package/mysql-core/columns/binary.cjs.map +1 -1
  83. package/mysql-core/columns/binary.d.cts +2 -0
  84. package/mysql-core/columns/binary.d.ts +2 -0
  85. package/mysql-core/columns/binary.js +3 -1
  86. package/mysql-core/columns/binary.js.map +1 -1
  87. package/mysql-core/columns/boolean.cjs +1 -1
  88. package/mysql-core/columns/boolean.cjs.map +1 -1
  89. package/mysql-core/columns/boolean.d.cts +1 -0
  90. package/mysql-core/columns/boolean.d.ts +1 -0
  91. package/mysql-core/columns/boolean.js +1 -1
  92. package/mysql-core/columns/boolean.js.map +1 -1
  93. package/mysql-core/columns/char.cjs +3 -1
  94. package/mysql-core/columns/char.cjs.map +1 -1
  95. package/mysql-core/columns/char.d.cts +4 -2
  96. package/mysql-core/columns/char.d.ts +4 -2
  97. package/mysql-core/columns/char.js +3 -1
  98. package/mysql-core/columns/char.js.map +1 -1
  99. package/mysql-core/columns/custom.cjs +4 -2
  100. package/mysql-core/columns/custom.cjs.map +1 -1
  101. package/mysql-core/columns/custom.d.cts +10 -3
  102. package/mysql-core/columns/custom.d.ts +10 -3
  103. package/mysql-core/columns/custom.js +4 -2
  104. package/mysql-core/columns/custom.js.map +1 -1
  105. package/mysql-core/columns/date.cjs +4 -2
  106. package/mysql-core/columns/date.cjs.map +1 -1
  107. package/mysql-core/columns/date.d.cts +3 -1
  108. package/mysql-core/columns/date.d.ts +3 -1
  109. package/mysql-core/columns/date.js +4 -2
  110. package/mysql-core/columns/date.js.map +1 -1
  111. package/mysql-core/columns/datetime.cjs +4 -2
  112. package/mysql-core/columns/datetime.cjs.map +1 -1
  113. package/mysql-core/columns/datetime.d.cts +3 -1
  114. package/mysql-core/columns/datetime.d.ts +3 -1
  115. package/mysql-core/columns/datetime.js +4 -2
  116. package/mysql-core/columns/datetime.js.map +1 -1
  117. package/mysql-core/columns/decimal.cjs +3 -1
  118. package/mysql-core/columns/decimal.cjs.map +1 -1
  119. package/mysql-core/columns/decimal.d.cts +2 -0
  120. package/mysql-core/columns/decimal.d.ts +2 -0
  121. package/mysql-core/columns/decimal.js +3 -1
  122. package/mysql-core/columns/decimal.js.map +1 -1
  123. package/mysql-core/columns/double.cjs +3 -1
  124. package/mysql-core/columns/double.cjs.map +1 -1
  125. package/mysql-core/columns/double.d.cts +2 -0
  126. package/mysql-core/columns/double.d.ts +2 -0
  127. package/mysql-core/columns/double.js +3 -1
  128. package/mysql-core/columns/double.js.map +1 -1
  129. package/mysql-core/columns/enum.cjs +3 -1
  130. package/mysql-core/columns/enum.cjs.map +1 -1
  131. package/mysql-core/columns/enum.d.cts +2 -1
  132. package/mysql-core/columns/enum.d.ts +2 -1
  133. package/mysql-core/columns/enum.js +3 -1
  134. package/mysql-core/columns/enum.js.map +1 -1
  135. package/mysql-core/columns/float.cjs +1 -1
  136. package/mysql-core/columns/float.cjs.map +1 -1
  137. package/mysql-core/columns/float.d.cts +1 -0
  138. package/mysql-core/columns/float.d.ts +1 -0
  139. package/mysql-core/columns/float.js +1 -1
  140. package/mysql-core/columns/float.js.map +1 -1
  141. package/mysql-core/columns/int.cjs +3 -1
  142. package/mysql-core/columns/int.cjs.map +1 -1
  143. package/mysql-core/columns/int.d.cts +2 -0
  144. package/mysql-core/columns/int.d.ts +2 -0
  145. package/mysql-core/columns/int.js +3 -1
  146. package/mysql-core/columns/int.js.map +1 -1
  147. package/mysql-core/columns/json.cjs +1 -1
  148. package/mysql-core/columns/json.cjs.map +1 -1
  149. package/mysql-core/columns/json.d.cts +1 -0
  150. package/mysql-core/columns/json.d.ts +1 -0
  151. package/mysql-core/columns/json.js +1 -1
  152. package/mysql-core/columns/json.js.map +1 -1
  153. package/mysql-core/columns/mediumint.cjs +3 -1
  154. package/mysql-core/columns/mediumint.cjs.map +1 -1
  155. package/mysql-core/columns/mediumint.d.cts +2 -0
  156. package/mysql-core/columns/mediumint.d.ts +2 -0
  157. package/mysql-core/columns/mediumint.js +3 -1
  158. package/mysql-core/columns/mediumint.js.map +1 -1
  159. package/mysql-core/columns/real.cjs +3 -1
  160. package/mysql-core/columns/real.cjs.map +1 -1
  161. package/mysql-core/columns/real.d.cts +2 -0
  162. package/mysql-core/columns/real.d.ts +2 -0
  163. package/mysql-core/columns/real.js +3 -1
  164. package/mysql-core/columns/real.js.map +1 -1
  165. package/mysql-core/columns/serial.cjs +1 -1
  166. package/mysql-core/columns/serial.cjs.map +1 -1
  167. package/mysql-core/columns/serial.d.cts +1 -0
  168. package/mysql-core/columns/serial.d.ts +1 -0
  169. package/mysql-core/columns/serial.js +1 -1
  170. package/mysql-core/columns/serial.js.map +1 -1
  171. package/mysql-core/columns/smallint.cjs +3 -1
  172. package/mysql-core/columns/smallint.cjs.map +1 -1
  173. package/mysql-core/columns/smallint.d.cts +2 -0
  174. package/mysql-core/columns/smallint.d.ts +2 -0
  175. package/mysql-core/columns/smallint.js +3 -1
  176. package/mysql-core/columns/smallint.js.map +1 -1
  177. package/mysql-core/columns/text.cjs +9 -4
  178. package/mysql-core/columns/text.cjs.map +1 -1
  179. package/mysql-core/columns/text.d.cts +10 -2
  180. package/mysql-core/columns/text.d.ts +10 -2
  181. package/mysql-core/columns/text.js +9 -4
  182. package/mysql-core/columns/text.js.map +1 -1
  183. package/mysql-core/columns/time.cjs +3 -1
  184. package/mysql-core/columns/time.cjs.map +1 -1
  185. package/mysql-core/columns/time.d.cts +2 -0
  186. package/mysql-core/columns/time.d.ts +2 -0
  187. package/mysql-core/columns/time.js +3 -1
  188. package/mysql-core/columns/time.js.map +1 -1
  189. package/mysql-core/columns/timestamp.cjs +4 -2
  190. package/mysql-core/columns/timestamp.cjs.map +1 -1
  191. package/mysql-core/columns/timestamp.d.cts +3 -1
  192. package/mysql-core/columns/timestamp.d.ts +3 -1
  193. package/mysql-core/columns/timestamp.js +4 -2
  194. package/mysql-core/columns/timestamp.js.map +1 -1
  195. package/mysql-core/columns/tinyint.cjs +3 -1
  196. package/mysql-core/columns/tinyint.cjs.map +1 -1
  197. package/mysql-core/columns/tinyint.d.cts +2 -0
  198. package/mysql-core/columns/tinyint.d.ts +2 -0
  199. package/mysql-core/columns/tinyint.js +3 -1
  200. package/mysql-core/columns/tinyint.js.map +1 -1
  201. package/mysql-core/columns/varbinary.cjs +4 -2
  202. package/mysql-core/columns/varbinary.cjs.map +1 -1
  203. package/mysql-core/columns/varbinary.d.cts +2 -1
  204. package/mysql-core/columns/varbinary.d.ts +2 -1
  205. package/mysql-core/columns/varbinary.js +4 -2
  206. package/mysql-core/columns/varbinary.js.map +1 -1
  207. package/mysql-core/columns/varchar.cjs +3 -1
  208. package/mysql-core/columns/varchar.cjs.map +1 -1
  209. package/mysql-core/columns/varchar.d.cts +3 -2
  210. package/mysql-core/columns/varchar.d.ts +3 -2
  211. package/mysql-core/columns/varchar.js +3 -1
  212. package/mysql-core/columns/varchar.js.map +1 -1
  213. package/mysql-core/columns/year.cjs +1 -1
  214. package/mysql-core/columns/year.cjs.map +1 -1
  215. package/mysql-core/columns/year.d.cts +1 -0
  216. package/mysql-core/columns/year.d.ts +1 -0
  217. package/mysql-core/columns/year.js +1 -1
  218. package/mysql-core/columns/year.js.map +1 -1
  219. package/mysql-core/db.cjs +2 -1
  220. package/mysql-core/db.cjs.map +1 -1
  221. package/mysql-core/db.js +2 -1
  222. package/mysql-core/db.js.map +1 -1
  223. package/mysql-core/dialect.cjs +14 -7
  224. package/mysql-core/dialect.cjs.map +1 -1
  225. package/mysql-core/dialect.d.cts +5 -1
  226. package/mysql-core/dialect.d.ts +5 -1
  227. package/mysql-core/dialect.js +14 -7
  228. package/mysql-core/dialect.js.map +1 -1
  229. package/mysql-core/foreign-keys.cjs +3 -3
  230. package/mysql-core/foreign-keys.cjs.map +1 -1
  231. package/mysql-core/foreign-keys.d.cts +1 -1
  232. package/mysql-core/foreign-keys.d.ts +1 -1
  233. package/mysql-core/foreign-keys.js +3 -3
  234. package/mysql-core/foreign-keys.js.map +1 -1
  235. package/mysql-core/query-builders/count.cjs +4 -4
  236. package/mysql-core/query-builders/count.cjs.map +1 -1
  237. package/mysql-core/query-builders/count.d.cts +2 -3
  238. package/mysql-core/query-builders/count.d.ts +2 -3
  239. package/mysql-core/query-builders/count.js +2 -2
  240. package/mysql-core/query-builders/count.js.map +1 -1
  241. package/mysql-core/query-builders/query-builder.cjs +6 -1
  242. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  243. package/mysql-core/query-builders/query-builder.d.cts +4 -0
  244. package/mysql-core/query-builders/query-builder.d.ts +4 -0
  245. package/mysql-core/query-builders/query-builder.js +7 -2
  246. package/mysql-core/query-builders/query-builder.js.map +1 -1
  247. package/mysql-core/table.cjs +4 -1
  248. package/mysql-core/table.cjs.map +1 -1
  249. package/mysql-core/table.d.cts +8 -1
  250. package/mysql-core/table.d.ts +8 -1
  251. package/mysql-core/table.js +4 -1
  252. package/mysql-core/table.js.map +1 -1
  253. package/mysql-core/unique-constraint.cjs +2 -2
  254. package/mysql-core/unique-constraint.cjs.map +1 -1
  255. package/mysql-core/unique-constraint.d.cts +1 -1
  256. package/mysql-core/unique-constraint.d.ts +1 -1
  257. package/mysql-core/unique-constraint.js +2 -2
  258. package/mysql-core/unique-constraint.js.map +1 -1
  259. package/mysql-proxy/driver.cjs +1 -1
  260. package/mysql-proxy/driver.cjs.map +1 -1
  261. package/mysql-proxy/driver.js +1 -1
  262. package/mysql-proxy/driver.js.map +1 -1
  263. package/mysql2/driver.cjs +3 -3
  264. package/mysql2/driver.cjs.map +1 -1
  265. package/mysql2/driver.js +2 -2
  266. package/mysql2/driver.js.map +1 -1
  267. package/neon-http/driver.cjs +1 -1
  268. package/neon-http/driver.cjs.map +1 -1
  269. package/neon-http/driver.js +1 -1
  270. package/neon-http/driver.js.map +1 -1
  271. package/neon-serverless/driver.cjs +1 -1
  272. package/neon-serverless/driver.cjs.map +1 -1
  273. package/neon-serverless/driver.js +1 -1
  274. package/neon-serverless/driver.js.map +1 -1
  275. package/node-postgres/driver.cjs +1 -1
  276. package/node-postgres/driver.cjs.map +1 -1
  277. package/node-postgres/driver.js +1 -1
  278. package/node-postgres/driver.js.map +1 -1
  279. package/op-sqlite/driver.cjs +1 -1
  280. package/op-sqlite/driver.cjs.map +1 -1
  281. package/op-sqlite/driver.js +1 -1
  282. package/op-sqlite/driver.js.map +1 -1
  283. package/package.json +73 -1
  284. package/pg-core/columns/all.cjs +96 -0
  285. package/pg-core/columns/all.cjs.map +1 -0
  286. package/pg-core/columns/all.d.cts +67 -0
  287. package/pg-core/columns/all.d.ts +67 -0
  288. package/pg-core/columns/all.js +72 -0
  289. package/pg-core/columns/all.js.map +1 -0
  290. package/pg-core/columns/bigint.cjs +3 -1
  291. package/pg-core/columns/bigint.cjs.map +1 -1
  292. package/pg-core/columns/bigint.d.cts +2 -2
  293. package/pg-core/columns/bigint.d.ts +2 -2
  294. package/pg-core/columns/bigint.js +3 -1
  295. package/pg-core/columns/bigint.js.map +1 -1
  296. package/pg-core/columns/bigserial.cjs +4 -2
  297. package/pg-core/columns/bigserial.cjs.map +1 -1
  298. package/pg-core/columns/bigserial.d.cts +2 -2
  299. package/pg-core/columns/bigserial.d.ts +2 -2
  300. package/pg-core/columns/bigserial.js +4 -2
  301. package/pg-core/columns/bigserial.js.map +1 -1
  302. package/pg-core/columns/boolean.cjs +1 -1
  303. package/pg-core/columns/boolean.cjs.map +1 -1
  304. package/pg-core/columns/boolean.d.cts +1 -0
  305. package/pg-core/columns/boolean.d.ts +1 -0
  306. package/pg-core/columns/boolean.js +1 -1
  307. package/pg-core/columns/boolean.js.map +1 -1
  308. package/pg-core/columns/char.cjs +3 -1
  309. package/pg-core/columns/char.cjs.map +1 -1
  310. package/pg-core/columns/char.d.cts +5 -3
  311. package/pg-core/columns/char.d.ts +5 -3
  312. package/pg-core/columns/char.js +3 -1
  313. package/pg-core/columns/char.js.map +1 -1
  314. package/pg-core/columns/cidr.cjs +1 -1
  315. package/pg-core/columns/cidr.cjs.map +1 -1
  316. package/pg-core/columns/cidr.d.cts +1 -0
  317. package/pg-core/columns/cidr.d.ts +1 -0
  318. package/pg-core/columns/cidr.js +1 -1
  319. package/pg-core/columns/cidr.js.map +1 -1
  320. package/pg-core/columns/common.cjs +3 -1
  321. package/pg-core/columns/common.cjs.map +1 -1
  322. package/pg-core/columns/common.d.cts +3 -2
  323. package/pg-core/columns/common.d.ts +3 -2
  324. package/pg-core/columns/common.js +3 -1
  325. package/pg-core/columns/common.js.map +1 -1
  326. package/pg-core/columns/custom.cjs +4 -2
  327. package/pg-core/columns/custom.cjs.map +1 -1
  328. package/pg-core/columns/custom.d.cts +10 -3
  329. package/pg-core/columns/custom.d.ts +10 -3
  330. package/pg-core/columns/custom.js +4 -2
  331. package/pg-core/columns/custom.js.map +1 -1
  332. package/pg-core/columns/date.cjs +3 -1
  333. package/pg-core/columns/date.cjs.map +1 -1
  334. package/pg-core/columns/date.d.cts +7 -6
  335. package/pg-core/columns/date.d.ts +7 -6
  336. package/pg-core/columns/date.js +3 -1
  337. package/pg-core/columns/date.js.map +1 -1
  338. package/pg-core/columns/double-precision.cjs +1 -1
  339. package/pg-core/columns/double-precision.cjs.map +1 -1
  340. package/pg-core/columns/double-precision.d.cts +1 -0
  341. package/pg-core/columns/double-precision.d.ts +1 -0
  342. package/pg-core/columns/double-precision.js +1 -1
  343. package/pg-core/columns/double-precision.js.map +1 -1
  344. package/pg-core/columns/enum.cjs +1 -1
  345. package/pg-core/columns/enum.cjs.map +1 -1
  346. package/pg-core/columns/enum.d.cts +3 -1
  347. package/pg-core/columns/enum.d.ts +3 -1
  348. package/pg-core/columns/enum.js +1 -1
  349. package/pg-core/columns/enum.js.map +1 -1
  350. package/pg-core/columns/index.cjs +2 -0
  351. package/pg-core/columns/index.cjs.map +1 -1
  352. package/pg-core/columns/index.d.cts +1 -0
  353. package/pg-core/columns/index.d.ts +1 -0
  354. package/pg-core/columns/index.js +1 -0
  355. package/pg-core/columns/index.js.map +1 -1
  356. package/pg-core/columns/inet.cjs +1 -1
  357. package/pg-core/columns/inet.cjs.map +1 -1
  358. package/pg-core/columns/inet.d.cts +1 -0
  359. package/pg-core/columns/inet.d.ts +1 -0
  360. package/pg-core/columns/inet.js +1 -1
  361. package/pg-core/columns/inet.js.map +1 -1
  362. package/pg-core/columns/integer.cjs +1 -1
  363. package/pg-core/columns/integer.cjs.map +1 -1
  364. package/pg-core/columns/integer.d.cts +1 -0
  365. package/pg-core/columns/integer.d.ts +1 -0
  366. package/pg-core/columns/integer.js +1 -1
  367. package/pg-core/columns/integer.js.map +1 -1
  368. package/pg-core/columns/interval.cjs +3 -1
  369. package/pg-core/columns/interval.cjs.map +1 -1
  370. package/pg-core/columns/interval.d.cts +2 -0
  371. package/pg-core/columns/interval.d.ts +2 -0
  372. package/pg-core/columns/interval.js +3 -1
  373. package/pg-core/columns/interval.js.map +1 -1
  374. package/pg-core/columns/json.cjs +1 -1
  375. package/pg-core/columns/json.cjs.map +1 -1
  376. package/pg-core/columns/json.d.cts +1 -0
  377. package/pg-core/columns/json.d.ts +1 -0
  378. package/pg-core/columns/json.js +1 -1
  379. package/pg-core/columns/json.js.map +1 -1
  380. package/pg-core/columns/jsonb.cjs +1 -1
  381. package/pg-core/columns/jsonb.cjs.map +1 -1
  382. package/pg-core/columns/jsonb.d.cts +1 -0
  383. package/pg-core/columns/jsonb.d.ts +1 -0
  384. package/pg-core/columns/jsonb.js +1 -1
  385. package/pg-core/columns/jsonb.js.map +1 -1
  386. package/pg-core/columns/line.cjs +3 -1
  387. package/pg-core/columns/line.cjs.map +1 -1
  388. package/pg-core/columns/line.d.cts +3 -1
  389. package/pg-core/columns/line.d.ts +3 -1
  390. package/pg-core/columns/line.js +3 -1
  391. package/pg-core/columns/line.js.map +1 -1
  392. package/pg-core/columns/macaddr.cjs +1 -1
  393. package/pg-core/columns/macaddr.cjs.map +1 -1
  394. package/pg-core/columns/macaddr.d.cts +1 -0
  395. package/pg-core/columns/macaddr.d.ts +1 -0
  396. package/pg-core/columns/macaddr.js +1 -1
  397. package/pg-core/columns/macaddr.js.map +1 -1
  398. package/pg-core/columns/macaddr8.cjs +1 -1
  399. package/pg-core/columns/macaddr8.cjs.map +1 -1
  400. package/pg-core/columns/macaddr8.d.cts +1 -0
  401. package/pg-core/columns/macaddr8.d.ts +1 -0
  402. package/pg-core/columns/macaddr8.js +1 -1
  403. package/pg-core/columns/macaddr8.js.map +1 -1
  404. package/pg-core/columns/numeric.cjs +3 -1
  405. package/pg-core/columns/numeric.cjs.map +1 -1
  406. package/pg-core/columns/numeric.d.cts +6 -3
  407. package/pg-core/columns/numeric.d.ts +6 -3
  408. package/pg-core/columns/numeric.js +3 -1
  409. package/pg-core/columns/numeric.js.map +1 -1
  410. package/pg-core/columns/point.cjs +3 -1
  411. package/pg-core/columns/point.cjs.map +1 -1
  412. package/pg-core/columns/point.d.cts +5 -3
  413. package/pg-core/columns/point.d.ts +5 -3
  414. package/pg-core/columns/point.js +3 -1
  415. package/pg-core/columns/point.js.map +1 -1
  416. package/pg-core/columns/postgis_extension/geometry.cjs +6 -4
  417. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  418. package/pg-core/columns/postgis_extension/geometry.d.cts +4 -3
  419. package/pg-core/columns/postgis_extension/geometry.d.ts +4 -3
  420. package/pg-core/columns/postgis_extension/geometry.js +3 -1
  421. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  422. package/pg-core/columns/real.cjs +1 -1
  423. package/pg-core/columns/real.cjs.map +1 -1
  424. package/pg-core/columns/real.d.cts +2 -1
  425. package/pg-core/columns/real.d.ts +2 -1
  426. package/pg-core/columns/real.js +1 -1
  427. package/pg-core/columns/real.js.map +1 -1
  428. package/pg-core/columns/serial.cjs +1 -1
  429. package/pg-core/columns/serial.cjs.map +1 -1
  430. package/pg-core/columns/serial.d.cts +2 -1
  431. package/pg-core/columns/serial.d.ts +2 -1
  432. package/pg-core/columns/serial.js +1 -1
  433. package/pg-core/columns/serial.js.map +1 -1
  434. package/pg-core/columns/smallint.cjs +1 -1
  435. package/pg-core/columns/smallint.cjs.map +1 -1
  436. package/pg-core/columns/smallint.d.cts +1 -0
  437. package/pg-core/columns/smallint.d.ts +1 -0
  438. package/pg-core/columns/smallint.js +1 -1
  439. package/pg-core/columns/smallint.js.map +1 -1
  440. package/pg-core/columns/smallserial.cjs +1 -1
  441. package/pg-core/columns/smallserial.cjs.map +1 -1
  442. package/pg-core/columns/smallserial.d.cts +2 -1
  443. package/pg-core/columns/smallserial.d.ts +2 -1
  444. package/pg-core/columns/smallserial.js +1 -1
  445. package/pg-core/columns/smallserial.js.map +1 -1
  446. package/pg-core/columns/text.cjs +3 -1
  447. package/pg-core/columns/text.cjs.map +1 -1
  448. package/pg-core/columns/text.d.cts +4 -2
  449. package/pg-core/columns/text.d.ts +4 -2
  450. package/pg-core/columns/text.js +3 -1
  451. package/pg-core/columns/text.js.map +1 -1
  452. package/pg-core/columns/time.cjs +3 -1
  453. package/pg-core/columns/time.cjs.map +1 -1
  454. package/pg-core/columns/time.d.cts +2 -0
  455. package/pg-core/columns/time.d.ts +2 -0
  456. package/pg-core/columns/time.js +3 -1
  457. package/pg-core/columns/time.js.map +1 -1
  458. package/pg-core/columns/timestamp.cjs +5 -3
  459. package/pg-core/columns/timestamp.cjs.map +1 -1
  460. package/pg-core/columns/timestamp.d.cts +5 -3
  461. package/pg-core/columns/timestamp.d.ts +5 -3
  462. package/pg-core/columns/timestamp.js +5 -3
  463. package/pg-core/columns/timestamp.js.map +1 -1
  464. package/pg-core/columns/uuid.cjs +1 -1
  465. package/pg-core/columns/uuid.cjs.map +1 -1
  466. package/pg-core/columns/uuid.d.cts +1 -0
  467. package/pg-core/columns/uuid.d.ts +1 -0
  468. package/pg-core/columns/uuid.js +1 -1
  469. package/pg-core/columns/uuid.js.map +1 -1
  470. package/pg-core/columns/varchar.cjs +3 -1
  471. package/pg-core/columns/varchar.cjs.map +1 -1
  472. package/pg-core/columns/varchar.d.cts +5 -3
  473. package/pg-core/columns/varchar.d.ts +5 -3
  474. package/pg-core/columns/varchar.js +3 -1
  475. package/pg-core/columns/varchar.js.map +1 -1
  476. package/pg-core/columns/vector_extension/bit.cjs +3 -1
  477. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  478. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  479. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  480. package/pg-core/columns/vector_extension/bit.js +3 -1
  481. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  482. package/pg-core/columns/vector_extension/halfvec.cjs +3 -1
  483. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  484. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  485. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  486. package/pg-core/columns/vector_extension/halfvec.js +3 -1
  487. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  488. package/pg-core/columns/vector_extension/sparsevec.cjs +3 -1
  489. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  490. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  491. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  492. package/pg-core/columns/vector_extension/sparsevec.js +3 -1
  493. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  494. package/pg-core/columns/vector_extension/vector.cjs +3 -1
  495. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  496. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  497. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  498. package/pg-core/columns/vector_extension/vector.js +3 -1
  499. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  500. package/pg-core/db.cjs +2 -1
  501. package/pg-core/db.cjs.map +1 -1
  502. package/pg-core/db.js +2 -1
  503. package/pg-core/db.js.map +1 -1
  504. package/pg-core/dialect.cjs +13 -4
  505. package/pg-core/dialect.cjs.map +1 -1
  506. package/pg-core/dialect.d.cts +5 -1
  507. package/pg-core/dialect.d.ts +5 -1
  508. package/pg-core/dialect.js +13 -4
  509. package/pg-core/dialect.js.map +1 -1
  510. package/pg-core/foreign-keys.cjs +3 -3
  511. package/pg-core/foreign-keys.cjs.map +1 -1
  512. package/pg-core/foreign-keys.d.cts +1 -1
  513. package/pg-core/foreign-keys.d.ts +1 -1
  514. package/pg-core/foreign-keys.js +3 -3
  515. package/pg-core/foreign-keys.js.map +1 -1
  516. package/pg-core/indexes.cjs +3 -3
  517. package/pg-core/indexes.cjs.map +1 -1
  518. package/pg-core/indexes.js +3 -3
  519. package/pg-core/indexes.js.map +1 -1
  520. package/pg-core/query-builders/count.cjs +4 -4
  521. package/pg-core/query-builders/count.cjs.map +1 -1
  522. package/pg-core/query-builders/count.d.cts +2 -3
  523. package/pg-core/query-builders/count.d.ts +2 -3
  524. package/pg-core/query-builders/count.js +2 -2
  525. package/pg-core/query-builders/count.js.map +1 -1
  526. package/pg-core/query-builders/insert.cjs +2 -2
  527. package/pg-core/query-builders/insert.cjs.map +1 -1
  528. package/pg-core/query-builders/insert.js +2 -2
  529. package/pg-core/query-builders/insert.js.map +1 -1
  530. package/pg-core/query-builders/query-builder.cjs +6 -1
  531. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  532. package/pg-core/query-builders/query-builder.d.cts +4 -0
  533. package/pg-core/query-builders/query-builder.d.ts +4 -0
  534. package/pg-core/query-builders/query-builder.js +7 -2
  535. package/pg-core/query-builders/query-builder.js.map +1 -1
  536. package/pg-core/table.cjs +6 -2
  537. package/pg-core/table.cjs.map +1 -1
  538. package/pg-core/table.d.cts +7 -0
  539. package/pg-core/table.d.ts +7 -0
  540. package/pg-core/table.js +6 -2
  541. package/pg-core/table.js.map +1 -1
  542. package/pg-core/unique-constraint.cjs +2 -2
  543. package/pg-core/unique-constraint.cjs.map +1 -1
  544. package/pg-core/unique-constraint.d.cts +1 -1
  545. package/pg-core/unique-constraint.d.ts +1 -1
  546. package/pg-core/unique-constraint.js +2 -2
  547. package/pg-core/unique-constraint.js.map +1 -1
  548. package/pg-proxy/driver.cjs +1 -1
  549. package/pg-proxy/driver.cjs.map +1 -1
  550. package/pg-proxy/driver.js +1 -1
  551. package/pg-proxy/driver.js.map +1 -1
  552. package/pglite/driver.cjs +1 -1
  553. package/pglite/driver.cjs.map +1 -1
  554. package/pglite/driver.js +1 -1
  555. package/pglite/driver.js.map +1 -1
  556. package/planetscale-serverless/driver.cjs +1 -1
  557. package/planetscale-serverless/driver.cjs.map +1 -1
  558. package/planetscale-serverless/driver.js +1 -1
  559. package/planetscale-serverless/driver.js.map +1 -1
  560. package/postgres-js/driver.cjs +1 -1
  561. package/postgres-js/driver.cjs.map +1 -1
  562. package/postgres-js/driver.js +1 -1
  563. package/postgres-js/driver.js.map +1 -1
  564. package/sql/functions/vector.cjs.map +1 -1
  565. package/sql/functions/vector.d.cts +1 -1
  566. package/sql/functions/vector.d.ts +1 -1
  567. package/sql/functions/vector.js.map +1 -1
  568. package/sql/sql.cjs +4 -2
  569. package/sql/sql.cjs.map +1 -1
  570. package/sql/sql.d.cts +2 -0
  571. package/sql/sql.d.ts +2 -0
  572. package/sql/sql.js +4 -2
  573. package/sql/sql.js.map +1 -1
  574. package/sql-js/driver.cjs +1 -1
  575. package/sql-js/driver.cjs.map +1 -1
  576. package/sql-js/driver.js +1 -1
  577. package/sql-js/driver.js.map +1 -1
  578. package/sqlite-core/columns/all.cjs +44 -0
  579. package/sqlite-core/columns/all.cjs.map +1 -0
  580. package/sqlite-core/columns/all.d.cts +15 -0
  581. package/sqlite-core/columns/all.d.ts +15 -0
  582. package/sqlite-core/columns/all.js +20 -0
  583. package/sqlite-core/columns/all.js.map +1 -0
  584. package/sqlite-core/columns/blob.cjs +3 -1
  585. package/sqlite-core/columns/blob.cjs.map +1 -1
  586. package/sqlite-core/columns/blob.d.cts +3 -1
  587. package/sqlite-core/columns/blob.d.ts +3 -1
  588. package/sqlite-core/columns/blob.js +3 -1
  589. package/sqlite-core/columns/blob.js.map +1 -1
  590. package/sqlite-core/columns/custom.cjs +5 -3
  591. package/sqlite-core/columns/custom.cjs.map +1 -1
  592. package/sqlite-core/columns/custom.d.cts +10 -3
  593. package/sqlite-core/columns/custom.d.ts +10 -3
  594. package/sqlite-core/columns/custom.js +5 -3
  595. package/sqlite-core/columns/custom.js.map +1 -1
  596. package/sqlite-core/columns/integer.cjs +3 -1
  597. package/sqlite-core/columns/integer.cjs.map +1 -1
  598. package/sqlite-core/columns/integer.d.cts +3 -1
  599. package/sqlite-core/columns/integer.d.ts +3 -1
  600. package/sqlite-core/columns/integer.js +3 -1
  601. package/sqlite-core/columns/integer.js.map +1 -1
  602. package/sqlite-core/columns/numeric.cjs +1 -1
  603. package/sqlite-core/columns/numeric.cjs.map +1 -1
  604. package/sqlite-core/columns/numeric.d.cts +1 -0
  605. package/sqlite-core/columns/numeric.d.ts +1 -0
  606. package/sqlite-core/columns/numeric.js +1 -1
  607. package/sqlite-core/columns/numeric.js.map +1 -1
  608. package/sqlite-core/columns/real.cjs +1 -1
  609. package/sqlite-core/columns/real.cjs.map +1 -1
  610. package/sqlite-core/columns/real.d.cts +1 -0
  611. package/sqlite-core/columns/real.d.ts +1 -0
  612. package/sqlite-core/columns/real.js +1 -1
  613. package/sqlite-core/columns/real.js.map +1 -1
  614. package/sqlite-core/columns/text.cjs +7 -2
  615. package/sqlite-core/columns/text.cjs.map +1 -1
  616. package/sqlite-core/columns/text.d.cts +4 -2
  617. package/sqlite-core/columns/text.d.ts +4 -2
  618. package/sqlite-core/columns/text.js +7 -2
  619. package/sqlite-core/columns/text.js.map +1 -1
  620. package/sqlite-core/db.cjs +2 -1
  621. package/sqlite-core/db.cjs.map +1 -1
  622. package/sqlite-core/db.js +2 -1
  623. package/sqlite-core/db.js.map +1 -1
  624. package/sqlite-core/dialect.cjs +14 -8
  625. package/sqlite-core/dialect.cjs.map +1 -1
  626. package/sqlite-core/dialect.d.cts +5 -1
  627. package/sqlite-core/dialect.d.ts +5 -1
  628. package/sqlite-core/dialect.js +14 -8
  629. package/sqlite-core/dialect.js.map +1 -1
  630. package/sqlite-core/foreign-keys.cjs +3 -3
  631. package/sqlite-core/foreign-keys.cjs.map +1 -1
  632. package/sqlite-core/foreign-keys.d.cts +1 -1
  633. package/sqlite-core/foreign-keys.d.ts +1 -1
  634. package/sqlite-core/foreign-keys.js +3 -3
  635. package/sqlite-core/foreign-keys.js.map +1 -1
  636. package/sqlite-core/query-builders/count.cjs +4 -4
  637. package/sqlite-core/query-builders/count.cjs.map +1 -1
  638. package/sqlite-core/query-builders/count.d.cts +2 -3
  639. package/sqlite-core/query-builders/count.d.ts +2 -3
  640. package/sqlite-core/query-builders/count.js +2 -2
  641. package/sqlite-core/query-builders/count.js.map +1 -1
  642. package/sqlite-core/query-builders/query-builder.cjs +6 -1
  643. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  644. package/sqlite-core/query-builders/query-builder.d.cts +4 -0
  645. package/sqlite-core/query-builders/query-builder.d.ts +4 -0
  646. package/sqlite-core/query-builders/query-builder.js +8 -3
  647. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  648. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  649. package/sqlite-core/query-builders/raw.d.cts +2 -2
  650. package/sqlite-core/query-builders/raw.d.ts +2 -2
  651. package/sqlite-core/query-builders/raw.js.map +1 -1
  652. package/sqlite-core/table.cjs +4 -1
  653. package/sqlite-core/table.cjs.map +1 -1
  654. package/sqlite-core/table.d.cts +7 -0
  655. package/sqlite-core/table.d.ts +7 -0
  656. package/sqlite-core/table.js +4 -1
  657. package/sqlite-core/table.js.map +1 -1
  658. package/sqlite-core/unique-constraint.cjs +2 -2
  659. package/sqlite-core/unique-constraint.cjs.map +1 -1
  660. package/sqlite-core/unique-constraint.d.cts +1 -1
  661. package/sqlite-core/unique-constraint.d.ts +1 -1
  662. package/sqlite-core/unique-constraint.js +2 -2
  663. package/sqlite-core/unique-constraint.js.map +1 -1
  664. package/sqlite-proxy/driver.cjs +1 -1
  665. package/sqlite-proxy/driver.cjs.map +1 -1
  666. package/sqlite-proxy/driver.js +1 -1
  667. package/sqlite-proxy/driver.js.map +1 -1
  668. package/table.cjs +6 -8
  669. package/table.cjs.map +1 -1
  670. package/table.js +1 -2
  671. package/table.js.map +1 -1
  672. package/table.utils.cjs +29 -0
  673. package/table.utils.cjs.map +1 -0
  674. package/table.utils.d.cts +1 -0
  675. package/table.utils.d.ts +1 -0
  676. package/table.utils.js +5 -0
  677. package/table.utils.js.map +1 -0
  678. package/tidb-serverless/driver.cjs +1 -1
  679. package/tidb-serverless/driver.cjs.map +1 -1
  680. package/tidb-serverless/driver.js +1 -1
  681. package/tidb-serverless/driver.js.map +1 -1
  682. package/utils.cjs +8 -0
  683. package/utils.cjs.map +1 -1
  684. package/utils.d.cts +2 -0
  685. package/utils.d.ts +2 -0
  686. package/utils.js +7 -0
  687. package/utils.js.map +1 -1
  688. package/vercel-postgres/driver.cjs +1 -1
  689. package/vercel-postgres/driver.cjs.map +1 -1
  690. package/vercel-postgres/driver.js +1 -1
  691. package/vercel-postgres/driver.js.map +1 -1
  692. package/version.cjs +1 -1
  693. package/version.d.cts +1 -1
  694. package/version.d.ts +1 -1
  695. package/version.js +1 -1
  696. package/xata-http/driver.cjs +1 -1
  697. package/xata-http/driver.cjs.map +1 -1
  698. package/xata-http/driver.js +1 -1
  699. package/xata-http/driver.js.map +1 -1
@@ -1,4 +1,5 @@
1
1
  import { entityKind } from "../../entity.js";
2
+ import { getColumnNameAndConfig } from "../../utils.js";
2
3
  import { PgColumn } from "./common.js";
3
4
  import { PgIntColumnBaseBuilder } from "./int.common.js";
4
5
  class PgBigInt53Builder extends PgIntColumnBaseBuilder {
@@ -46,7 +47,8 @@ class PgBigInt64 extends PgColumn {
46
47
  return BigInt(value);
47
48
  }
48
49
  }
49
- function bigint(name, config) {
50
+ function bigint(a, b) {
51
+ const { name, config } = getColumnNameAndConfig(a, b);
50
52
  if (config.mode === "number") {
51
53
  return new PgBigInt53Builder(name);
52
54
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/bigint.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\n\nimport { PgColumn } from './common.ts';\nimport { PgIntColumnBaseBuilder } from './int.common.ts';\n\nexport type PgBigInt53BuilderInitial<TName extends string> = PgBigInt53Builder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'PgBigInt53';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBigInt53Builder<T extends ColumnBuilderBaseConfig<'number', 'PgBigInt53'>>\n\textends PgIntColumnBaseBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigInt53Builder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'PgBigInt53');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigInt53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigInt53<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgBigInt53<T extends ColumnBaseConfig<'number', 'PgBigInt53'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigInt53';\n\n\tgetSQLType(): string {\n\t\treturn 'bigint';\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type PgBigInt64BuilderInitial<TName extends string> = PgBigInt64Builder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'PgBigInt64';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBigInt64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'PgBigInt64'>>\n\textends PgIntColumnBaseBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigInt64Builder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'PgBigInt64');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigInt64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigInt64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigInt64<T extends ColumnBaseConfig<'bigint', 'PgBigInt64'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigInt64';\n\n\tgetSQLType(): string {\n\t\treturn 'bigint';\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\ninterface PgBigIntConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n}\n\nexport function bigint<TName extends string, TMode extends PgBigIntConfig['mode']>(\n\tname: TName,\n\tconfig: PgBigIntConfig<TMode>,\n): TMode extends 'number' ? PgBigInt53BuilderInitial<TName> : PgBigInt64BuilderInitial<TName>;\nexport function bigint(name: string, config: PgBigIntConfig) {\n\tif (config.mode === 'number') {\n\t\treturn new PgBigInt53Builder(name);\n\t}\n\treturn new PgBigInt64Builder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAS,gBAAgB;AACzB,SAAS,8BAA8B;AAYhC,MAAM,0BACJ,uBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBAAuE,SAAY;AAAA,EAC/F,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAYO,MAAM,0BACJ,uBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,mBAAuE,SAAY;AAAA,EAC/F,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAUO,SAAS,OAAO,MAAc,QAAwB;AAC5D,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,kBAAkB,IAAI;AAAA,EAClC;AACA,SAAO,IAAI,kBAAkB,IAAI;AAClC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/bigint.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\n\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { PgColumn } from './common.ts';\nimport { PgIntColumnBaseBuilder } from './int.common.ts';\n\nexport type PgBigInt53BuilderInitial<TName extends string> = PgBigInt53Builder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'PgBigInt53';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBigInt53Builder<T extends ColumnBuilderBaseConfig<'number', 'PgBigInt53'>>\n\textends PgIntColumnBaseBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigInt53Builder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'PgBigInt53');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigInt53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigInt53<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgBigInt53<T extends ColumnBaseConfig<'number', 'PgBigInt53'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigInt53';\n\n\tgetSQLType(): string {\n\t\treturn 'bigint';\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type PgBigInt64BuilderInitial<TName extends string> = PgBigInt64Builder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'PgBigInt64';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBigInt64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'PgBigInt64'>>\n\textends PgIntColumnBaseBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigInt64Builder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'PgBigInt64');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigInt64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigInt64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigInt64<T extends ColumnBaseConfig<'bigint', 'PgBigInt64'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigInt64';\n\n\tgetSQLType(): string {\n\t\treturn 'bigint';\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface PgBigIntConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n}\n\nexport function bigint<TMode extends PgBigIntConfig['mode']>(\n\tconfig: PgBigIntConfig<TMode>,\n): TMode extends 'number' ? PgBigInt53BuilderInitial<''> : PgBigInt64BuilderInitial<''>;\nexport function bigint<TName extends string, TMode extends PgBigIntConfig['mode']>(\n\tname: TName,\n\tconfig: PgBigIntConfig<TMode>,\n): TMode extends 'number' ? PgBigInt53BuilderInitial<TName> : PgBigInt64BuilderInitial<TName>;\nexport function bigint(a: string | PgBigIntConfig, b?: PgBigIntConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgBigIntConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new PgBigInt53Builder(name);\n\t}\n\treturn new PgBigInt64Builder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAS,8BAA8B;AACvC,SAAS,gBAAgB;AACzB,SAAS,8BAA8B;AAYhC,MAAM,0BACJ,uBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBAAuE,SAAY;AAAA,EAC/F,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAYO,MAAM,0BACJ,uBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,mBAAuE,SAAY;AAAA,EAC/F,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAaO,SAAS,OAAO,GAA4B,GAAoB;AACtE,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAuC,GAAG,CAAC;AACpE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,kBAAkB,IAAI;AAAA,EAClC;AACA,SAAO,IAAI,kBAAkB,IAAI;AAClC;","names":[]}
@@ -26,6 +26,7 @@ __export(bigserial_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(bigserial_exports);
28
28
  var import_entity = require("../../entity.cjs");
29
+ var import_utils = require("../../utils.cjs");
29
30
  var import_common = require("./common.cjs");
30
31
  class PgBigSerial53Builder extends import_common.PgColumnBuilder {
31
32
  static [import_entity.entityKind] = "PgBigSerial53Builder";
@@ -78,8 +79,9 @@ class PgBigSerial64 extends import_common.PgColumn {
78
79
  return BigInt(value);
79
80
  }
80
81
  }
81
- function bigserial(name, { mode }) {
82
- if (mode === "number") {
82
+ function bigserial(a, b) {
83
+ const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
84
+ if (config.mode === "number") {
83
85
  return new PgBigSerial53Builder(name);
84
86
  }
85
87
  return new PgBigSerial64Builder(name);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/bigserial.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tHasDefault,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBigSerial53BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial53Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'number';\n\t\t\tcolumnType: 'PgBigSerial53';\n\t\t\tdata: number;\n\t\t\tdriverParam: number;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial53Builder<T extends ColumnBuilderBaseConfig<'number', 'PgBigSerial53'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial53Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number', 'PgBigSerial53');\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial53<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial53<T extends ColumnBaseConfig<'number', 'PgBigSerial53'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial53';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\toverride mapFromDriverValue(value: number): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type PgBigSerial64BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial64Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'bigint';\n\t\t\tcolumnType: 'PgBigSerial64';\n\t\t\tdata: bigint;\n\t\t\tdriverParam: string;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'PgBigSerial64'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial64Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'bigint', 'PgBigSerial64');\n\t\tthis.config.hasDefault = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial64<T extends ColumnBaseConfig<'bigint', 'PgBigSerial64'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial64';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\ninterface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n}\n\nexport function bigserial<TName extends string, TMode extends PgBigSerialConfig['mode']>(\n\tname: TName,\n\tconfig: PgBigSerialConfig<TMode>,\n): TMode extends 'number' ? PgBigSerial53BuilderInitial<TName> : PgBigSerial64BuilderInitial<TName>;\nexport function bigserial(name: string, { mode }: PgBigSerialConfig) {\n\tif (mode === 'number') {\n\t\treturn new PgBigSerial53Builder(name);\n\t}\n\treturn new PgBigSerial64Builder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,oBAA2B;AAE3B,oBAA0C;AAgBnC,MAAM,6BACJ,8BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAAA,EACvB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,uBAAY;AAAA,EACrG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAuB;AAClD,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAgBO,MAAM,6BACJ,8BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AAAA,EAC1B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,uBAAY;AAAA,EACrG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAUO,SAAS,UAAU,MAAc,EAAE,KAAK,GAAsB;AACpE,MAAI,SAAS,UAAU;AACtB,WAAO,IAAI,qBAAqB,IAAI;AAAA,EACrC;AACA,SAAO,IAAI,qBAAqB,IAAI;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/bigserial.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tHasDefault,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBigSerial53BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial53Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'number';\n\t\t\tcolumnType: 'PgBigSerial53';\n\t\t\tdata: number;\n\t\t\tdriverParam: number;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial53Builder<T extends ColumnBuilderBaseConfig<'number', 'PgBigSerial53'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial53Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number', 'PgBigSerial53');\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial53<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial53<T extends ColumnBaseConfig<'number', 'PgBigSerial53'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial53';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\toverride mapFromDriverValue(value: number): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type PgBigSerial64BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial64Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'bigint';\n\t\t\tcolumnType: 'PgBigSerial64';\n\t\t\tdata: bigint;\n\t\t\tdriverParam: string;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'PgBigSerial64'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial64Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'bigint', 'PgBigSerial64');\n\t\tthis.config.hasDefault = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial64<T extends ColumnBaseConfig<'bigint', 'PgBigSerial64'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial64';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n}\n\nexport function bigserial<TMode extends PgBigSerialConfig['mode']>(\n\tconfig: PgBigSerialConfig<TMode>,\n): TMode extends 'number' ? PgBigSerial53BuilderInitial<''> : PgBigSerial64BuilderInitial<''>;\nexport function bigserial<TName extends string, TMode extends PgBigSerialConfig['mode']>(\n\tname: TName,\n\tconfig: PgBigSerialConfig<TMode>,\n): TMode extends 'number' ? PgBigSerial53BuilderInitial<TName> : PgBigSerial64BuilderInitial<TName>;\nexport function bigserial(a: string | PgBigSerialConfig, b?: PgBigSerialConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgBigSerialConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new PgBigSerial53Builder(name);\n\t}\n\treturn new PgBigSerial64Builder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,oBAA2B;AAC3B,mBAAuC;AAEvC,oBAA0C;AAgBnC,MAAM,6BACJ,8BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAAA,EACvB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,uBAAY;AAAA,EACrG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAuB;AAClD,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAgBO,MAAM,6BACJ,8BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AAAA,EAC1B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,uBAAY;AAAA,EACrG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAaO,SAAS,UAAU,GAA+B,GAAuB;AAC/E,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,qBAAqB,IAAI;AAAA,EACrC;AACA,SAAO,IAAI,qBAAqB,IAAI;AACrC;","names":[]}
@@ -38,8 +38,8 @@ export declare class PgBigSerial64<T extends ColumnBaseConfig<'bigint', 'PgBigSe
38
38
  getSQLType(): string;
39
39
  mapFromDriverValue(value: string): bigint;
40
40
  }
41
- interface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {
41
+ export interface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {
42
42
  mode: T;
43
43
  }
44
+ export declare function bigserial<TMode extends PgBigSerialConfig['mode']>(config: PgBigSerialConfig<TMode>): TMode extends 'number' ? PgBigSerial53BuilderInitial<''> : PgBigSerial64BuilderInitial<''>;
44
45
  export declare function bigserial<TName extends string, TMode extends PgBigSerialConfig['mode']>(name: TName, config: PgBigSerialConfig<TMode>): TMode extends 'number' ? PgBigSerial53BuilderInitial<TName> : PgBigSerial64BuilderInitial<TName>;
45
- export {};
@@ -38,8 +38,8 @@ export declare class PgBigSerial64<T extends ColumnBaseConfig<'bigint', 'PgBigSe
38
38
  getSQLType(): string;
39
39
  mapFromDriverValue(value: string): bigint;
40
40
  }
41
- interface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {
41
+ export interface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {
42
42
  mode: T;
43
43
  }
44
+ export declare function bigserial<TMode extends PgBigSerialConfig['mode']>(config: PgBigSerialConfig<TMode>): TMode extends 'number' ? PgBigSerial53BuilderInitial<''> : PgBigSerial64BuilderInitial<''>;
44
45
  export declare function bigserial<TName extends string, TMode extends PgBigSerialConfig['mode']>(name: TName, config: PgBigSerialConfig<TMode>): TMode extends 'number' ? PgBigSerial53BuilderInitial<TName> : PgBigSerial64BuilderInitial<TName>;
45
- export {};
@@ -1,4 +1,5 @@
1
1
  import { entityKind } from "../../entity.js";
2
+ import { getColumnNameAndConfig } from "../../utils.js";
2
3
  import { PgColumn, PgColumnBuilder } from "./common.js";
3
4
  class PgBigSerial53Builder extends PgColumnBuilder {
4
5
  static [entityKind] = "PgBigSerial53Builder";
@@ -51,8 +52,9 @@ class PgBigSerial64 extends PgColumn {
51
52
  return BigInt(value);
52
53
  }
53
54
  }
54
- function bigserial(name, { mode }) {
55
- if (mode === "number") {
55
+ function bigserial(a, b) {
56
+ const { name, config } = getColumnNameAndConfig(a, b);
57
+ if (config.mode === "number") {
56
58
  return new PgBigSerial53Builder(name);
57
59
  }
58
60
  return new PgBigSerial64Builder(name);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/bigserial.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tHasDefault,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBigSerial53BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial53Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'number';\n\t\t\tcolumnType: 'PgBigSerial53';\n\t\t\tdata: number;\n\t\t\tdriverParam: number;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial53Builder<T extends ColumnBuilderBaseConfig<'number', 'PgBigSerial53'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial53Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number', 'PgBigSerial53');\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial53<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial53<T extends ColumnBaseConfig<'number', 'PgBigSerial53'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial53';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\toverride mapFromDriverValue(value: number): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type PgBigSerial64BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial64Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'bigint';\n\t\t\tcolumnType: 'PgBigSerial64';\n\t\t\tdata: bigint;\n\t\t\tdriverParam: string;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'PgBigSerial64'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial64Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'bigint', 'PgBigSerial64');\n\t\tthis.config.hasDefault = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial64<T extends ColumnBaseConfig<'bigint', 'PgBigSerial64'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial64';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\ninterface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n}\n\nexport function bigserial<TName extends string, TMode extends PgBigSerialConfig['mode']>(\n\tname: TName,\n\tconfig: PgBigSerialConfig<TMode>,\n): TMode extends 'number' ? PgBigSerial53BuilderInitial<TName> : PgBigSerial64BuilderInitial<TName>;\nexport function bigserial(name: string, { mode }: PgBigSerialConfig) {\n\tif (mode === 'number') {\n\t\treturn new PgBigSerial53Builder(name);\n\t}\n\treturn new PgBigSerial64Builder(name);\n}\n"],"mappings":"AAQA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAgBnC,MAAM,6BACJ,gBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAAA,EACvB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,SAAY;AAAA,EACrG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAuB;AAClD,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAgBO,MAAM,6BACJ,gBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AAAA,EAC1B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,SAAY;AAAA,EACrG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAUO,SAAS,UAAU,MAAc,EAAE,KAAK,GAAsB;AACpE,MAAI,SAAS,UAAU;AACtB,WAAO,IAAI,qBAAqB,IAAI;AAAA,EACrC;AACA,SAAO,IAAI,qBAAqB,IAAI;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/bigserial.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tHasDefault,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBigSerial53BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial53Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'number';\n\t\t\tcolumnType: 'PgBigSerial53';\n\t\t\tdata: number;\n\t\t\tdriverParam: number;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial53Builder<T extends ColumnBuilderBaseConfig<'number', 'PgBigSerial53'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial53Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number', 'PgBigSerial53');\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial53<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial53<T extends ColumnBaseConfig<'number', 'PgBigSerial53'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial53';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\toverride mapFromDriverValue(value: number): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type PgBigSerial64BuilderInitial<TName extends string> = NotNull<\n\tHasDefault<\n\t\tPgBigSerial64Builder<{\n\t\t\tname: TName;\n\t\t\tdataType: 'bigint';\n\t\t\tcolumnType: 'PgBigSerial64';\n\t\t\tdata: bigint;\n\t\t\tdriverParam: string;\n\t\t\tenumValues: undefined;\n\t\t\tgenerated: undefined;\n\t\t}>\n\t>\n>;\n\nexport class PgBigSerial64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'PgBigSerial64'>>\n\textends PgColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'PgBigSerial64Builder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'bigint', 'PgBigSerial64');\n\t\tthis.config.hasDefault = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBigSerial64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBigSerial64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgBigSerial64<T extends ColumnBaseConfig<'bigint', 'PgBigSerial64'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBigSerial64';\n\n\tgetSQLType(): string {\n\t\treturn 'bigserial';\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface PgBigSerialConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n}\n\nexport function bigserial<TMode extends PgBigSerialConfig['mode']>(\n\tconfig: PgBigSerialConfig<TMode>,\n): TMode extends 'number' ? PgBigSerial53BuilderInitial<''> : PgBigSerial64BuilderInitial<''>;\nexport function bigserial<TName extends string, TMode extends PgBigSerialConfig['mode']>(\n\tname: TName,\n\tconfig: PgBigSerialConfig<TMode>,\n): TMode extends 'number' ? PgBigSerial53BuilderInitial<TName> : PgBigSerial64BuilderInitial<TName>;\nexport function bigserial(a: string | PgBigSerialConfig, b?: PgBigSerialConfig) {\n\tconst { name, config } = getColumnNameAndConfig<PgBigSerialConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new PgBigSerial53Builder(name);\n\t}\n\treturn new PgBigSerial64Builder(name);\n}\n"],"mappings":"AAQA,SAAS,kBAAkB;AAC3B,SAAS,8BAA8B;AAEvC,SAAS,UAAU,uBAAuB;AAgBnC,MAAM,6BACJ,gBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAAA,EACvB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,SAAY;AAAA,EACrG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAuB;AAClD,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAgBO,MAAM,6BACJ,gBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc;AACzB,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,aAAa;AAAA,EAC1B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,SAAY;AAAA,EACrG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAaO,SAAS,UAAU,GAA+B,GAAuB;AAC/E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,qBAAqB,IAAI;AAAA,EACrC;AACA,SAAO,IAAI,qBAAqB,IAAI;AACrC;","names":[]}
@@ -42,7 +42,7 @@ class PgBoolean extends import_common.PgColumn {
42
42
  }
43
43
  }
44
44
  function boolean(name) {
45
- return new PgBooleanBuilder(name);
45
+ return new PgBooleanBuilder(name ?? "");
46
46
  }
47
47
  // Annotate the CommonJS export names for ESM import in node:
48
48
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBooleanBuilderInitial<TName extends string> = PgBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'PgBoolean';\n\tdata: boolean;\n\tdriverParam: boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'PgBoolean'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'PgBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBoolean<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgBoolean<T extends ColumnBaseConfig<'boolean', 'PgBoolean'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n}\n\nexport function boolean<TName extends string>(name: TName): PgBooleanBuilderInitial<TName> {\n\treturn new PgBooleanBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAA0C;AAYnC,MAAM,yBAAoF,8BAAmB;AAAA,EACnH,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,WAAW;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAsE,uBAAY;AAAA,EAC9F,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,QAA8B,MAA6C;AAC1F,SAAO,IAAI,iBAAiB,IAAI;AACjC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBooleanBuilderInitial<TName extends string> = PgBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'PgBoolean';\n\tdata: boolean;\n\tdriverParam: boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'PgBoolean'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'PgBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBoolean<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgBoolean<T extends ColumnBaseConfig<'boolean', 'PgBoolean'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n}\n\nexport function boolean(): PgBooleanBuilderInitial<''>;\nexport function boolean<TName extends string>(name: TName): PgBooleanBuilderInitial<TName>;\nexport function boolean(name?: string) {\n\treturn new PgBooleanBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAA0C;AAYnC,MAAM,yBAAoF,8BAAmB;AAAA,EACnH,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,WAAW;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAsE,uBAAY;AAAA,EAC9F,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
@@ -19,4 +19,5 @@ export declare class PgBoolean<T extends ColumnBaseConfig<'boolean', 'PgBoolean'
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function boolean(): PgBooleanBuilderInitial<''>;
22
23
  export declare function boolean<TName extends string>(name: TName): PgBooleanBuilderInitial<TName>;
@@ -19,4 +19,5 @@ export declare class PgBoolean<T extends ColumnBaseConfig<'boolean', 'PgBoolean'
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function boolean(): PgBooleanBuilderInitial<''>;
22
23
  export declare function boolean<TName extends string>(name: TName): PgBooleanBuilderInitial<TName>;
@@ -17,7 +17,7 @@ class PgBoolean extends PgColumn {
17
17
  }
18
18
  }
19
19
  function boolean(name) {
20
- return new PgBooleanBuilder(name);
20
+ return new PgBooleanBuilder(name ?? "");
21
21
  }
22
22
  export {
23
23
  PgBoolean,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBooleanBuilderInitial<TName extends string> = PgBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'PgBoolean';\n\tdata: boolean;\n\tdriverParam: boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'PgBoolean'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'PgBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBoolean<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgBoolean<T extends ColumnBaseConfig<'boolean', 'PgBoolean'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n}\n\nexport function boolean<TName extends string>(name: TName): PgBooleanBuilderInitial<TName> {\n\treturn new PgBooleanBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAYnC,MAAM,yBAAoF,gBAAmB;AAAA,EACnH,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,WAAW;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAsE,SAAY;AAAA,EAC9F,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,QAA8B,MAA6C;AAC1F,SAAO,IAAI,iBAAiB,IAAI;AACjC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgBooleanBuilderInitial<TName extends string> = PgBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'PgBoolean';\n\tdata: boolean;\n\tdriverParam: boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'PgBoolean'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'PgBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgBoolean<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgBoolean<T extends ColumnBaseConfig<'boolean', 'PgBoolean'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n}\n\nexport function boolean(): PgBooleanBuilderInitial<''>;\nexport function boolean<TName extends string>(name: TName): PgBooleanBuilderInitial<TName>;\nexport function boolean(name?: string) {\n\treturn new PgBooleanBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAYnC,MAAM,yBAAoF,gBAAmB;AAAA,EACnH,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,WAAW;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAsE,SAAY;AAAA,EAC9F,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
@@ -24,6 +24,7 @@ __export(char_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(char_exports);
26
26
  var import_entity = require("../../entity.cjs");
27
+ var import_utils = require("../../utils.cjs");
27
28
  var import_common = require("./common.cjs");
28
29
  class PgCharBuilder extends import_common.PgColumnBuilder {
29
30
  static [import_entity.entityKind] = "PgCharBuilder";
@@ -45,7 +46,8 @@ class PgChar extends import_common.PgColumn {
45
46
  return this.length === void 0 ? `char` : `char(${this.length})`;
46
47
  }
47
48
  }
48
- function char(name, config = {}) {
49
+ function char(a, b = {}) {
50
+ const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
49
51
  return new PgCharBuilder(name, config);
50
52
  }
51
53
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = PgCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgChar';\n\tdata: TEnum[number];\n\tenumValues: TEnum;\n\tdriverParam: string;\n\tgenerated: undefined;\n}>;\n\nexport class PgCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgChar'>> extends PgColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'PgCharBuilder';\n\n\tconstructor(name: string, config: PgCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgChar<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgChar<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>>\n\textends PgColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'PgChar';\n\n\treadonly length = this.config.length;\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface PgCharConfig<TEnum extends readonly string[] | string[] | undefined> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig: PgCharConfig<T | Writable<T>> = {},\n): PgCharBuilderInitial<TName, Writable<T>> {\n\treturn new PgCharBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,oBAA0C;AAYnC,MAAM,sBAA6E,8BAGxF;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAAuC;AAChE,UAAM,MAAM,UAAU,QAAQ;AAC9B,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eACJ,uBACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE9B,SAAS,KAAK,OAAO;AAAA,EACZ,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAOO,SAAS,KACf,MACA,SAAwC,CAAC,GACE;AAC3C,SAAO,IAAI,cAAc,MAAM,MAAM;AACtC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = PgCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgChar';\n\tdata: TEnum[number];\n\tenumValues: TEnum;\n\tdriverParam: string;\n\tgenerated: undefined;\n}>;\n\nexport class PgCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgChar'>> extends PgColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'PgCharBuilder';\n\n\tconstructor(name: T['name'], config: PgCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgChar<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgChar<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>>\n\textends PgColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'PgChar';\n\n\treadonly length = this.config.length;\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface PgCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): PgCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: PgCharConfig<T | Writable<T>>,\n): PgCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: PgCharConfig<T | Writable<T>>,\n): PgCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | PgCharConfig, b: PgCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<PgCharConfig>(a, b);\n\treturn new PgCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA0C;AAYnC,MAAM,sBAA6E,8BAGxF;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAuC;AACnE,UAAM,MAAM,UAAU,QAAQ;AAC9B,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eACJ,uBACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE9B,SAAS,KAAK,OAAO;AAAA,EACZ,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAA2B,IAAkB,CAAC,GAAQ;AAC1E,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAqC,GAAG,CAAC;AAClE,SAAO,IAAI,cAAc,MAAM,MAAa;AAC7C;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
2
2
  import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
- import type { Writable } from "../../utils.cjs";
4
+ import { type Writable } from "../../utils.cjs";
5
5
  import { PgColumn, PgColumnBuilder } from "./common.cjs";
6
6
  export type PgCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = PgCharBuilder<{
7
7
  name: TName;
@@ -17,7 +17,7 @@ export declare class PgCharBuilder<T extends ColumnBuilderBaseConfig<'string', '
17
17
  enumValues: T['enumValues'];
18
18
  }> {
19
19
  static readonly [entityKind]: string;
20
- constructor(name: string, config: PgCharConfig<T['enumValues']>);
20
+ constructor(name: T['name'], config: PgCharConfig<T['enumValues']>);
21
21
  }
22
22
  export declare class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>> extends PgColumn<T, {
23
23
  length: number | undefined;
@@ -28,8 +28,10 @@ export declare class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>> exte
28
28
  readonly enumValues: T["enumValues"];
29
29
  getSQLType(): string;
30
30
  }
31
- export interface PgCharConfig<TEnum extends readonly string[] | string[] | undefined> {
31
+ export interface PgCharConfig<TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined> {
32
32
  length?: number;
33
33
  enum?: TEnum;
34
34
  }
35
+ export declare function char(): PgCharBuilderInitial<'', [string, ...string[]]>;
36
+ export declare function char<U extends string, T extends Readonly<[U, ...U[]]>>(config?: PgCharConfig<T | Writable<T>>): PgCharBuilderInitial<'', Writable<T>>;
35
37
  export declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: PgCharConfig<T | Writable<T>>): PgCharBuilderInitial<TName, Writable<T>>;
@@ -1,7 +1,7 @@
1
1
  import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
2
2
  import type { ColumnBaseConfig } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
- import type { Writable } from "../../utils.js";
4
+ import { type Writable } from "../../utils.js";
5
5
  import { PgColumn, PgColumnBuilder } from "./common.js";
6
6
  export type PgCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = PgCharBuilder<{
7
7
  name: TName;
@@ -17,7 +17,7 @@ export declare class PgCharBuilder<T extends ColumnBuilderBaseConfig<'string', '
17
17
  enumValues: T['enumValues'];
18
18
  }> {
19
19
  static readonly [entityKind]: string;
20
- constructor(name: string, config: PgCharConfig<T['enumValues']>);
20
+ constructor(name: T['name'], config: PgCharConfig<T['enumValues']>);
21
21
  }
22
22
  export declare class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>> extends PgColumn<T, {
23
23
  length: number | undefined;
@@ -28,8 +28,10 @@ export declare class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>> exte
28
28
  readonly enumValues: T["enumValues"];
29
29
  getSQLType(): string;
30
30
  }
31
- export interface PgCharConfig<TEnum extends readonly string[] | string[] | undefined> {
31
+ export interface PgCharConfig<TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined> {
32
32
  length?: number;
33
33
  enum?: TEnum;
34
34
  }
35
+ export declare function char(): PgCharBuilderInitial<'', [string, ...string[]]>;
36
+ export declare function char<U extends string, T extends Readonly<[U, ...U[]]>>(config?: PgCharConfig<T | Writable<T>>): PgCharBuilderInitial<'', Writable<T>>;
35
37
  export declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: PgCharConfig<T | Writable<T>>): PgCharBuilderInitial<TName, Writable<T>>;
@@ -1,4 +1,5 @@
1
1
  import { entityKind } from "../../entity.js";
2
+ import { getColumnNameAndConfig } from "../../utils.js";
2
3
  import { PgColumn, PgColumnBuilder } from "./common.js";
3
4
  class PgCharBuilder extends PgColumnBuilder {
4
5
  static [entityKind] = "PgCharBuilder";
@@ -20,7 +21,8 @@ class PgChar extends PgColumn {
20
21
  return this.length === void 0 ? `char` : `char(${this.length})`;
21
22
  }
22
23
  }
23
- function char(name, config = {}) {
24
+ function char(a, b = {}) {
25
+ const { name, config } = getColumnNameAndConfig(a, b);
24
26
  return new PgCharBuilder(name, config);
25
27
  }
26
28
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = PgCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgChar';\n\tdata: TEnum[number];\n\tenumValues: TEnum;\n\tdriverParam: string;\n\tgenerated: undefined;\n}>;\n\nexport class PgCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgChar'>> extends PgColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'PgCharBuilder';\n\n\tconstructor(name: string, config: PgCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgChar<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgChar<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>>\n\textends PgColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'PgChar';\n\n\treadonly length = this.config.length;\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface PgCharConfig<TEnum extends readonly string[] | string[] | undefined> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig: PgCharConfig<T | Writable<T>> = {},\n): PgCharBuilderInitial<TName, Writable<T>> {\n\treturn new PgCharBuilder(name, config);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAS,UAAU,uBAAuB;AAYnC,MAAM,sBAA6E,gBAGxF;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAc,QAAuC;AAChE,UAAM,MAAM,UAAU,QAAQ;AAC9B,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eACJ,SACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,SAAS,KAAK,OAAO;AAAA,EACZ,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAOO,SAAS,KACf,MACA,SAAwC,CAAC,GACE;AAC3C,SAAO,IAAI,cAAc,MAAM,MAAM;AACtC;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = PgCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgChar';\n\tdata: TEnum[number];\n\tenumValues: TEnum;\n\tdriverParam: string;\n\tgenerated: undefined;\n}>;\n\nexport class PgCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgChar'>> extends PgColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'PgCharBuilder';\n\n\tconstructor(name: T['name'], config: PgCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgChar<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgChar<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgChar<T extends ColumnBaseConfig<'string', 'PgChar'>>\n\textends PgColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'PgChar';\n\n\treadonly length = this.config.length;\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface PgCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): PgCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: PgCharConfig<T | Writable<T>>,\n): PgCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: PgCharConfig<T | Writable<T>>,\n): PgCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | PgCharConfig, b: PgCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<PgCharConfig>(a, b);\n\treturn new PgCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,UAAU,uBAAuB;AAYnC,MAAM,sBAA6E,gBAGxF;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAuC;AACnE,UAAM,MAAM,UAAU,QAAQ;AAC9B,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eACJ,SACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,SAAS,KAAK,OAAO;AAAA,EACZ,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAA2B,IAAkB,CAAC,GAAQ;AAC1E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAqC,GAAG,CAAC;AAClE,SAAO,IAAI,cAAc,MAAM,MAAa;AAC7C;","names":[]}
@@ -42,7 +42,7 @@ class PgCidr extends import_common.PgColumn {
42
42
  }
43
43
  }
44
44
  function cidr(name) {
45
- return new PgCidrBuilder(name);
45
+ return new PgCidrBuilder(name ?? "");
46
46
  }
47
47
  // Annotate the CommonJS export names for ESM import in node:
48
48
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/cidr.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCidrBuilderInitial<TName extends string> = PgCidrBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgCidr';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgCidrBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgCidr'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgCidrBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'PgCidr');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgCidr<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgCidr<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgCidr<T extends ColumnBaseConfig<'string', 'PgCidr'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgCidr';\n\n\tgetSQLType(): string {\n\t\treturn 'cidr';\n\t}\n}\n\nexport function cidr<TName extends string>(name: TName): PgCidrBuilderInitial<TName> {\n\treturn new PgCidrBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAA0C;AAYnC,MAAM,sBAA6E,8BAAmB;AAAA,EAC5G,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eAA+D,uBAAY;AAAA,EACvF,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAA2B,MAA0C;AACpF,SAAO,IAAI,cAAc,IAAI;AAC9B;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/cidr.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCidrBuilderInitial<TName extends string> = PgCidrBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgCidr';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgCidrBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgCidr'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgCidrBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'PgCidr');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgCidr<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgCidr<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgCidr<T extends ColumnBaseConfig<'string', 'PgCidr'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgCidr';\n\n\tgetSQLType(): string {\n\t\treturn 'cidr';\n\t}\n}\n\nexport function cidr(): PgCidrBuilderInitial<''>;\nexport function cidr<TName extends string>(name: TName): PgCidrBuilderInitial<TName>;\nexport function cidr(name?: string) {\n\treturn new PgCidrBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAA0C;AAYnC,MAAM,sBAA6E,8BAAmB;AAAA,EAC5G,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eAA+D,uBAAY;AAAA,EACvF,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,KAAK,MAAe;AACnC,SAAO,IAAI,cAAc,QAAQ,EAAE;AACpC;","names":[]}
@@ -19,4 +19,5 @@ export declare class PgCidr<T extends ColumnBaseConfig<'string', 'PgCidr'>> exte
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function cidr(): PgCidrBuilderInitial<''>;
22
23
  export declare function cidr<TName extends string>(name: TName): PgCidrBuilderInitial<TName>;
@@ -19,4 +19,5 @@ export declare class PgCidr<T extends ColumnBaseConfig<'string', 'PgCidr'>> exte
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function cidr(): PgCidrBuilderInitial<''>;
22
23
  export declare function cidr<TName extends string>(name: TName): PgCidrBuilderInitial<TName>;
@@ -17,7 +17,7 @@ class PgCidr extends PgColumn {
17
17
  }
18
18
  }
19
19
  function cidr(name) {
20
- return new PgCidrBuilder(name);
20
+ return new PgCidrBuilder(name ?? "");
21
21
  }
22
22
  export {
23
23
  PgCidr,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/cidr.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCidrBuilderInitial<TName extends string> = PgCidrBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgCidr';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgCidrBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgCidr'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgCidrBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'PgCidr');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgCidr<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgCidr<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgCidr<T extends ColumnBaseConfig<'string', 'PgCidr'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgCidr';\n\n\tgetSQLType(): string {\n\t\treturn 'cidr';\n\t}\n}\n\nexport function cidr<TName extends string>(name: TName): PgCidrBuilderInitial<TName> {\n\treturn new PgCidrBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAYnC,MAAM,sBAA6E,gBAAmB;AAAA,EAC5G,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eAA+D,SAAY;AAAA,EACvF,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAA2B,MAA0C;AACpF,SAAO,IAAI,cAAc,IAAI;AAC9B;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/cidr.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '../table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgCidrBuilderInitial<TName extends string> = PgCidrBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgCidr';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class PgCidrBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgCidr'>> extends PgColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'PgCidrBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'PgCidr');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgCidr<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgCidr<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class PgCidr<T extends ColumnBaseConfig<'string', 'PgCidr'>> extends PgColumn<T> {\n\tstatic readonly [entityKind]: string = 'PgCidr';\n\n\tgetSQLType(): string {\n\t\treturn 'cidr';\n\t}\n}\n\nexport function cidr(): PgCidrBuilderInitial<''>;\nexport function cidr<TName extends string>(name: TName): PgCidrBuilderInitial<TName>;\nexport function cidr(name?: string) {\n\treturn new PgCidrBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,UAAU,uBAAuB;AAYnC,MAAM,sBAA6E,gBAAmB;AAAA,EAC5G,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,QAAQ;AAAA,EAC/B;AAAA;AAAA,EAGS,MACR,OAC0C;AAC1C,WAAO,IAAI,OAAwC,OAAO,KAAK,MAA8C;AAAA,EAC9G;AACD;AAEO,MAAM,eAA+D,SAAY;AAAA,EACvF,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,KAAK,MAAe;AACnC,SAAO,IAAI,cAAc,QAAQ,EAAE;AACpC;","names":[]}
@@ -161,12 +161,14 @@ class ExtraConfigColumn extends PgColumn {
161
161
  }
162
162
  class IndexedColumn {
163
163
  static [import_entity.entityKind] = "IndexedColumn";
164
- constructor(name, type, indexConfig) {
164
+ constructor(name, keyAsName, type, indexConfig) {
165
165
  this.name = name;
166
+ this.keyAsName = keyAsName;
166
167
  this.type = type;
167
168
  this.indexConfig = indexConfig;
168
169
  }
169
170
  name;
171
+ keyAsName;
170
172
  type;
171
173
  indexConfig;
172
174
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tGeneratedColumnConfig,\n\tHasGenerated,\n\tMakeColumnConfig,\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 { Update } from '~/utils.ts';\n\nimport type { SQL } from '~/index.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 { iife } from '~/tracing-utils.ts';\nimport type { PgIndexOpClass } from '../indexes.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\nimport { makePgArray, parsePgArray } from '../utils/array.ts';\n\nexport interface ReferenceConfig {\n\tref: () => PgColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface PgColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'pg' }> {}\n\nexport abstract class PgColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'pg' }, TExtraConfig>\n\timplements PgColumnBuilderBase<T, TTypeConfig>\n{\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic readonly [entityKind]: string = 'PgColumnBuilder';\n\n\tarray(size?: number): PgArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tgenerated: GeneratedColumnConfig<T['data']>;\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>, size);\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\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 any;\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<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgColumn<MakeColumnConfig<T, TTableName>>;\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<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column<T, TRuntimeConfig, TTypeConfig & { dialect: 'pg' }> {\n\tstatic readonly [entityKind]: string = 'PgColumn';\n\n\tconstructor(\n\t\toverride readonly table: 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}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; opClass?: string };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n> extends PgColumn<T, IndexedExtraConfigType> {\n\tstatic 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\ttype: string,\n\t\tindexConfig: IndexedExtraConfigType,\n\t) {\n\t\tthis.name = name;\n\t\tthis.type = type;\n\t\tthis.indexConfig = indexConfig;\n\t}\n\n\tname: string | undefined;\n\ttype: string;\n\tindexConfig: IndexedExtraConfigType;\n}\n\nexport type AnyPgColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = PgColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport class PgArrayBuilder<\n\tT extends ColumnBuilderBaseConfig<'array', 'PgArray'>,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tbaseBuilder: PgColumnBuilder<TBase>;\n\t\tsize: number | undefined;\n\t},\n\t{\n\t\tbaseBuilder: PgColumnBuilder<TBase>;\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\tsize: number | undefined,\n\t) {\n\t\tsuper(name, 'array', 'PgArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.size = size;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgArray<MakeColumnConfig<T, TTableName>, TBase> {\n\t\tconst baseColumn = this.config.baseBuilder.build(table);\n\t\treturn new PgArray<MakeColumnConfig<T, TTableName>, TBase>(\n\t\t\ttable as AnyPgTable<{ name: MakeColumnConfig<T, TTableName>['tableName'] }>,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class PgArray<\n\tT extends ColumnBaseConfig<'array', 'PgArray'>,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumn<T> {\n\treadonly size: number | undefined;\n\n\tstatic 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\tthis.size = config.size;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.size === 'number' ? this.size : ''}]`;\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\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":"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","names":["ref","actions"]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tGeneratedColumnConfig,\n\tHasGenerated,\n\tMakeColumnConfig,\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 { Update } from '~/utils.ts';\n\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 { PgIndexOpClass } from '../indexes.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\nimport { makePgArray, parsePgArray } from '../utils/array.ts';\n\nexport interface ReferenceConfig {\n\tref: () => PgColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface PgColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'pg' }> {}\n\nexport abstract class PgColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'pg' }, TExtraConfig>\n\timplements PgColumnBuilderBase<T, TTypeConfig>\n{\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic readonly [entityKind]: string = 'PgColumnBuilder';\n\n\tarray(size?: number): PgArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tgenerated: GeneratedColumnConfig<T['data']>;\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>, size);\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\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 any;\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<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgColumn<MakeColumnConfig<T, TTableName>>;\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<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column<T, TRuntimeConfig, TTypeConfig & { dialect: 'pg' }> {\n\tstatic readonly [entityKind]: string = 'PgColumn';\n\n\tconstructor(\n\t\toverride readonly table: 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}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; opClass?: string };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n> extends PgColumn<T, IndexedExtraConfigType> {\n\tstatic 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<ColumnDataType, string>> = {}> = PgColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport class PgArrayBuilder<\n\tT extends ColumnBuilderBaseConfig<'array', 'PgArray'>,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tbaseBuilder: PgColumnBuilder<TBase>;\n\t\tsize: number | undefined;\n\t},\n\t{\n\t\tbaseBuilder: PgColumnBuilder<TBase>;\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\tsize: number | undefined,\n\t) {\n\t\tsuper(name, 'array', 'PgArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.size = size;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgArray<MakeColumnConfig<T, TTableName>, TBase> {\n\t\tconst baseColumn = this.config.baseBuilder.build(table);\n\t\treturn new PgArray<MakeColumnConfig<T, TTableName>, TBase>(\n\t\t\ttable as AnyPgTable<{ name: MakeColumnConfig<T, TTableName>['tableName'] }>,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class PgArray<\n\tT extends ColumnBaseConfig<'array', 'PgArray'>,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumn<T> {\n\treadonly size: number | undefined;\n\n\tstatic 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\tthis.size = config.size;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.size === 'number' ? this.size : ''}]`;\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\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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,4BAA8B;AAE9B,oBAAuB;AACvB,oBAA+B;AAI/B,0BAAkC;AAGlC,2BAAqB;AAErB,+BAA8B;AAC9B,mBAA0C;AAenC,MAAe,wBAKZ,oCAEV;AAAA,EACS,oBAAuC,CAAC;AAAA,EAEhD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,MAAM,MAaJ;AACD,WAAO,IAAI,eAAe,KAAK,OAAO,MAAM,MAAmC,IAAI;AAAA,EACpF;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,IAAuD;AACxE,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAkB,OAA8B;AAChE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,iBAAO;AAAA,QACN,CAACA,MAAKC,aAAY;AACjB,gBAAM,UAAU,IAAI,sCAAkB,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,EAQA,uBACC,OACoB;AACpB,WAAO,IAAI,kBAAkB,OAAO,KAAK,MAAM;AAAA,EAChD;AACD;AAGO,MAAe,iBAIZ,qBAA2D;AAAA,EAGpE,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAWxC;AAIO,MAAM,0BAEH,SAAoC;AAAA,EAC7C,QAAiB,wBAAU,IAAY;AAAA,EAE9B,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,wBAAU,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;AAMO,MAAM,uBAGH,gBASR;AAAA,EACD,QAA0B,wBAAU,IAAI;AAAA,EAExC,YACC,MACA,aACA,MACC;AACD,UAAM,MAAM,SAAS,SAAS;AAC9B,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,UAAM,aAAa,KAAK,OAAO,YAAY,MAAM,KAAK;AACtD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,MACL;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,gBAGH,SAAY;AAAA,EAKrB,YACC,OACA,QACS,YACA,OACR;AACD,UAAM,OAAO,MAAM;AAHV;AACA;AAGT,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAZS;AAAA,EAET,QAAiB,wBAAU,IAAY;AAAA,EAYvC,aAAqB;AACpB,WAAO,GAAG,KAAK,WAAW,WAAW,CAAC,IAAI,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,EAAE;AAAA,EACzF;AAAA,EAES,mBAAmB,OAAsC;AACjE,QAAI,OAAO,UAAU,UAAU;AAE9B,kBAAQ,2BAAa,KAAK;AAAA,IAC3B;AACA,WAAO,MAAM,IAAI,CAAC,MAAM,KAAK,WAAW,mBAAmB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAES,iBAAiB,OAAkB,gBAAgB,OAA2B;AACtF,UAAM,IAAI,MAAM;AAAA,MAAI,CAAC,MACpB,MAAM,OACH,WACA,kBAAG,KAAK,YAAY,OAAO,IAC3B,KAAK,WAAW,iBAAiB,GAAgB,IAAI,IACrD,KAAK,WAAW,iBAAiB,CAAC;AAAA,IACtC;AACA,QAAI;AAAe,aAAO;AAC1B,eAAO,0BAAY,CAAC;AAAA,EACrB;AACD;","names":["ref","actions"]}
@@ -4,9 +4,9 @@ import type { ColumnBaseConfig } from "../../column.cjs";
4
4
  import { Column } from "../../column.cjs";
5
5
  import { entityKind } from "../../entity.cjs";
6
6
  import type { Update } from "../../utils.cjs";
7
- import type { SQL } from "../../index.cjs";
8
7
  import type { UpdateDeleteAction } from "../foreign-keys.cjs";
9
8
  import type { AnyPgTable, PgTable } from "../table.cjs";
9
+ import type { SQL } from "../../sql/sql.cjs";
10
10
  import type { PgIndexOpClass } from "../indexes.cjs";
11
11
  export interface ReferenceConfig {
12
12
  ref: () => PgColumn;
@@ -101,8 +101,9 @@ export declare class ExtraConfigColumn<T extends ColumnBaseConfig<ColumnDataType
101
101
  }
102
102
  export declare class IndexedColumn {
103
103
  static readonly [entityKind]: string;
104
- constructor(name: string | undefined, type: string, indexConfig: IndexedExtraConfigType);
104
+ constructor(name: string | undefined, keyAsName: boolean, type: string, indexConfig: IndexedExtraConfigType);
105
105
  name: string | undefined;
106
+ keyAsName: boolean;
106
107
  type: string;
107
108
  indexConfig: IndexedExtraConfigType;
108
109
  }
@@ -4,9 +4,9 @@ import type { ColumnBaseConfig } from "../../column.js";
4
4
  import { Column } from "../../column.js";
5
5
  import { entityKind } from "../../entity.js";
6
6
  import type { Update } from "../../utils.js";
7
- import type { SQL } from "../../index.js";
8
7
  import type { UpdateDeleteAction } from "../foreign-keys.js";
9
8
  import type { AnyPgTable, PgTable } from "../table.js";
9
+ import type { SQL } from "../../sql/sql.js";
10
10
  import type { PgIndexOpClass } from "../indexes.js";
11
11
  export interface ReferenceConfig {
12
12
  ref: () => PgColumn;
@@ -101,8 +101,9 @@ export declare class ExtraConfigColumn<T extends ColumnBaseConfig<ColumnDataType
101
101
  }
102
102
  export declare class IndexedColumn {
103
103
  static readonly [entityKind]: string;
104
- constructor(name: string | undefined, type: string, indexConfig: IndexedExtraConfigType);
104
+ constructor(name: string | undefined, keyAsName: boolean, type: string, indexConfig: IndexedExtraConfigType);
105
105
  name: string | undefined;
106
+ keyAsName: boolean;
106
107
  type: string;
107
108
  indexConfig: IndexedExtraConfigType;
108
109
  }
@@ -133,12 +133,14 @@ class ExtraConfigColumn extends PgColumn {
133
133
  }
134
134
  class IndexedColumn {
135
135
  static [entityKind] = "IndexedColumn";
136
- constructor(name, type, indexConfig) {
136
+ constructor(name, keyAsName, type, indexConfig) {
137
137
  this.name = name;
138
+ this.keyAsName = keyAsName;
138
139
  this.type = type;
139
140
  this.indexConfig = indexConfig;
140
141
  }
141
142
  name;
143
+ keyAsName;
142
144
  type;
143
145
  indexConfig;
144
146
  }