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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1709) hide show
  1. package/_relations.cjs +6 -50
  2. package/_relations.cjs.map +1 -1
  3. package/_relations.d.cts +0 -1
  4. package/_relations.d.ts +0 -1
  5. package/_relations.js +6 -49
  6. package/_relations.js.map +1 -1
  7. package/aws-data-api/common/index.cjs.map +1 -1
  8. package/aws-data-api/common/index.js.map +1 -1
  9. package/aws-data-api/pg/driver.cjs +4 -1
  10. package/aws-data-api/pg/driver.cjs.map +1 -1
  11. package/aws-data-api/pg/driver.d.cts +3 -0
  12. package/aws-data-api/pg/driver.d.ts +3 -0
  13. package/aws-data-api/pg/driver.js +4 -1
  14. package/aws-data-api/pg/driver.js.map +1 -1
  15. package/aws-data-api/pg/session.cjs +9 -2
  16. package/aws-data-api/pg/session.cjs.map +1 -1
  17. package/aws-data-api/pg/session.d.cts +1 -0
  18. package/aws-data-api/pg/session.d.ts +1 -0
  19. package/aws-data-api/pg/session.js +9 -2
  20. package/aws-data-api/pg/session.js.map +1 -1
  21. package/better-sqlite3/driver.cjs +14 -10
  22. package/better-sqlite3/driver.cjs.map +1 -1
  23. package/better-sqlite3/driver.d.cts +3 -3
  24. package/better-sqlite3/driver.d.ts +3 -3
  25. package/better-sqlite3/driver.js +14 -10
  26. package/better-sqlite3/driver.js.map +1 -1
  27. package/bun-sql/driver.cjs.map +1 -1
  28. package/bun-sql/driver.d.cts +8 -8
  29. package/bun-sql/driver.d.ts +8 -8
  30. package/bun-sql/driver.js.map +1 -1
  31. package/bun-sql/mysql/driver.cjs +14 -10
  32. package/bun-sql/mysql/driver.cjs.map +1 -1
  33. package/bun-sql/mysql/driver.d.cts +3 -3
  34. package/bun-sql/mysql/driver.d.ts +3 -3
  35. package/bun-sql/mysql/driver.js +14 -10
  36. package/bun-sql/mysql/driver.js.map +1 -1
  37. package/bun-sql/postgres/driver.cjs +14 -10
  38. package/bun-sql/postgres/driver.cjs.map +1 -1
  39. package/bun-sql/postgres/driver.d.cts +3 -3
  40. package/bun-sql/postgres/driver.d.ts +3 -3
  41. package/bun-sql/postgres/driver.js +14 -10
  42. package/bun-sql/postgres/driver.js.map +1 -1
  43. package/bun-sql/sqlite/driver.cjs +14 -10
  44. package/bun-sql/sqlite/driver.cjs.map +1 -1
  45. package/bun-sql/sqlite/driver.d.cts +3 -3
  46. package/bun-sql/sqlite/driver.d.ts +3 -3
  47. package/bun-sql/sqlite/driver.js +14 -10
  48. package/bun-sql/sqlite/driver.js.map +1 -1
  49. package/bun-sqlite/driver.cjs +15 -11
  50. package/bun-sqlite/driver.cjs.map +1 -1
  51. package/bun-sqlite/driver.d.cts +3 -3
  52. package/bun-sqlite/driver.d.ts +3 -3
  53. package/bun-sqlite/driver.js +15 -11
  54. package/bun-sqlite/driver.js.map +1 -1
  55. package/column-builder.cjs.map +1 -1
  56. package/column-builder.d.cts +8 -9
  57. package/column-builder.d.ts +8 -9
  58. package/column-builder.js.map +1 -1
  59. package/durable-sqlite/session.cjs +3 -6
  60. package/durable-sqlite/session.cjs.map +1 -1
  61. package/durable-sqlite/session.d.cts +2 -1
  62. package/durable-sqlite/session.d.ts +2 -1
  63. package/durable-sqlite/session.js +2 -6
  64. package/durable-sqlite/session.js.map +1 -1
  65. package/entity.cjs.map +1 -1
  66. package/entity.js.map +1 -1
  67. package/gel/driver.cjs +10 -6
  68. package/gel/driver.cjs.map +1 -1
  69. package/gel/driver.d.cts +2 -2
  70. package/gel/driver.d.ts +2 -2
  71. package/gel/driver.js +10 -6
  72. package/gel/driver.js.map +1 -1
  73. package/gel-core/columns/bigint.cjs.map +1 -1
  74. package/gel-core/columns/bigint.d.cts +1 -0
  75. package/gel-core/columns/bigint.d.ts +1 -0
  76. package/gel-core/columns/bigint.js.map +1 -1
  77. package/gel-core/columns/bigintT.cjs.map +1 -1
  78. package/gel-core/columns/bigintT.d.cts +1 -0
  79. package/gel-core/columns/bigintT.d.ts +1 -0
  80. package/gel-core/columns/bigintT.js.map +1 -1
  81. package/gel-core/columns/boolean.cjs.map +1 -1
  82. package/gel-core/columns/boolean.d.cts +1 -0
  83. package/gel-core/columns/boolean.d.ts +1 -0
  84. package/gel-core/columns/boolean.js.map +1 -1
  85. package/gel-core/columns/bytes.cjs.map +1 -1
  86. package/gel-core/columns/bytes.d.cts +1 -0
  87. package/gel-core/columns/bytes.d.ts +1 -0
  88. package/gel-core/columns/bytes.js.map +1 -1
  89. package/gel-core/columns/common.cjs +4 -0
  90. package/gel-core/columns/common.cjs.map +1 -1
  91. package/gel-core/columns/common.d.cts +1 -1
  92. package/gel-core/columns/common.d.ts +1 -1
  93. package/gel-core/columns/common.js +4 -0
  94. package/gel-core/columns/common.js.map +1 -1
  95. package/gel-core/columns/custom.cjs.map +1 -1
  96. package/gel-core/columns/custom.d.cts +1 -0
  97. package/gel-core/columns/custom.d.ts +1 -0
  98. package/gel-core/columns/custom.js.map +1 -1
  99. package/gel-core/columns/date-duration.cjs.map +1 -1
  100. package/gel-core/columns/date-duration.d.cts +1 -0
  101. package/gel-core/columns/date-duration.d.ts +1 -0
  102. package/gel-core/columns/date-duration.js.map +1 -1
  103. package/gel-core/columns/decimal.cjs.map +1 -1
  104. package/gel-core/columns/decimal.d.cts +1 -0
  105. package/gel-core/columns/decimal.d.ts +1 -0
  106. package/gel-core/columns/decimal.js.map +1 -1
  107. package/gel-core/columns/double-precision.cjs.map +1 -1
  108. package/gel-core/columns/double-precision.d.cts +1 -0
  109. package/gel-core/columns/double-precision.d.ts +1 -0
  110. package/gel-core/columns/double-precision.js.map +1 -1
  111. package/gel-core/columns/duration.cjs.map +1 -1
  112. package/gel-core/columns/duration.d.cts +1 -0
  113. package/gel-core/columns/duration.d.ts +1 -0
  114. package/gel-core/columns/duration.js.map +1 -1
  115. package/gel-core/columns/integer.cjs.map +1 -1
  116. package/gel-core/columns/integer.d.cts +1 -0
  117. package/gel-core/columns/integer.d.ts +1 -0
  118. package/gel-core/columns/integer.js.map +1 -1
  119. package/gel-core/columns/json.cjs.map +1 -1
  120. package/gel-core/columns/json.d.cts +1 -0
  121. package/gel-core/columns/json.d.ts +1 -0
  122. package/gel-core/columns/json.js.map +1 -1
  123. package/gel-core/columns/localdate.cjs.map +1 -1
  124. package/gel-core/columns/localdate.d.cts +1 -0
  125. package/gel-core/columns/localdate.d.ts +1 -0
  126. package/gel-core/columns/localdate.js.map +1 -1
  127. package/gel-core/columns/localtime.cjs.map +1 -1
  128. package/gel-core/columns/localtime.d.cts +1 -0
  129. package/gel-core/columns/localtime.d.ts +1 -0
  130. package/gel-core/columns/localtime.js.map +1 -1
  131. package/gel-core/columns/real.cjs.map +1 -1
  132. package/gel-core/columns/real.d.cts +1 -0
  133. package/gel-core/columns/real.d.ts +1 -0
  134. package/gel-core/columns/real.js.map +1 -1
  135. package/gel-core/columns/relative-duration.cjs.map +1 -1
  136. package/gel-core/columns/relative-duration.d.cts +1 -0
  137. package/gel-core/columns/relative-duration.d.ts +1 -0
  138. package/gel-core/columns/relative-duration.js.map +1 -1
  139. package/gel-core/columns/smallint.cjs.map +1 -1
  140. package/gel-core/columns/smallint.d.cts +1 -0
  141. package/gel-core/columns/smallint.d.ts +1 -0
  142. package/gel-core/columns/smallint.js.map +1 -1
  143. package/gel-core/columns/text.cjs.map +1 -1
  144. package/gel-core/columns/text.d.cts +1 -0
  145. package/gel-core/columns/text.d.ts +1 -0
  146. package/gel-core/columns/text.js.map +1 -1
  147. package/gel-core/columns/timestamp.cjs.map +1 -1
  148. package/gel-core/columns/timestamp.d.cts +1 -0
  149. package/gel-core/columns/timestamp.d.ts +1 -0
  150. package/gel-core/columns/timestamp.js.map +1 -1
  151. package/gel-core/columns/timestamptz.cjs.map +1 -1
  152. package/gel-core/columns/timestamptz.d.cts +1 -0
  153. package/gel-core/columns/timestamptz.d.ts +1 -0
  154. package/gel-core/columns/timestamptz.js.map +1 -1
  155. package/gel-core/columns/uuid.cjs.map +1 -1
  156. package/gel-core/columns/uuid.d.cts +1 -0
  157. package/gel-core/columns/uuid.d.ts +1 -0
  158. package/gel-core/columns/uuid.js.map +1 -1
  159. package/gel-core/query-builders/count.cjs.map +1 -1
  160. package/gel-core/query-builders/count.d.cts +1 -1
  161. package/gel-core/query-builders/count.d.ts +1 -1
  162. package/gel-core/query-builders/count.js.map +1 -1
  163. package/gel-core/query-builders/insert.cjs.map +1 -1
  164. package/gel-core/query-builders/insert.d.cts +9 -6
  165. package/gel-core/query-builders/insert.d.ts +9 -6
  166. package/gel-core/query-builders/insert.js.map +1 -1
  167. package/gel-core/query-builders/select.cjs +9 -8
  168. package/gel-core/query-builders/select.cjs.map +1 -1
  169. package/gel-core/query-builders/select.js +4 -4
  170. package/gel-core/query-builders/select.js.map +1 -1
  171. package/gel-core/query-builders/update.cjs +2 -2
  172. package/gel-core/query-builders/update.cjs.map +1 -1
  173. package/gel-core/query-builders/update.d.cts +1 -1
  174. package/gel-core/query-builders/update.d.ts +1 -1
  175. package/gel-core/query-builders/update.js +2 -2
  176. package/gel-core/query-builders/update.js.map +1 -1
  177. package/gel-core/schema.cjs +4 -4
  178. package/gel-core/schema.cjs.map +1 -1
  179. package/gel-core/schema.js +4 -4
  180. package/gel-core/schema.js.map +1 -1
  181. package/gel-core/utils.cjs +2 -1
  182. package/gel-core/utils.cjs.map +1 -1
  183. package/gel-core/utils.d.cts +1 -1
  184. package/gel-core/utils.d.ts +1 -1
  185. package/gel-core/utils.js +2 -1
  186. package/gel-core/utils.js.map +1 -1
  187. package/gel-core/view-common.cjs +0 -3
  188. package/gel-core/view-common.cjs.map +1 -1
  189. package/gel-core/view-common.d.cts +0 -1
  190. package/gel-core/view-common.d.ts +0 -1
  191. package/gel-core/view-common.js +0 -2
  192. package/gel-core/view-common.js.map +1 -1
  193. package/gel-core/view.cjs +5 -2
  194. package/gel-core/view.cjs.map +1 -1
  195. package/gel-core/view.d.cts +2 -1
  196. package/gel-core/view.d.ts +2 -1
  197. package/gel-core/view.js +3 -1
  198. package/gel-core/view.js.map +1 -1
  199. package/libsql/driver.cjs +10 -6
  200. package/libsql/driver.cjs.map +1 -1
  201. package/libsql/driver.d.cts +3 -3
  202. package/libsql/driver.d.ts +3 -3
  203. package/libsql/driver.js +10 -6
  204. package/libsql/driver.js.map +1 -1
  205. package/libsql/http/index.cjs +10 -6
  206. package/libsql/http/index.cjs.map +1 -1
  207. package/libsql/http/index.d.cts +3 -3
  208. package/libsql/http/index.d.ts +3 -3
  209. package/libsql/http/index.js +10 -6
  210. package/libsql/http/index.js.map +1 -1
  211. package/libsql/node/index.cjs +10 -6
  212. package/libsql/node/index.cjs.map +1 -1
  213. package/libsql/node/index.d.cts +3 -3
  214. package/libsql/node/index.d.ts +3 -3
  215. package/libsql/node/index.js +10 -6
  216. package/libsql/node/index.js.map +1 -1
  217. package/libsql/session.cjs.map +1 -1
  218. package/libsql/session.d.cts +1 -1
  219. package/libsql/session.d.ts +1 -1
  220. package/libsql/session.js.map +1 -1
  221. package/libsql/sqlite3/index.cjs +10 -6
  222. package/libsql/sqlite3/index.cjs.map +1 -1
  223. package/libsql/sqlite3/index.d.cts +3 -3
  224. package/libsql/sqlite3/index.d.ts +3 -3
  225. package/libsql/sqlite3/index.js +10 -6
  226. package/libsql/sqlite3/index.js.map +1 -1
  227. package/libsql/wasm/index.cjs +10 -6
  228. package/libsql/wasm/index.cjs.map +1 -1
  229. package/libsql/wasm/index.d.cts +3 -3
  230. package/libsql/wasm/index.d.ts +3 -3
  231. package/libsql/wasm/index.js +10 -6
  232. package/libsql/wasm/index.js.map +1 -1
  233. package/libsql/web/index.cjs +10 -6
  234. package/libsql/web/index.cjs.map +1 -1
  235. package/libsql/web/index.d.cts +3 -3
  236. package/libsql/web/index.d.ts +3 -3
  237. package/libsql/web/index.js +10 -6
  238. package/libsql/web/index.js.map +1 -1
  239. package/libsql/ws/index.cjs +10 -6
  240. package/libsql/ws/index.cjs.map +1 -1
  241. package/libsql/ws/index.d.cts +3 -3
  242. package/libsql/ws/index.d.ts +3 -3
  243. package/libsql/ws/index.js +10 -6
  244. package/libsql/ws/index.js.map +1 -1
  245. package/mysql-core/columns/all.cjs +1 -6
  246. package/mysql-core/columns/all.cjs.map +1 -1
  247. package/mysql-core/columns/all.d.cts +0 -5
  248. package/mysql-core/columns/all.d.ts +0 -5
  249. package/mysql-core/columns/all.js +1 -6
  250. package/mysql-core/columns/all.js.map +1 -1
  251. package/mysql-core/columns/bigint.cjs.map +1 -1
  252. package/mysql-core/columns/bigint.d.cts +2 -0
  253. package/mysql-core/columns/bigint.d.ts +2 -0
  254. package/mysql-core/columns/bigint.js.map +1 -1
  255. package/mysql-core/columns/binary.cjs +1 -0
  256. package/mysql-core/columns/binary.cjs.map +1 -1
  257. package/mysql-core/columns/binary.d.cts +2 -0
  258. package/mysql-core/columns/binary.d.ts +2 -0
  259. package/mysql-core/columns/binary.js +1 -0
  260. package/mysql-core/columns/binary.js.map +1 -1
  261. package/mysql-core/columns/boolean.cjs.map +1 -1
  262. package/mysql-core/columns/boolean.d.cts +1 -0
  263. package/mysql-core/columns/boolean.d.ts +1 -0
  264. package/mysql-core/columns/boolean.js.map +1 -1
  265. package/mysql-core/columns/char.cjs +4 -3
  266. package/mysql-core/columns/char.cjs.map +1 -1
  267. package/mysql-core/columns/char.d.cts +5 -3
  268. package/mysql-core/columns/char.d.ts +5 -3
  269. package/mysql-core/columns/char.js +4 -3
  270. package/mysql-core/columns/char.js.map +1 -1
  271. package/mysql-core/columns/common.cjs +4 -0
  272. package/mysql-core/columns/common.cjs.map +1 -1
  273. package/mysql-core/columns/common.d.cts +1 -1
  274. package/mysql-core/columns/common.d.ts +1 -1
  275. package/mysql-core/columns/common.js +4 -0
  276. package/mysql-core/columns/common.js.map +1 -1
  277. package/mysql-core/columns/custom.cjs.map +1 -1
  278. package/mysql-core/columns/custom.d.cts +1 -0
  279. package/mysql-core/columns/custom.d.ts +1 -0
  280. package/mysql-core/columns/custom.js.map +1 -1
  281. package/mysql-core/columns/date.cjs.map +1 -1
  282. package/mysql-core/columns/date.common.cjs +1 -3
  283. package/mysql-core/columns/date.common.cjs.map +1 -1
  284. package/mysql-core/columns/date.common.d.cts +1 -6
  285. package/mysql-core/columns/date.common.d.ts +1 -6
  286. package/mysql-core/columns/date.common.js +1 -3
  287. package/mysql-core/columns/date.common.js.map +1 -1
  288. package/mysql-core/columns/date.d.cts +2 -0
  289. package/mysql-core/columns/date.d.ts +2 -0
  290. package/mysql-core/columns/date.js.map +1 -1
  291. package/mysql-core/columns/datetime.cjs.map +1 -1
  292. package/mysql-core/columns/datetime.d.cts +2 -0
  293. package/mysql-core/columns/datetime.d.ts +2 -0
  294. package/mysql-core/columns/datetime.js.map +1 -1
  295. package/mysql-core/columns/decimal.cjs.map +1 -1
  296. package/mysql-core/columns/decimal.d.cts +3 -0
  297. package/mysql-core/columns/decimal.d.ts +3 -0
  298. package/mysql-core/columns/decimal.js.map +1 -1
  299. package/mysql-core/columns/double.cjs.map +1 -1
  300. package/mysql-core/columns/double.d.cts +1 -0
  301. package/mysql-core/columns/double.d.ts +1 -0
  302. package/mysql-core/columns/double.js.map +1 -1
  303. package/mysql-core/columns/enum.cjs +5 -5
  304. package/mysql-core/columns/enum.cjs.map +1 -1
  305. package/mysql-core/columns/enum.d.cts +7 -5
  306. package/mysql-core/columns/enum.d.ts +7 -5
  307. package/mysql-core/columns/enum.js +5 -5
  308. package/mysql-core/columns/enum.js.map +1 -1
  309. package/mysql-core/columns/float.cjs.map +1 -1
  310. package/mysql-core/columns/float.d.cts +1 -0
  311. package/mysql-core/columns/float.d.ts +1 -0
  312. package/mysql-core/columns/float.js.map +1 -1
  313. package/mysql-core/columns/index.cjs +0 -2
  314. package/mysql-core/columns/index.cjs.map +1 -1
  315. package/mysql-core/columns/index.d.cts +0 -1
  316. package/mysql-core/columns/index.d.ts +0 -1
  317. package/mysql-core/columns/index.js +0 -1
  318. package/mysql-core/columns/index.js.map +1 -1
  319. package/mysql-core/columns/int.cjs.map +1 -1
  320. package/mysql-core/columns/int.d.cts +1 -0
  321. package/mysql-core/columns/int.d.ts +1 -0
  322. package/mysql-core/columns/int.js.map +1 -1
  323. package/mysql-core/columns/json.cjs.map +1 -1
  324. package/mysql-core/columns/json.d.cts +1 -0
  325. package/mysql-core/columns/json.d.ts +1 -0
  326. package/mysql-core/columns/json.js.map +1 -1
  327. package/mysql-core/columns/mediumint.cjs.map +1 -1
  328. package/mysql-core/columns/mediumint.d.cts +1 -0
  329. package/mysql-core/columns/mediumint.d.ts +1 -0
  330. package/mysql-core/columns/mediumint.js.map +1 -1
  331. package/mysql-core/columns/real.cjs.map +1 -1
  332. package/mysql-core/columns/real.d.cts +1 -0
  333. package/mysql-core/columns/real.d.ts +1 -0
  334. package/mysql-core/columns/real.js.map +1 -1
  335. package/mysql-core/columns/serial.cjs.map +1 -1
  336. package/mysql-core/columns/serial.d.cts +1 -0
  337. package/mysql-core/columns/serial.d.ts +1 -0
  338. package/mysql-core/columns/serial.js.map +1 -1
  339. package/mysql-core/columns/smallint.cjs.map +1 -1
  340. package/mysql-core/columns/smallint.d.cts +1 -0
  341. package/mysql-core/columns/smallint.d.ts +1 -0
  342. package/mysql-core/columns/smallint.js.map +1 -1
  343. package/mysql-core/columns/text.cjs +3 -3
  344. package/mysql-core/columns/text.cjs.map +1 -1
  345. package/mysql-core/columns/text.d.cts +4 -3
  346. package/mysql-core/columns/text.d.ts +4 -3
  347. package/mysql-core/columns/text.js +3 -3
  348. package/mysql-core/columns/text.js.map +1 -1
  349. package/mysql-core/columns/time.cjs.map +1 -1
  350. package/mysql-core/columns/time.d.cts +1 -0
  351. package/mysql-core/columns/time.d.ts +1 -0
  352. package/mysql-core/columns/time.js.map +1 -1
  353. package/mysql-core/columns/timestamp.cjs.map +1 -1
  354. package/mysql-core/columns/timestamp.d.cts +2 -0
  355. package/mysql-core/columns/timestamp.d.ts +2 -0
  356. package/mysql-core/columns/timestamp.js.map +1 -1
  357. package/mysql-core/columns/tinyint.cjs.map +1 -1
  358. package/mysql-core/columns/tinyint.d.cts +1 -0
  359. package/mysql-core/columns/tinyint.d.ts +1 -0
  360. package/mysql-core/columns/tinyint.js.map +1 -1
  361. package/mysql-core/columns/varbinary.cjs.map +1 -1
  362. package/mysql-core/columns/varbinary.d.cts +1 -0
  363. package/mysql-core/columns/varbinary.d.ts +1 -0
  364. package/mysql-core/columns/varbinary.js.map +1 -1
  365. package/mysql-core/columns/varchar.cjs +4 -4
  366. package/mysql-core/columns/varchar.cjs.map +1 -1
  367. package/mysql-core/columns/varchar.d.cts +5 -4
  368. package/mysql-core/columns/varchar.d.ts +5 -4
  369. package/mysql-core/columns/varchar.js +4 -4
  370. package/mysql-core/columns/varchar.js.map +1 -1
  371. package/mysql-core/columns/year.cjs.map +1 -1
  372. package/mysql-core/columns/year.d.cts +1 -0
  373. package/mysql-core/columns/year.d.ts +1 -0
  374. package/mysql-core/columns/year.js.map +1 -1
  375. package/mysql-core/dialect.cjs +0 -3
  376. package/mysql-core/dialect.cjs.map +1 -1
  377. package/mysql-core/dialect.d.cts +0 -1
  378. package/mysql-core/dialect.d.ts +0 -1
  379. package/mysql-core/dialect.js +0 -3
  380. package/mysql-core/dialect.js.map +1 -1
  381. package/mysql-core/foreign-keys.cjs +0 -3
  382. package/mysql-core/foreign-keys.cjs.map +1 -1
  383. package/mysql-core/foreign-keys.d.cts +0 -1
  384. package/mysql-core/foreign-keys.d.ts +0 -1
  385. package/mysql-core/foreign-keys.js +0 -3
  386. package/mysql-core/foreign-keys.js.map +1 -1
  387. package/mysql-core/indexes.cjs +0 -2
  388. package/mysql-core/indexes.cjs.map +1 -1
  389. package/mysql-core/indexes.d.cts +0 -1
  390. package/mysql-core/indexes.d.ts +0 -1
  391. package/mysql-core/indexes.js +0 -2
  392. package/mysql-core/indexes.js.map +1 -1
  393. package/mysql-core/primary-keys.cjs +13 -4
  394. package/mysql-core/primary-keys.cjs.map +1 -1
  395. package/mysql-core/primary-keys.d.cts +6 -3
  396. package/mysql-core/primary-keys.d.ts +6 -3
  397. package/mysql-core/primary-keys.js +13 -4
  398. package/mysql-core/primary-keys.js.map +1 -1
  399. package/mysql-core/query-builders/count.cjs.map +1 -1
  400. package/mysql-core/query-builders/count.d.cts +1 -1
  401. package/mysql-core/query-builders/count.d.ts +1 -1
  402. package/mysql-core/query-builders/count.js.map +1 -1
  403. package/mysql-core/query-builders/insert.cjs.map +1 -1
  404. package/mysql-core/query-builders/insert.d.cts +2 -2
  405. package/mysql-core/query-builders/insert.d.ts +2 -2
  406. package/mysql-core/query-builders/insert.js.map +1 -1
  407. package/mysql-core/query-builders/select.cjs +2 -2
  408. package/mysql-core/query-builders/select.cjs.map +1 -1
  409. package/mysql-core/query-builders/select.js +2 -2
  410. package/mysql-core/query-builders/select.js.map +1 -1
  411. package/mysql-core/query-builders/update.cjs.map +1 -1
  412. package/mysql-core/query-builders/update.d.cts +1 -1
  413. package/mysql-core/query-builders/update.d.ts +1 -1
  414. package/mysql-core/query-builders/update.js.map +1 -1
  415. package/mysql-core/schema.cjs +2 -2
  416. package/mysql-core/schema.cjs.map +1 -1
  417. package/mysql-core/schema.js +2 -2
  418. package/mysql-core/schema.js.map +1 -1
  419. package/mysql-core/unique-constraint.cjs +0 -2
  420. package/mysql-core/unique-constraint.cjs.map +1 -1
  421. package/mysql-core/unique-constraint.d.cts +2 -3
  422. package/mysql-core/unique-constraint.d.ts +2 -3
  423. package/mysql-core/unique-constraint.js +0 -2
  424. package/mysql-core/unique-constraint.js.map +1 -1
  425. package/mysql-proxy/driver.cjs +2 -2
  426. package/mysql-proxy/driver.cjs.map +1 -1
  427. package/mysql-proxy/driver.d.cts +1 -2
  428. package/mysql-proxy/driver.d.ts +1 -2
  429. package/mysql-proxy/driver.js +2 -2
  430. package/mysql-proxy/driver.js.map +1 -1
  431. package/mysql2/driver.cjs +14 -10
  432. package/mysql2/driver.cjs.map +1 -1
  433. package/mysql2/driver.d.cts +3 -3
  434. package/mysql2/driver.d.ts +3 -3
  435. package/mysql2/driver.js +14 -10
  436. package/mysql2/driver.js.map +1 -1
  437. package/mysql2/session.cjs.map +1 -1
  438. package/mysql2/session.js.map +1 -1
  439. package/neon-http/driver.cjs +14 -10
  440. package/neon-http/driver.cjs.map +1 -1
  441. package/neon-http/driver.d.cts +3 -3
  442. package/neon-http/driver.d.ts +3 -3
  443. package/neon-http/driver.js +14 -10
  444. package/neon-http/driver.js.map +1 -1
  445. package/neon-http/session.cjs.map +1 -1
  446. package/neon-http/session.d.cts +1 -1
  447. package/neon-http/session.d.ts +1 -1
  448. package/neon-http/session.js.map +1 -1
  449. package/neon-serverless/driver.cjs +14 -10
  450. package/neon-serverless/driver.cjs.map +1 -1
  451. package/neon-serverless/driver.d.cts +3 -3
  452. package/neon-serverless/driver.d.ts +3 -3
  453. package/neon-serverless/driver.js +14 -10
  454. package/neon-serverless/driver.js.map +1 -1
  455. package/neon-serverless/session.cjs.map +1 -1
  456. package/neon-serverless/session.js.map +1 -1
  457. package/node-postgres/driver.cjs +12 -8
  458. package/node-postgres/driver.cjs.map +1 -1
  459. package/node-postgres/driver.d.cts +3 -3
  460. package/node-postgres/driver.d.ts +3 -3
  461. package/node-postgres/driver.js +12 -8
  462. package/node-postgres/driver.js.map +1 -1
  463. package/node-postgres/session.cjs.map +1 -1
  464. package/node-postgres/session.js.map +1 -1
  465. package/package.json +37 -1503
  466. package/pg-core/columns/bigint.cjs.map +1 -1
  467. package/pg-core/columns/bigint.d.cts +2 -0
  468. package/pg-core/columns/bigint.d.ts +2 -0
  469. package/pg-core/columns/bigint.js.map +1 -1
  470. package/pg-core/columns/bigserial.cjs +0 -1
  471. package/pg-core/columns/bigserial.cjs.map +1 -1
  472. package/pg-core/columns/bigserial.d.cts +2 -0
  473. package/pg-core/columns/bigserial.d.ts +2 -0
  474. package/pg-core/columns/bigserial.js +0 -1
  475. package/pg-core/columns/bigserial.js.map +1 -1
  476. package/pg-core/columns/boolean.cjs.map +1 -1
  477. package/pg-core/columns/boolean.d.cts +1 -0
  478. package/pg-core/columns/boolean.d.ts +1 -0
  479. package/pg-core/columns/boolean.js.map +1 -1
  480. package/pg-core/columns/bytea.cjs.map +1 -1
  481. package/pg-core/columns/bytea.d.cts +1 -0
  482. package/pg-core/columns/bytea.d.ts +1 -0
  483. package/pg-core/columns/bytea.js.map +1 -1
  484. package/pg-core/columns/char.cjs +1 -0
  485. package/pg-core/columns/char.cjs.map +1 -1
  486. package/pg-core/columns/char.d.cts +2 -0
  487. package/pg-core/columns/char.d.ts +2 -0
  488. package/pg-core/columns/char.js +1 -0
  489. package/pg-core/columns/char.js.map +1 -1
  490. package/pg-core/columns/cidr.cjs.map +1 -1
  491. package/pg-core/columns/cidr.d.cts +1 -0
  492. package/pg-core/columns/cidr.d.ts +1 -0
  493. package/pg-core/columns/cidr.js.map +1 -1
  494. package/pg-core/columns/common.cjs +14 -10
  495. package/pg-core/columns/common.cjs.map +1 -1
  496. package/pg-core/columns/common.d.cts +3 -4
  497. package/pg-core/columns/common.d.ts +3 -4
  498. package/pg-core/columns/common.js +14 -10
  499. package/pg-core/columns/common.js.map +1 -1
  500. package/pg-core/columns/custom.cjs.map +1 -1
  501. package/pg-core/columns/custom.d.cts +1 -0
  502. package/pg-core/columns/custom.d.ts +1 -0
  503. package/pg-core/columns/custom.js.map +1 -1
  504. package/pg-core/columns/date.cjs.map +1 -1
  505. package/pg-core/columns/date.d.cts +2 -0
  506. package/pg-core/columns/date.d.ts +2 -0
  507. package/pg-core/columns/date.js.map +1 -1
  508. package/pg-core/columns/double-precision.cjs.map +1 -1
  509. package/pg-core/columns/double-precision.d.cts +1 -0
  510. package/pg-core/columns/double-precision.d.ts +1 -0
  511. package/pg-core/columns/double-precision.js.map +1 -1
  512. package/pg-core/columns/enum.cjs.map +1 -1
  513. package/pg-core/columns/enum.d.cts +2 -0
  514. package/pg-core/columns/enum.d.ts +2 -0
  515. package/pg-core/columns/enum.js.map +1 -1
  516. package/pg-core/columns/inet.cjs.map +1 -1
  517. package/pg-core/columns/inet.d.cts +1 -0
  518. package/pg-core/columns/inet.d.ts +1 -0
  519. package/pg-core/columns/inet.js.map +1 -1
  520. package/pg-core/columns/integer.cjs.map +1 -1
  521. package/pg-core/columns/integer.d.cts +1 -0
  522. package/pg-core/columns/integer.d.ts +1 -0
  523. package/pg-core/columns/integer.js.map +1 -1
  524. package/pg-core/columns/interval.cjs.map +1 -1
  525. package/pg-core/columns/interval.d.cts +1 -0
  526. package/pg-core/columns/interval.d.ts +1 -0
  527. package/pg-core/columns/interval.js.map +1 -1
  528. package/pg-core/columns/json.cjs.map +1 -1
  529. package/pg-core/columns/json.d.cts +1 -0
  530. package/pg-core/columns/json.d.ts +1 -0
  531. package/pg-core/columns/json.js.map +1 -1
  532. package/pg-core/columns/jsonb.cjs.map +1 -1
  533. package/pg-core/columns/jsonb.d.cts +1 -0
  534. package/pg-core/columns/jsonb.d.ts +1 -0
  535. package/pg-core/columns/jsonb.js.map +1 -1
  536. package/pg-core/columns/line.cjs +0 -2
  537. package/pg-core/columns/line.cjs.map +1 -1
  538. package/pg-core/columns/line.d.cts +2 -2
  539. package/pg-core/columns/line.d.ts +2 -2
  540. package/pg-core/columns/line.js +0 -2
  541. package/pg-core/columns/line.js.map +1 -1
  542. package/pg-core/columns/macaddr.cjs.map +1 -1
  543. package/pg-core/columns/macaddr.d.cts +1 -0
  544. package/pg-core/columns/macaddr.d.ts +1 -0
  545. package/pg-core/columns/macaddr.js.map +1 -1
  546. package/pg-core/columns/macaddr8.cjs.map +1 -1
  547. package/pg-core/columns/macaddr8.d.cts +1 -0
  548. package/pg-core/columns/macaddr8.d.ts +1 -0
  549. package/pg-core/columns/macaddr8.js.map +1 -1
  550. package/pg-core/columns/numeric.cjs.map +1 -1
  551. package/pg-core/columns/numeric.d.cts +3 -0
  552. package/pg-core/columns/numeric.d.ts +3 -0
  553. package/pg-core/columns/numeric.js.map +1 -1
  554. package/pg-core/columns/point.cjs +0 -2
  555. package/pg-core/columns/point.cjs.map +1 -1
  556. package/pg-core/columns/point.d.cts +2 -2
  557. package/pg-core/columns/point.d.ts +2 -2
  558. package/pg-core/columns/point.js +0 -2
  559. package/pg-core/columns/point.js.map +1 -1
  560. package/pg-core/columns/postgis_extension/geometry.cjs +8 -14
  561. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  562. package/pg-core/columns/postgis_extension/geometry.d.cts +6 -16
  563. package/pg-core/columns/postgis_extension/geometry.d.ts +6 -16
  564. package/pg-core/columns/postgis_extension/geometry.js +8 -14
  565. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  566. package/pg-core/columns/postgis_extension/utils.cjs +3 -3
  567. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  568. package/pg-core/columns/postgis_extension/utils.d.cts +1 -4
  569. package/pg-core/columns/postgis_extension/utils.d.ts +1 -4
  570. package/pg-core/columns/postgis_extension/utils.js +3 -3
  571. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  572. package/pg-core/columns/real.cjs.map +1 -1
  573. package/pg-core/columns/real.d.cts +1 -0
  574. package/pg-core/columns/real.d.ts +1 -0
  575. package/pg-core/columns/real.js.map +1 -1
  576. package/pg-core/columns/serial.cjs.map +1 -1
  577. package/pg-core/columns/serial.d.cts +1 -0
  578. package/pg-core/columns/serial.d.ts +1 -0
  579. package/pg-core/columns/serial.js.map +1 -1
  580. package/pg-core/columns/smallint.cjs.map +1 -1
  581. package/pg-core/columns/smallint.d.cts +1 -0
  582. package/pg-core/columns/smallint.d.ts +1 -0
  583. package/pg-core/columns/smallint.js.map +1 -1
  584. package/pg-core/columns/smallserial.cjs.map +1 -1
  585. package/pg-core/columns/smallserial.d.cts +1 -0
  586. package/pg-core/columns/smallserial.d.ts +1 -0
  587. package/pg-core/columns/smallserial.js.map +1 -1
  588. package/pg-core/columns/text.cjs.map +1 -1
  589. package/pg-core/columns/text.d.cts +1 -0
  590. package/pg-core/columns/text.d.ts +1 -0
  591. package/pg-core/columns/text.js.map +1 -1
  592. package/pg-core/columns/time.cjs.map +1 -1
  593. package/pg-core/columns/time.d.cts +1 -0
  594. package/pg-core/columns/time.d.ts +1 -0
  595. package/pg-core/columns/time.js.map +1 -1
  596. package/pg-core/columns/timestamp.cjs.map +1 -1
  597. package/pg-core/columns/timestamp.d.cts +2 -0
  598. package/pg-core/columns/timestamp.d.ts +2 -0
  599. package/pg-core/columns/timestamp.js.map +1 -1
  600. package/pg-core/columns/uuid.cjs.map +1 -1
  601. package/pg-core/columns/uuid.d.cts +1 -0
  602. package/pg-core/columns/uuid.d.ts +1 -0
  603. package/pg-core/columns/uuid.js.map +1 -1
  604. package/pg-core/columns/varchar.cjs.map +1 -1
  605. package/pg-core/columns/varchar.d.cts +1 -0
  606. package/pg-core/columns/varchar.d.ts +1 -0
  607. package/pg-core/columns/varchar.js.map +1 -1
  608. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  609. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  610. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  611. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  612. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  613. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  614. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  615. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  616. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  617. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  618. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  619. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  620. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  621. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  622. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  623. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  624. package/pg-core/db.cjs +3 -2
  625. package/pg-core/db.cjs.map +1 -1
  626. package/pg-core/db.d.cts +1 -1
  627. package/pg-core/db.d.ts +1 -1
  628. package/pg-core/db.js +3 -2
  629. package/pg-core/db.js.map +1 -1
  630. package/pg-core/foreign-keys.cjs +0 -4
  631. package/pg-core/foreign-keys.cjs.map +1 -1
  632. package/pg-core/foreign-keys.d.cts +0 -2
  633. package/pg-core/foreign-keys.d.ts +0 -2
  634. package/pg-core/foreign-keys.js +0 -4
  635. package/pg-core/foreign-keys.js.map +1 -1
  636. package/pg-core/indexes.cjs +0 -2
  637. package/pg-core/indexes.cjs.map +1 -1
  638. package/pg-core/indexes.d.cts +0 -1
  639. package/pg-core/indexes.d.ts +0 -1
  640. package/pg-core/indexes.js +0 -2
  641. package/pg-core/indexes.js.map +1 -1
  642. package/pg-core/primary-keys.cjs +0 -2
  643. package/pg-core/primary-keys.cjs.map +1 -1
  644. package/pg-core/primary-keys.d.cts +0 -1
  645. package/pg-core/primary-keys.d.ts +0 -1
  646. package/pg-core/primary-keys.js +0 -2
  647. package/pg-core/primary-keys.js.map +1 -1
  648. package/pg-core/query-builders/count.cjs.map +1 -1
  649. package/pg-core/query-builders/count.d.cts +1 -1
  650. package/pg-core/query-builders/count.d.ts +1 -1
  651. package/pg-core/query-builders/count.js.map +1 -1
  652. package/pg-core/query-builders/insert.cjs.map +1 -1
  653. package/pg-core/query-builders/insert.d.cts +9 -6
  654. package/pg-core/query-builders/insert.d.ts +9 -6
  655. package/pg-core/query-builders/insert.js.map +1 -1
  656. package/pg-core/query-builders/query.cjs +9 -5
  657. package/pg-core/query-builders/query.cjs.map +1 -1
  658. package/pg-core/query-builders/query.d.cts +4 -2
  659. package/pg-core/query-builders/query.d.ts +4 -2
  660. package/pg-core/query-builders/query.js +9 -5
  661. package/pg-core/query-builders/query.js.map +1 -1
  662. package/pg-core/query-builders/select.cjs +9 -8
  663. package/pg-core/query-builders/select.cjs.map +1 -1
  664. package/pg-core/query-builders/select.js +4 -4
  665. package/pg-core/query-builders/select.js.map +1 -1
  666. package/pg-core/query-builders/update.cjs +2 -2
  667. package/pg-core/query-builders/update.cjs.map +1 -1
  668. package/pg-core/query-builders/update.d.cts +1 -1
  669. package/pg-core/query-builders/update.d.ts +1 -1
  670. package/pg-core/query-builders/update.js +2 -2
  671. package/pg-core/query-builders/update.js.map +1 -1
  672. package/pg-core/schema.cjs +8 -8
  673. package/pg-core/schema.cjs.map +1 -1
  674. package/pg-core/schema.js +8 -8
  675. package/pg-core/schema.js.map +1 -1
  676. package/pg-core/unique-constraint.cjs +0 -2
  677. package/pg-core/unique-constraint.cjs.map +1 -1
  678. package/pg-core/unique-constraint.d.cts +0 -1
  679. package/pg-core/unique-constraint.d.ts +0 -1
  680. package/pg-core/unique-constraint.js +0 -2
  681. package/pg-core/unique-constraint.js.map +1 -1
  682. package/pg-core/utils.cjs +2 -1
  683. package/pg-core/utils.cjs.map +1 -1
  684. package/pg-core/utils.d.cts +1 -1
  685. package/pg-core/utils.d.ts +1 -1
  686. package/pg-core/utils.js +2 -1
  687. package/pg-core/utils.js.map +1 -1
  688. package/pg-core/view-common.cjs +0 -3
  689. package/pg-core/view-common.cjs.map +1 -1
  690. package/pg-core/view-common.d.cts +0 -1
  691. package/pg-core/view-common.d.ts +0 -1
  692. package/pg-core/view-common.js +0 -2
  693. package/pg-core/view-common.js.map +1 -1
  694. package/pg-core/view.cjs +5 -2
  695. package/pg-core/view.cjs.map +1 -1
  696. package/pg-core/view.d.cts +2 -1
  697. package/pg-core/view.d.ts +2 -1
  698. package/pg-core/view.js +3 -1
  699. package/pg-core/view.js.map +1 -1
  700. package/pglite/driver.cjs +14 -10
  701. package/pglite/driver.cjs.map +1 -1
  702. package/pglite/driver.d.cts +3 -3
  703. package/pglite/driver.d.ts +3 -3
  704. package/pglite/driver.js +14 -10
  705. package/pglite/driver.js.map +1 -1
  706. package/planetscale-serverless/driver.cjs +15 -11
  707. package/planetscale-serverless/driver.cjs.map +1 -1
  708. package/planetscale-serverless/driver.d.cts +3 -3
  709. package/planetscale-serverless/driver.d.ts +3 -3
  710. package/planetscale-serverless/driver.js +15 -11
  711. package/planetscale-serverless/driver.js.map +1 -1
  712. package/postgres-js/driver.cjs +14 -10
  713. package/postgres-js/driver.cjs.map +1 -1
  714. package/postgres-js/driver.d.cts +3 -3
  715. package/postgres-js/driver.d.ts +3 -3
  716. package/postgres-js/driver.js +14 -10
  717. package/postgres-js/driver.js.map +1 -1
  718. package/singlestore/driver.cjs +26 -19
  719. package/singlestore/driver.cjs.map +1 -1
  720. package/singlestore/driver.d.cts +3 -3
  721. package/singlestore/driver.d.ts +3 -3
  722. package/singlestore/driver.js +26 -19
  723. package/singlestore/driver.js.map +1 -1
  724. package/singlestore/session.cjs.map +1 -1
  725. package/singlestore/session.js.map +1 -1
  726. package/singlestore-core/columns/bigint.cjs.map +1 -1
  727. package/singlestore-core/columns/bigint.d.cts +2 -0
  728. package/singlestore-core/columns/bigint.d.ts +2 -0
  729. package/singlestore-core/columns/bigint.js.map +1 -1
  730. package/singlestore-core/columns/binary.cjs +1 -0
  731. package/singlestore-core/columns/binary.cjs.map +1 -1
  732. package/singlestore-core/columns/binary.d.cts +2 -0
  733. package/singlestore-core/columns/binary.d.ts +2 -0
  734. package/singlestore-core/columns/binary.js +1 -0
  735. package/singlestore-core/columns/binary.js.map +1 -1
  736. package/singlestore-core/columns/boolean.cjs.map +1 -1
  737. package/singlestore-core/columns/boolean.d.cts +1 -0
  738. package/singlestore-core/columns/boolean.d.ts +1 -0
  739. package/singlestore-core/columns/boolean.js.map +1 -1
  740. package/singlestore-core/columns/char.cjs +1 -0
  741. package/singlestore-core/columns/char.cjs.map +1 -1
  742. package/singlestore-core/columns/char.d.cts +2 -0
  743. package/singlestore-core/columns/char.d.ts +2 -0
  744. package/singlestore-core/columns/char.js +1 -0
  745. package/singlestore-core/columns/char.js.map +1 -1
  746. package/singlestore-core/columns/common.cjs +4 -0
  747. package/singlestore-core/columns/common.cjs.map +1 -1
  748. package/singlestore-core/columns/common.d.cts +1 -1
  749. package/singlestore-core/columns/common.d.ts +1 -1
  750. package/singlestore-core/columns/common.js +4 -0
  751. package/singlestore-core/columns/common.js.map +1 -1
  752. package/singlestore-core/columns/custom.cjs.map +1 -1
  753. package/singlestore-core/columns/custom.d.cts +1 -0
  754. package/singlestore-core/columns/custom.d.ts +1 -0
  755. package/singlestore-core/columns/custom.js.map +1 -1
  756. package/singlestore-core/columns/date.cjs.map +1 -1
  757. package/singlestore-core/columns/date.d.cts +2 -0
  758. package/singlestore-core/columns/date.d.ts +2 -0
  759. package/singlestore-core/columns/date.js.map +1 -1
  760. package/singlestore-core/columns/datetime.cjs.map +1 -1
  761. package/singlestore-core/columns/datetime.d.cts +2 -0
  762. package/singlestore-core/columns/datetime.d.ts +2 -0
  763. package/singlestore-core/columns/datetime.js.map +1 -1
  764. package/singlestore-core/columns/decimal.cjs.map +1 -1
  765. package/singlestore-core/columns/decimal.d.cts +3 -0
  766. package/singlestore-core/columns/decimal.d.ts +3 -0
  767. package/singlestore-core/columns/decimal.js.map +1 -1
  768. package/singlestore-core/columns/double.cjs.map +1 -1
  769. package/singlestore-core/columns/double.d.cts +1 -0
  770. package/singlestore-core/columns/double.d.ts +1 -0
  771. package/singlestore-core/columns/double.js.map +1 -1
  772. package/singlestore-core/columns/enum.cjs.map +1 -1
  773. package/singlestore-core/columns/enum.d.cts +1 -0
  774. package/singlestore-core/columns/enum.d.ts +1 -0
  775. package/singlestore-core/columns/enum.js.map +1 -1
  776. package/singlestore-core/columns/float.cjs.map +1 -1
  777. package/singlestore-core/columns/float.d.cts +1 -0
  778. package/singlestore-core/columns/float.d.ts +1 -0
  779. package/singlestore-core/columns/float.js.map +1 -1
  780. package/singlestore-core/columns/int.cjs.map +1 -1
  781. package/singlestore-core/columns/int.d.cts +1 -0
  782. package/singlestore-core/columns/int.d.ts +1 -0
  783. package/singlestore-core/columns/int.js.map +1 -1
  784. package/singlestore-core/columns/json.cjs.map +1 -1
  785. package/singlestore-core/columns/json.d.cts +1 -0
  786. package/singlestore-core/columns/json.d.ts +1 -0
  787. package/singlestore-core/columns/json.js.map +1 -1
  788. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  789. package/singlestore-core/columns/mediumint.d.cts +1 -0
  790. package/singlestore-core/columns/mediumint.d.ts +1 -0
  791. package/singlestore-core/columns/mediumint.js.map +1 -1
  792. package/singlestore-core/columns/real.cjs.map +1 -1
  793. package/singlestore-core/columns/real.d.cts +1 -0
  794. package/singlestore-core/columns/real.d.ts +1 -0
  795. package/singlestore-core/columns/real.js.map +1 -1
  796. package/singlestore-core/columns/serial.cjs.map +1 -1
  797. package/singlestore-core/columns/serial.d.cts +1 -0
  798. package/singlestore-core/columns/serial.d.ts +1 -0
  799. package/singlestore-core/columns/serial.js.map +1 -1
  800. package/singlestore-core/columns/smallint.cjs.map +1 -1
  801. package/singlestore-core/columns/smallint.d.cts +1 -0
  802. package/singlestore-core/columns/smallint.d.ts +1 -0
  803. package/singlestore-core/columns/smallint.js.map +1 -1
  804. package/singlestore-core/columns/text.cjs.map +1 -1
  805. package/singlestore-core/columns/text.d.cts +1 -0
  806. package/singlestore-core/columns/text.d.ts +1 -0
  807. package/singlestore-core/columns/text.js.map +1 -1
  808. package/singlestore-core/columns/time.cjs.map +1 -1
  809. package/singlestore-core/columns/time.d.cts +1 -0
  810. package/singlestore-core/columns/time.d.ts +1 -0
  811. package/singlestore-core/columns/time.js.map +1 -1
  812. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  813. package/singlestore-core/columns/timestamp.d.cts +2 -0
  814. package/singlestore-core/columns/timestamp.d.ts +2 -0
  815. package/singlestore-core/columns/timestamp.js.map +1 -1
  816. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  817. package/singlestore-core/columns/tinyint.d.cts +1 -0
  818. package/singlestore-core/columns/tinyint.d.ts +1 -0
  819. package/singlestore-core/columns/tinyint.js.map +1 -1
  820. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  821. package/singlestore-core/columns/varbinary.d.cts +1 -0
  822. package/singlestore-core/columns/varbinary.d.ts +1 -0
  823. package/singlestore-core/columns/varbinary.js.map +1 -1
  824. package/singlestore-core/columns/varchar.cjs.map +1 -1
  825. package/singlestore-core/columns/varchar.d.cts +1 -0
  826. package/singlestore-core/columns/varchar.d.ts +1 -0
  827. package/singlestore-core/columns/varchar.js.map +1 -1
  828. package/singlestore-core/columns/vector.cjs.map +1 -1
  829. package/singlestore-core/columns/vector.d.cts +2 -0
  830. package/singlestore-core/columns/vector.d.ts +2 -0
  831. package/singlestore-core/columns/vector.js.map +1 -1
  832. package/singlestore-core/columns/year.cjs.map +1 -1
  833. package/singlestore-core/columns/year.d.cts +1 -0
  834. package/singlestore-core/columns/year.d.ts +1 -0
  835. package/singlestore-core/columns/year.js.map +1 -1
  836. package/singlestore-core/indexes.cjs +0 -2
  837. package/singlestore-core/indexes.cjs.map +1 -1
  838. package/singlestore-core/indexes.d.cts +0 -1
  839. package/singlestore-core/indexes.d.ts +0 -1
  840. package/singlestore-core/indexes.js +0 -2
  841. package/singlestore-core/indexes.js.map +1 -1
  842. package/singlestore-core/primary-keys.cjs +0 -2
  843. package/singlestore-core/primary-keys.cjs.map +1 -1
  844. package/singlestore-core/primary-keys.d.cts +0 -1
  845. package/singlestore-core/primary-keys.d.ts +0 -1
  846. package/singlestore-core/primary-keys.js +0 -2
  847. package/singlestore-core/primary-keys.js.map +1 -1
  848. package/singlestore-core/query-builders/count.cjs.map +1 -1
  849. package/singlestore-core/query-builders/count.d.cts +1 -1
  850. package/singlestore-core/query-builders/count.d.ts +1 -1
  851. package/singlestore-core/query-builders/count.js.map +1 -1
  852. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  853. package/singlestore-core/query-builders/insert.d.cts +1 -1
  854. package/singlestore-core/query-builders/insert.d.ts +1 -1
  855. package/singlestore-core/query-builders/insert.js.map +1 -1
  856. package/singlestore-core/query-builders/select.cjs +2 -2
  857. package/singlestore-core/query-builders/select.cjs.map +1 -1
  858. package/singlestore-core/query-builders/select.js +2 -2
  859. package/singlestore-core/query-builders/select.js.map +1 -1
  860. package/singlestore-core/query-builders/update.cjs.map +1 -1
  861. package/singlestore-core/query-builders/update.d.cts +1 -1
  862. package/singlestore-core/query-builders/update.d.ts +1 -1
  863. package/singlestore-core/query-builders/update.js.map +1 -1
  864. package/singlestore-core/unique-constraint.cjs +0 -2
  865. package/singlestore-core/unique-constraint.cjs.map +1 -1
  866. package/singlestore-core/unique-constraint.d.cts +2 -3
  867. package/singlestore-core/unique-constraint.d.ts +2 -3
  868. package/singlestore-core/unique-constraint.js +0 -2
  869. package/singlestore-core/unique-constraint.js.map +1 -1
  870. package/sql/sql.cjs +3 -10
  871. package/sql/sql.cjs.map +1 -1
  872. package/sql/sql.d.cts +1 -1
  873. package/sql/sql.d.ts +1 -1
  874. package/sql/sql.js +3 -10
  875. package/sql/sql.js.map +1 -1
  876. package/sql-js/session.cjs.map +1 -1
  877. package/sql-js/session.js.map +1 -1
  878. package/sqlite-core/columns/blob.cjs.map +1 -1
  879. package/sqlite-core/columns/blob.d.cts +3 -0
  880. package/sqlite-core/columns/blob.d.ts +3 -0
  881. package/sqlite-core/columns/blob.js.map +1 -1
  882. package/sqlite-core/columns/common.cjs +4 -0
  883. package/sqlite-core/columns/common.cjs.map +1 -1
  884. package/sqlite-core/columns/common.js +4 -0
  885. package/sqlite-core/columns/common.js.map +1 -1
  886. package/sqlite-core/columns/custom.cjs.map +1 -1
  887. package/sqlite-core/columns/custom.d.cts +1 -0
  888. package/sqlite-core/columns/custom.d.ts +1 -0
  889. package/sqlite-core/columns/custom.js.map +1 -1
  890. package/sqlite-core/columns/integer.cjs.map +1 -1
  891. package/sqlite-core/columns/integer.d.cts +3 -0
  892. package/sqlite-core/columns/integer.d.ts +3 -0
  893. package/sqlite-core/columns/integer.js.map +1 -1
  894. package/sqlite-core/columns/numeric.cjs.map +1 -1
  895. package/sqlite-core/columns/numeric.d.cts +3 -0
  896. package/sqlite-core/columns/numeric.d.ts +3 -0
  897. package/sqlite-core/columns/numeric.js.map +1 -1
  898. package/sqlite-core/columns/real.cjs.map +1 -1
  899. package/sqlite-core/columns/real.d.cts +1 -0
  900. package/sqlite-core/columns/real.d.ts +1 -0
  901. package/sqlite-core/columns/real.js.map +1 -1
  902. package/sqlite-core/columns/text.cjs.map +1 -1
  903. package/sqlite-core/columns/text.d.cts +2 -0
  904. package/sqlite-core/columns/text.d.ts +2 -0
  905. package/sqlite-core/columns/text.js.map +1 -1
  906. package/sqlite-core/foreign-keys.cjs +0 -3
  907. package/sqlite-core/foreign-keys.cjs.map +1 -1
  908. package/sqlite-core/foreign-keys.d.cts +14 -1
  909. package/sqlite-core/foreign-keys.d.ts +14 -1
  910. package/sqlite-core/foreign-keys.js +0 -3
  911. package/sqlite-core/foreign-keys.js.map +1 -1
  912. package/sqlite-core/indexes.cjs +0 -2
  913. package/sqlite-core/indexes.cjs.map +1 -1
  914. package/sqlite-core/indexes.d.cts +0 -1
  915. package/sqlite-core/indexes.d.ts +0 -1
  916. package/sqlite-core/indexes.js +0 -2
  917. package/sqlite-core/indexes.js.map +1 -1
  918. package/sqlite-core/primary-keys.cjs +0 -2
  919. package/sqlite-core/primary-keys.cjs.map +1 -1
  920. package/sqlite-core/primary-keys.d.cts +0 -1
  921. package/sqlite-core/primary-keys.d.ts +0 -1
  922. package/sqlite-core/primary-keys.js +0 -2
  923. package/sqlite-core/primary-keys.js.map +1 -1
  924. package/sqlite-core/query-builders/count.cjs.map +1 -1
  925. package/sqlite-core/query-builders/count.d.cts +1 -1
  926. package/sqlite-core/query-builders/count.d.ts +1 -1
  927. package/sqlite-core/query-builders/count.js.map +1 -1
  928. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  929. package/sqlite-core/query-builders/insert.d.cts +2 -2
  930. package/sqlite-core/query-builders/insert.d.ts +2 -2
  931. package/sqlite-core/query-builders/insert.js.map +1 -1
  932. package/sqlite-core/query-builders/update.cjs +2 -2
  933. package/sqlite-core/query-builders/update.cjs.map +1 -1
  934. package/sqlite-core/query-builders/update.d.cts +1 -1
  935. package/sqlite-core/query-builders/update.d.ts +1 -1
  936. package/sqlite-core/query-builders/update.js +2 -2
  937. package/sqlite-core/query-builders/update.js.map +1 -1
  938. package/sqlite-core/unique-constraint.cjs +0 -2
  939. package/sqlite-core/unique-constraint.cjs.map +1 -1
  940. package/sqlite-core/unique-constraint.d.cts +2 -3
  941. package/sqlite-core/unique-constraint.d.ts +2 -3
  942. package/sqlite-core/unique-constraint.js +0 -2
  943. package/sqlite-core/unique-constraint.js.map +1 -1
  944. package/tidb-serverless/driver.cjs +12 -8
  945. package/tidb-serverless/driver.cjs.map +1 -1
  946. package/tidb-serverless/driver.d.cts +3 -3
  947. package/tidb-serverless/driver.d.ts +3 -3
  948. package/tidb-serverless/driver.js +12 -8
  949. package/tidb-serverless/driver.js.map +1 -1
  950. package/tracing.cjs +3 -3
  951. package/tracing.cjs.map +1 -1
  952. package/tracing.js +3 -3
  953. package/tracing.js.map +1 -1
  954. package/tursodatabase/database.cjs +10 -6
  955. package/tursodatabase/database.cjs.map +1 -1
  956. package/tursodatabase/database.d.cts +3 -3
  957. package/tursodatabase/database.d.ts +3 -3
  958. package/tursodatabase/database.js +10 -6
  959. package/tursodatabase/database.js.map +1 -1
  960. package/tursodatabase/wasm.cjs +10 -6
  961. package/tursodatabase/wasm.cjs.map +1 -1
  962. package/tursodatabase/wasm.d.cts +3 -3
  963. package/tursodatabase/wasm.d.ts +3 -3
  964. package/tursodatabase/wasm.js +10 -6
  965. package/tursodatabase/wasm.js.map +1 -1
  966. package/vercel-postgres/session.cjs.map +1 -1
  967. package/vercel-postgres/session.js.map +1 -1
  968. package/version.cjs +1 -1
  969. package/version.d.cts +1 -1
  970. package/version.d.ts +1 -1
  971. package/version.js +1 -1
  972. package/cockroach/driver.cjs +0 -109
  973. package/cockroach/driver.cjs.map +0 -1
  974. package/cockroach/driver.d.cts +0 -42
  975. package/cockroach/driver.d.ts +0 -42
  976. package/cockroach/driver.js +0 -73
  977. package/cockroach/driver.js.map +0 -1
  978. package/cockroach/index.cjs +0 -25
  979. package/cockroach/index.cjs.map +0 -1
  980. package/cockroach/index.d.cts +0 -2
  981. package/cockroach/index.d.ts +0 -2
  982. package/cockroach/index.js +0 -3
  983. package/cockroach/index.js.map +0 -1
  984. package/cockroach/migrator.cjs +0 -33
  985. package/cockroach/migrator.cjs.map +0 -1
  986. package/cockroach/migrator.d.cts +0 -3
  987. package/cockroach/migrator.d.ts +0 -3
  988. package/cockroach/migrator.js +0 -9
  989. package/cockroach/migrator.js.map +0 -1
  990. package/cockroach/session.cjs +0 -253
  991. package/cockroach/session.cjs.map +0 -1
  992. package/cockroach/session.d.cts +0 -48
  993. package/cockroach/session.d.ts +0 -48
  994. package/cockroach/session.js +0 -217
  995. package/cockroach/session.js.map +0 -1
  996. package/cockroach-core/alias.cjs +0 -32
  997. package/cockroach-core/alias.cjs.map +0 -1
  998. package/cockroach-core/alias.d.cts +0 -4
  999. package/cockroach-core/alias.d.ts +0 -4
  1000. package/cockroach-core/alias.js +0 -8
  1001. package/cockroach-core/alias.js.map +0 -1
  1002. package/cockroach-core/checks.cjs +0 -58
  1003. package/cockroach-core/checks.cjs.map +0 -1
  1004. package/cockroach-core/checks.d.cts +0 -18
  1005. package/cockroach-core/checks.d.ts +0 -18
  1006. package/cockroach-core/checks.js +0 -32
  1007. package/cockroach-core/checks.js.map +0 -1
  1008. package/cockroach-core/columns/all.cjs +0 -81
  1009. package/cockroach-core/columns/all.cjs.map +0 -1
  1010. package/cockroach-core/columns/all.d.cts +0 -52
  1011. package/cockroach-core/columns/all.d.ts +0 -52
  1012. package/cockroach-core/columns/all.js +0 -57
  1013. package/cockroach-core/columns/all.js.map +0 -1
  1014. package/cockroach-core/columns/bigint.cjs +0 -104
  1015. package/cockroach-core/columns/bigint.cjs.map +0 -1
  1016. package/cockroach-core/columns/bigint.d.cts +0 -37
  1017. package/cockroach-core/columns/bigint.d.ts +0 -37
  1018. package/cockroach-core/columns/bigint.js +0 -75
  1019. package/cockroach-core/columns/bigint.js.map +0 -1
  1020. package/cockroach-core/columns/bit.cjs +0 -61
  1021. package/cockroach-core/columns/bit.cjs.map +0 -1
  1022. package/cockroach-core/columns/bit.d.cts +0 -29
  1023. package/cockroach-core/columns/bit.d.ts +0 -29
  1024. package/cockroach-core/columns/bit.js +0 -35
  1025. package/cockroach-core/columns/bit.js.map +0 -1
  1026. package/cockroach-core/columns/bool.cjs +0 -59
  1027. package/cockroach-core/columns/bool.cjs.map +0 -1
  1028. package/cockroach-core/columns/bool.d.cts +0 -17
  1029. package/cockroach-core/columns/bool.d.ts +0 -17
  1030. package/cockroach-core/columns/bool.js +0 -32
  1031. package/cockroach-core/columns/bool.js.map +0 -1
  1032. package/cockroach-core/columns/char.cjs +0 -62
  1033. package/cockroach-core/columns/char.cjs.map +0 -1
  1034. package/cockroach-core/columns/char.d.cts +0 -31
  1035. package/cockroach-core/columns/char.d.ts +0 -31
  1036. package/cockroach-core/columns/char.js +0 -36
  1037. package/cockroach-core/columns/char.js.map +0 -1
  1038. package/cockroach-core/columns/common.cjs +0 -198
  1039. package/cockroach-core/columns/common.cjs.map +0 -1
  1040. package/cockroach-core/columns/common.d.cts +0 -98
  1041. package/cockroach-core/columns/common.d.ts +0 -98
  1042. package/cockroach-core/columns/common.js +0 -168
  1043. package/cockroach-core/columns/common.js.map +0 -1
  1044. package/cockroach-core/columns/custom.cjs +0 -102
  1045. package/cockroach-core/columns/custom.cjs.map +0 -1
  1046. package/cockroach-core/columns/custom.d.cts +0 -261
  1047. package/cockroach-core/columns/custom.d.ts +0 -261
  1048. package/cockroach-core/columns/custom.js +0 -76
  1049. package/cockroach-core/columns/custom.js.map +0 -1
  1050. package/cockroach-core/columns/date.cjs +0 -91
  1051. package/cockroach-core/columns/date.cjs.map +0 -1
  1052. package/cockroach-core/columns/date.common.cjs +0 -37
  1053. package/cockroach-core/columns/date.common.cjs.map +0 -1
  1054. package/cockroach-core/columns/date.common.d.cts +0 -7
  1055. package/cockroach-core/columns/date.common.d.ts +0 -7
  1056. package/cockroach-core/columns/date.common.js +0 -13
  1057. package/cockroach-core/columns/date.common.js.map +0 -1
  1058. package/cockroach-core/columns/date.d.cts +0 -36
  1059. package/cockroach-core/columns/date.d.ts +0 -36
  1060. package/cockroach-core/columns/date.js +0 -63
  1061. package/cockroach-core/columns/date.js.map +0 -1
  1062. package/cockroach-core/columns/decimal.cjs +0 -164
  1063. package/cockroach-core/columns/decimal.cjs.map +0 -1
  1064. package/cockroach-core/columns/decimal.d.cts +0 -80
  1065. package/cockroach-core/columns/decimal.d.ts +0 -80
  1066. package/cockroach-core/columns/decimal.js +0 -133
  1067. package/cockroach-core/columns/decimal.js.map +0 -1
  1068. package/cockroach-core/columns/enum.cjs +0 -127
  1069. package/cockroach-core/columns/enum.cjs.map +0 -1
  1070. package/cockroach-core/columns/enum.d.cts +0 -64
  1071. package/cockroach-core/columns/enum.d.ts +0 -64
  1072. package/cockroach-core/columns/enum.js +0 -96
  1073. package/cockroach-core/columns/enum.js.map +0 -1
  1074. package/cockroach-core/columns/float.cjs +0 -65
  1075. package/cockroach-core/columns/float.cjs.map +0 -1
  1076. package/cockroach-core/columns/float.d.cts +0 -18
  1077. package/cockroach-core/columns/float.d.ts +0 -18
  1078. package/cockroach-core/columns/float.js +0 -38
  1079. package/cockroach-core/columns/float.js.map +0 -1
  1080. package/cockroach-core/columns/geometry.cjs +0 -105
  1081. package/cockroach-core/columns/geometry.cjs.map +0 -1
  1082. package/cockroach-core/columns/geometry.d.cts +0 -60
  1083. package/cockroach-core/columns/geometry.d.ts +0 -60
  1084. package/cockroach-core/columns/geometry.js +0 -77
  1085. package/cockroach-core/columns/geometry.js.map +0 -1
  1086. package/cockroach-core/columns/index.cjs +0 -71
  1087. package/cockroach-core/columns/index.cjs.map +0 -1
  1088. package/cockroach-core/columns/index.d.cts +0 -25
  1089. package/cockroach-core/columns/index.d.ts +0 -25
  1090. package/cockroach-core/columns/index.js +0 -26
  1091. package/cockroach-core/columns/index.js.map +0 -1
  1092. package/cockroach-core/columns/inet.cjs +0 -56
  1093. package/cockroach-core/columns/inet.cjs.map +0 -1
  1094. package/cockroach-core/columns/inet.d.cts +0 -16
  1095. package/cockroach-core/columns/inet.d.ts +0 -16
  1096. package/cockroach-core/columns/inet.js +0 -30
  1097. package/cockroach-core/columns/inet.js.map +0 -1
  1098. package/cockroach-core/columns/int.common.cjs +0 -55
  1099. package/cockroach-core/columns/int.common.cjs.map +0 -1
  1100. package/cockroach-core/columns/int.common.d.cts +0 -11
  1101. package/cockroach-core/columns/int.common.d.ts +0 -11
  1102. package/cockroach-core/columns/int.common.js +0 -31
  1103. package/cockroach-core/columns/int.common.js.map +0 -1
  1104. package/cockroach-core/columns/integer.cjs +0 -63
  1105. package/cockroach-core/columns/integer.cjs.map +0 -1
  1106. package/cockroach-core/columns/integer.d.cts +0 -18
  1107. package/cockroach-core/columns/integer.d.ts +0 -18
  1108. package/cockroach-core/columns/integer.js +0 -37
  1109. package/cockroach-core/columns/integer.js.map +0 -1
  1110. package/cockroach-core/columns/interval.cjs +0 -63
  1111. package/cockroach-core/columns/interval.cjs.map +0 -1
  1112. package/cockroach-core/columns/interval.d.cts +0 -28
  1113. package/cockroach-core/columns/interval.d.ts +0 -28
  1114. package/cockroach-core/columns/interval.js +0 -37
  1115. package/cockroach-core/columns/interval.js.map +0 -1
  1116. package/cockroach-core/columns/jsonb.cjs +0 -72
  1117. package/cockroach-core/columns/jsonb.cjs.map +0 -1
  1118. package/cockroach-core/columns/jsonb.d.cts +0 -20
  1119. package/cockroach-core/columns/jsonb.d.ts +0 -20
  1120. package/cockroach-core/columns/jsonb.js +0 -46
  1121. package/cockroach-core/columns/jsonb.js.map +0 -1
  1122. package/cockroach-core/columns/real.cjs +0 -66
  1123. package/cockroach-core/columns/real.cjs.map +0 -1
  1124. package/cockroach-core/columns/real.d.cts +0 -21
  1125. package/cockroach-core/columns/real.d.ts +0 -21
  1126. package/cockroach-core/columns/real.js +0 -40
  1127. package/cockroach-core/columns/real.js.map +0 -1
  1128. package/cockroach-core/columns/smallint.cjs +0 -68
  1129. package/cockroach-core/columns/smallint.cjs.map +0 -1
  1130. package/cockroach-core/columns/smallint.d.cts +0 -19
  1131. package/cockroach-core/columns/smallint.d.ts +0 -19
  1132. package/cockroach-core/columns/smallint.js +0 -41
  1133. package/cockroach-core/columns/smallint.js.map +0 -1
  1134. package/cockroach-core/columns/string.cjs +0 -67
  1135. package/cockroach-core/columns/string.cjs.map +0 -1
  1136. package/cockroach-core/columns/string.d.cts +0 -36
  1137. package/cockroach-core/columns/string.d.ts +0 -36
  1138. package/cockroach-core/columns/string.js +0 -40
  1139. package/cockroach-core/columns/string.js.map +0 -1
  1140. package/cockroach-core/columns/time.cjs +0 -70
  1141. package/cockroach-core/columns/time.cjs.map +0 -1
  1142. package/cockroach-core/columns/time.d.cts +0 -31
  1143. package/cockroach-core/columns/time.d.ts +0 -31
  1144. package/cockroach-core/columns/time.js +0 -44
  1145. package/cockroach-core/columns/time.js.map +0 -1
  1146. package/cockroach-core/columns/timestamp.cjs +0 -111
  1147. package/cockroach-core/columns/timestamp.cjs.map +0 -1
  1148. package/cockroach-core/columns/timestamp.d.cts +0 -52
  1149. package/cockroach-core/columns/timestamp.d.ts +0 -52
  1150. package/cockroach-core/columns/timestamp.js +0 -83
  1151. package/cockroach-core/columns/timestamp.js.map +0 -1
  1152. package/cockroach-core/columns/utils.cjs +0 -65
  1153. package/cockroach-core/columns/utils.cjs.map +0 -1
  1154. package/cockroach-core/columns/utils.d.cts +0 -4
  1155. package/cockroach-core/columns/utils.d.ts +0 -4
  1156. package/cockroach-core/columns/utils.js +0 -41
  1157. package/cockroach-core/columns/utils.js.map +0 -1
  1158. package/cockroach-core/columns/uuid.cjs +0 -63
  1159. package/cockroach-core/columns/uuid.cjs.map +0 -1
  1160. package/cockroach-core/columns/uuid.d.cts +0 -20
  1161. package/cockroach-core/columns/uuid.d.ts +0 -20
  1162. package/cockroach-core/columns/uuid.js +0 -37
  1163. package/cockroach-core/columns/uuid.js.map +0 -1
  1164. package/cockroach-core/columns/varbit.cjs +0 -59
  1165. package/cockroach-core/columns/varbit.cjs.map +0 -1
  1166. package/cockroach-core/columns/varbit.d.cts +0 -24
  1167. package/cockroach-core/columns/varbit.d.ts +0 -24
  1168. package/cockroach-core/columns/varbit.js +0 -33
  1169. package/cockroach-core/columns/varbit.js.map +0 -1
  1170. package/cockroach-core/columns/varchar.cjs +0 -61
  1171. package/cockroach-core/columns/varchar.cjs.map +0 -1
  1172. package/cockroach-core/columns/varchar.d.cts +0 -30
  1173. package/cockroach-core/columns/varchar.d.ts +0 -30
  1174. package/cockroach-core/columns/varchar.js +0 -35
  1175. package/cockroach-core/columns/varchar.js.map +0 -1
  1176. package/cockroach-core/columns/vector.cjs +0 -65
  1177. package/cockroach-core/columns/vector.cjs.map +0 -1
  1178. package/cockroach-core/columns/vector.d.cts +0 -26
  1179. package/cockroach-core/columns/vector.d.ts +0 -26
  1180. package/cockroach-core/columns/vector.js +0 -39
  1181. package/cockroach-core/columns/vector.js.map +0 -1
  1182. package/cockroach-core/db.cjs +0 -346
  1183. package/cockroach-core/db.cjs.map +0 -1
  1184. package/cockroach-core/db.d.cts +0 -282
  1185. package/cockroach-core/db.d.ts +0 -282
  1186. package/cockroach-core/db.js +0 -327
  1187. package/cockroach-core/db.js.map +0 -1
  1188. package/cockroach-core/dialect.cjs +0 -1146
  1189. package/cockroach-core/dialect.cjs.map +0 -1
  1190. package/cockroach-core/dialect.d.cts +0 -65
  1191. package/cockroach-core/dialect.d.ts +0 -65
  1192. package/cockroach-core/dialect.js +0 -1126
  1193. package/cockroach-core/dialect.js.map +0 -1
  1194. package/cockroach-core/expressions.cjs +0 -49
  1195. package/cockroach-core/expressions.cjs.map +0 -1
  1196. package/cockroach-core/expressions.d.cts +0 -8
  1197. package/cockroach-core/expressions.d.ts +0 -8
  1198. package/cockroach-core/expressions.js +0 -22
  1199. package/cockroach-core/expressions.js.map +0 -1
  1200. package/cockroach-core/foreign-keys.cjs +0 -95
  1201. package/cockroach-core/foreign-keys.cjs.map +0 -1
  1202. package/cockroach-core/foreign-keys.d.cts +0 -53
  1203. package/cockroach-core/foreign-keys.d.ts +0 -53
  1204. package/cockroach-core/foreign-keys.js +0 -69
  1205. package/cockroach-core/foreign-keys.js.map +0 -1
  1206. package/cockroach-core/index.cjs +0 -61
  1207. package/cockroach-core/index.cjs.map +0 -1
  1208. package/cockroach-core/index.d.cts +0 -20
  1209. package/cockroach-core/index.d.ts +0 -20
  1210. package/cockroach-core/index.js +0 -21
  1211. package/cockroach-core/index.js.map +0 -1
  1212. package/cockroach-core/indexes.cjs +0 -139
  1213. package/cockroach-core/indexes.cjs.map +0 -1
  1214. package/cockroach-core/indexes.d.cts +0 -65
  1215. package/cockroach-core/indexes.d.ts +0 -65
  1216. package/cockroach-core/indexes.js +0 -111
  1217. package/cockroach-core/indexes.js.map +0 -1
  1218. package/cockroach-core/policies.cjs +0 -58
  1219. package/cockroach-core/policies.cjs.map +0 -1
  1220. package/cockroach-core/policies.d.cts +0 -24
  1221. package/cockroach-core/policies.d.ts +0 -24
  1222. package/cockroach-core/policies.js +0 -33
  1223. package/cockroach-core/policies.js.map +0 -1
  1224. package/cockroach-core/primary-keys.cjs +0 -66
  1225. package/cockroach-core/primary-keys.cjs.map +0 -1
  1226. package/cockroach-core/primary-keys.d.cts +0 -24
  1227. package/cockroach-core/primary-keys.d.ts +0 -24
  1228. package/cockroach-core/primary-keys.js +0 -40
  1229. package/cockroach-core/primary-keys.js.map +0 -1
  1230. package/cockroach-core/query-builders/count.cjs +0 -79
  1231. package/cockroach-core/query-builders/count.cjs.map +0 -1
  1232. package/cockroach-core/query-builders/count.d.cts +0 -29
  1233. package/cockroach-core/query-builders/count.d.ts +0 -29
  1234. package/cockroach-core/query-builders/count.js +0 -55
  1235. package/cockroach-core/query-builders/count.js.map +0 -1
  1236. package/cockroach-core/query-builders/delete.cjs +0 -124
  1237. package/cockroach-core/query-builders/delete.cjs.map +0 -1
  1238. package/cockroach-core/query-builders/delete.d.cts +0 -103
  1239. package/cockroach-core/query-builders/delete.d.ts +0 -103
  1240. package/cockroach-core/query-builders/delete.js +0 -100
  1241. package/cockroach-core/query-builders/delete.js.map +0 -1
  1242. package/cockroach-core/query-builders/index.cjs +0 -35
  1243. package/cockroach-core/query-builders/index.cjs.map +0 -1
  1244. package/cockroach-core/query-builders/index.d.cts +0 -7
  1245. package/cockroach-core/query-builders/index.d.ts +0 -7
  1246. package/cockroach-core/query-builders/index.js +0 -8
  1247. package/cockroach-core/query-builders/index.js.map +0 -1
  1248. package/cockroach-core/query-builders/insert.cjs +0 -213
  1249. package/cockroach-core/query-builders/insert.cjs.map +0 -1
  1250. package/cockroach-core/query-builders/insert.d.cts +0 -168
  1251. package/cockroach-core/query-builders/insert.d.ts +0 -168
  1252. package/cockroach-core/query-builders/insert.js +0 -188
  1253. package/cockroach-core/query-builders/insert.js.map +0 -1
  1254. package/cockroach-core/query-builders/query-builder.cjs +0 -118
  1255. package/cockroach-core/query-builders/query-builder.cjs.map +0 -1
  1256. package/cockroach-core/query-builders/query-builder.d.cts +0 -37
  1257. package/cockroach-core/query-builders/query-builder.d.ts +0 -37
  1258. package/cockroach-core/query-builders/query-builder.js +0 -94
  1259. package/cockroach-core/query-builders/query-builder.js.map +0 -1
  1260. package/cockroach-core/query-builders/query.cjs +0 -145
  1261. package/cockroach-core/query-builders/query.cjs.map +0 -1
  1262. package/cockroach-core/query-builders/query.d.cts +0 -47
  1263. package/cockroach-core/query-builders/query.d.ts +0 -47
  1264. package/cockroach-core/query-builders/query.js +0 -122
  1265. package/cockroach-core/query-builders/query.js.map +0 -1
  1266. package/cockroach-core/query-builders/raw.cjs +0 -57
  1267. package/cockroach-core/query-builders/raw.cjs.map +0 -1
  1268. package/cockroach-core/query-builders/raw.d.cts +0 -22
  1269. package/cockroach-core/query-builders/raw.d.ts +0 -22
  1270. package/cockroach-core/query-builders/raw.js +0 -33
  1271. package/cockroach-core/query-builders/raw.js.map +0 -1
  1272. package/cockroach-core/query-builders/refresh-materialized-view.cjs +0 -83
  1273. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  1274. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +0 -28
  1275. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +0 -28
  1276. package/cockroach-core/query-builders/refresh-materialized-view.js +0 -59
  1277. package/cockroach-core/query-builders/refresh-materialized-view.js.map +0 -1
  1278. package/cockroach-core/query-builders/select.cjs +0 -847
  1279. package/cockroach-core/query-builders/select.cjs.map +0 -1
  1280. package/cockroach-core/query-builders/select.d.cts +0 -787
  1281. package/cockroach-core/query-builders/select.d.ts +0 -787
  1282. package/cockroach-core/query-builders/select.js +0 -821
  1283. package/cockroach-core/query-builders/select.js.map +0 -1
  1284. package/cockroach-core/query-builders/select.types.cjs +0 -17
  1285. package/cockroach-core/query-builders/select.types.cjs.map +0 -1
  1286. package/cockroach-core/query-builders/select.types.d.cts +0 -140
  1287. package/cockroach-core/query-builders/select.types.d.ts +0 -140
  1288. package/cockroach-core/query-builders/select.types.js +0 -1
  1289. package/cockroach-core/query-builders/select.types.js.map +0 -1
  1290. package/cockroach-core/query-builders/update.cjs +0 -240
  1291. package/cockroach-core/query-builders/update.cjs.map +0 -1
  1292. package/cockroach-core/query-builders/update.d.cts +0 -170
  1293. package/cockroach-core/query-builders/update.d.ts +0 -170
  1294. package/cockroach-core/query-builders/update.js +0 -219
  1295. package/cockroach-core/query-builders/update.js.map +0 -1
  1296. package/cockroach-core/roles.cjs +0 -54
  1297. package/cockroach-core/roles.cjs.map +0 -1
  1298. package/cockroach-core/roles.d.cts +0 -12
  1299. package/cockroach-core/roles.d.ts +0 -12
  1300. package/cockroach-core/roles.js +0 -29
  1301. package/cockroach-core/roles.js.map +0 -1
  1302. package/cockroach-core/schema.cjs +0 -80
  1303. package/cockroach-core/schema.cjs.map +0 -1
  1304. package/cockroach-core/schema.d.cts +0 -22
  1305. package/cockroach-core/schema.d.ts +0 -22
  1306. package/cockroach-core/schema.js +0 -60
  1307. package/cockroach-core/schema.js.map +0 -1
  1308. package/cockroach-core/sequence.cjs +0 -52
  1309. package/cockroach-core/sequence.cjs.map +0 -1
  1310. package/cockroach-core/sequence.d.cts +0 -17
  1311. package/cockroach-core/sequence.d.ts +0 -17
  1312. package/cockroach-core/sequence.js +0 -25
  1313. package/cockroach-core/sequence.js.map +0 -1
  1314. package/cockroach-core/session.cjs +0 -120
  1315. package/cockroach-core/session.cjs.map +0 -1
  1316. package/cockroach-core/session.d.cts +0 -62
  1317. package/cockroach-core/session.d.ts +0 -62
  1318. package/cockroach-core/session.js +0 -94
  1319. package/cockroach-core/session.js.map +0 -1
  1320. package/cockroach-core/subquery.cjs +0 -17
  1321. package/cockroach-core/subquery.cjs.map +0 -1
  1322. package/cockroach-core/subquery.d.cts +0 -18
  1323. package/cockroach-core/subquery.d.ts +0 -18
  1324. package/cockroach-core/subquery.js +0 -1
  1325. package/cockroach-core/subquery.js.map +0 -1
  1326. package/cockroach-core/table.cjs +0 -100
  1327. package/cockroach-core/table.cjs.map +0 -1
  1328. package/cockroach-core/table.d.cts +0 -37
  1329. package/cockroach-core/table.d.ts +0 -37
  1330. package/cockroach-core/table.js +0 -73
  1331. package/cockroach-core/table.js.map +0 -1
  1332. package/cockroach-core/unique-constraint.cjs +0 -77
  1333. package/cockroach-core/unique-constraint.cjs.map +0 -1
  1334. package/cockroach-core/unique-constraint.d.cts +0 -23
  1335. package/cockroach-core/unique-constraint.d.ts +0 -23
  1336. package/cockroach-core/unique-constraint.js +0 -50
  1337. package/cockroach-core/unique-constraint.js.map +0 -1
  1338. package/cockroach-core/utils/array.cjs +0 -106
  1339. package/cockroach-core/utils/array.cjs.map +0 -1
  1340. package/cockroach-core/utils/array.d.cts +0 -3
  1341. package/cockroach-core/utils/array.d.ts +0 -3
  1342. package/cockroach-core/utils/array.js +0 -80
  1343. package/cockroach-core/utils/array.js.map +0 -1
  1344. package/cockroach-core/utils/index.cjs +0 -23
  1345. package/cockroach-core/utils/index.cjs.map +0 -1
  1346. package/cockroach-core/utils/index.d.cts +0 -1
  1347. package/cockroach-core/utils/index.d.ts +0 -1
  1348. package/cockroach-core/utils/index.js +0 -2
  1349. package/cockroach-core/utils/index.js.map +0 -1
  1350. package/cockroach-core/utils.cjs +0 -98
  1351. package/cockroach-core/utils.cjs.map +0 -1
  1352. package/cockroach-core/utils.d.cts +0 -47
  1353. package/cockroach-core/utils.d.ts +0 -47
  1354. package/cockroach-core/utils.js +0 -72
  1355. package/cockroach-core/utils.js.map +0 -1
  1356. package/cockroach-core/view-base.cjs +0 -33
  1357. package/cockroach-core/view-base.cjs.map +0 -1
  1358. package/cockroach-core/view-base.d.cts +0 -8
  1359. package/cockroach-core/view-base.d.ts +0 -8
  1360. package/cockroach-core/view-base.js +0 -9
  1361. package/cockroach-core/view-base.js.map +0 -1
  1362. package/cockroach-core/view.cjs +0 -271
  1363. package/cockroach-core/view.cjs.map +0 -1
  1364. package/cockroach-core/view.d.cts +0 -106
  1365. package/cockroach-core/view.d.ts +0 -106
  1366. package/cockroach-core/view.js +0 -233
  1367. package/cockroach-core/view.js.map +0 -1
  1368. package/mssql-core/alias.cjs +0 -32
  1369. package/mssql-core/alias.cjs.map +0 -1
  1370. package/mssql-core/alias.d.cts +0 -4
  1371. package/mssql-core/alias.d.ts +0 -4
  1372. package/mssql-core/alias.js +0 -8
  1373. package/mssql-core/alias.js.map +0 -1
  1374. package/mssql-core/checks.cjs +0 -58
  1375. package/mssql-core/checks.cjs.map +0 -1
  1376. package/mssql-core/checks.d.cts +0 -18
  1377. package/mssql-core/checks.d.ts +0 -18
  1378. package/mssql-core/checks.js +0 -32
  1379. package/mssql-core/checks.js.map +0 -1
  1380. package/mssql-core/columns/all.cjs +0 -74
  1381. package/mssql-core/columns/all.cjs.map +0 -1
  1382. package/mssql-core/columns/all.d.cts +0 -45
  1383. package/mssql-core/columns/all.d.ts +0 -45
  1384. package/mssql-core/columns/all.js +0 -50
  1385. package/mssql-core/columns/all.js.map +0 -1
  1386. package/mssql-core/columns/bigint.cjs +0 -72
  1387. package/mssql-core/columns/bigint.cjs.map +0 -1
  1388. package/mssql-core/columns/bigint.d.cts +0 -25
  1389. package/mssql-core/columns/bigint.d.ts +0 -25
  1390. package/mssql-core/columns/bigint.js +0 -46
  1391. package/mssql-core/columns/bigint.js.map +0 -1
  1392. package/mssql-core/columns/binary.cjs +0 -57
  1393. package/mssql-core/columns/binary.cjs.map +0 -1
  1394. package/mssql-core/columns/binary.d.cts +0 -24
  1395. package/mssql-core/columns/binary.d.ts +0 -24
  1396. package/mssql-core/columns/binary.js +0 -31
  1397. package/mssql-core/columns/binary.js.map +0 -1
  1398. package/mssql-core/columns/bit.cjs +0 -54
  1399. package/mssql-core/columns/bit.cjs.map +0 -1
  1400. package/mssql-core/columns/bit.d.cts +0 -17
  1401. package/mssql-core/columns/bit.d.ts +0 -17
  1402. package/mssql-core/columns/bit.js +0 -28
  1403. package/mssql-core/columns/bit.js.map +0 -1
  1404. package/mssql-core/columns/char.cjs +0 -73
  1405. package/mssql-core/columns/char.cjs.map +0 -1
  1406. package/mssql-core/columns/char.d.cts +0 -29
  1407. package/mssql-core/columns/char.d.ts +0 -29
  1408. package/mssql-core/columns/char.js +0 -46
  1409. package/mssql-core/columns/char.js.map +0 -1
  1410. package/mssql-core/columns/common.cjs +0 -112
  1411. package/mssql-core/columns/common.cjs.map +0 -1
  1412. package/mssql-core/columns/common.d.cts +0 -57
  1413. package/mssql-core/columns/common.d.ts +0 -57
  1414. package/mssql-core/columns/common.js +0 -85
  1415. package/mssql-core/columns/common.js.map +0 -1
  1416. package/mssql-core/columns/custom.cjs +0 -105
  1417. package/mssql-core/columns/custom.cjs.map +0 -1
  1418. package/mssql-core/columns/custom.d.cts +0 -261
  1419. package/mssql-core/columns/custom.d.ts +0 -261
  1420. package/mssql-core/columns/custom.js +0 -79
  1421. package/mssql-core/columns/custom.js.map +0 -1
  1422. package/mssql-core/columns/date.cjs +0 -94
  1423. package/mssql-core/columns/date.cjs.map +0 -1
  1424. package/mssql-core/columns/date.common.cjs +0 -37
  1425. package/mssql-core/columns/date.common.cjs.map +0 -1
  1426. package/mssql-core/columns/date.common.d.cts +0 -12
  1427. package/mssql-core/columns/date.common.d.ts +0 -12
  1428. package/mssql-core/columns/date.common.js +0 -13
  1429. package/mssql-core/columns/date.common.js.map +0 -1
  1430. package/mssql-core/columns/date.d.cts +0 -39
  1431. package/mssql-core/columns/date.d.ts +0 -39
  1432. package/mssql-core/columns/date.js +0 -66
  1433. package/mssql-core/columns/date.js.map +0 -1
  1434. package/mssql-core/columns/datetime.cjs +0 -94
  1435. package/mssql-core/columns/datetime.cjs.map +0 -1
  1436. package/mssql-core/columns/datetime.d.cts +0 -38
  1437. package/mssql-core/columns/datetime.d.ts +0 -38
  1438. package/mssql-core/columns/datetime.js +0 -66
  1439. package/mssql-core/columns/datetime.js.map +0 -1
  1440. package/mssql-core/columns/datetime2.cjs +0 -102
  1441. package/mssql-core/columns/datetime2.cjs.map +0 -1
  1442. package/mssql-core/columns/datetime2.d.cts +0 -38
  1443. package/mssql-core/columns/datetime2.d.ts +0 -38
  1444. package/mssql-core/columns/datetime2.js +0 -74
  1445. package/mssql-core/columns/datetime2.js.map +0 -1
  1446. package/mssql-core/columns/datetimeoffset.cjs +0 -102
  1447. package/mssql-core/columns/datetimeoffset.cjs.map +0 -1
  1448. package/mssql-core/columns/datetimeoffset.d.cts +0 -39
  1449. package/mssql-core/columns/datetimeoffset.d.ts +0 -39
  1450. package/mssql-core/columns/datetimeoffset.js +0 -74
  1451. package/mssql-core/columns/datetimeoffset.js.map +0 -1
  1452. package/mssql-core/columns/decimal.cjs +0 -146
  1453. package/mssql-core/columns/decimal.cjs.map +0 -1
  1454. package/mssql-core/columns/decimal.d.cts +0 -58
  1455. package/mssql-core/columns/decimal.d.ts +0 -58
  1456. package/mssql-core/columns/decimal.js +0 -116
  1457. package/mssql-core/columns/decimal.js.map +0 -1
  1458. package/mssql-core/columns/float.cjs +0 -58
  1459. package/mssql-core/columns/float.cjs.map +0 -1
  1460. package/mssql-core/columns/float.d.cts +0 -21
  1461. package/mssql-core/columns/float.d.ts +0 -21
  1462. package/mssql-core/columns/float.js +0 -32
  1463. package/mssql-core/columns/float.js.map +0 -1
  1464. package/mssql-core/columns/index.cjs +0 -63
  1465. package/mssql-core/columns/index.cjs.map +0 -1
  1466. package/mssql-core/columns/index.d.cts +0 -21
  1467. package/mssql-core/columns/index.d.ts +0 -21
  1468. package/mssql-core/columns/index.js +0 -22
  1469. package/mssql-core/columns/index.js.map +0 -1
  1470. package/mssql-core/columns/int.cjs +0 -53
  1471. package/mssql-core/columns/int.cjs.map +0 -1
  1472. package/mssql-core/columns/int.d.cts +0 -16
  1473. package/mssql-core/columns/int.d.ts +0 -16
  1474. package/mssql-core/columns/int.js +0 -27
  1475. package/mssql-core/columns/int.js.map +0 -1
  1476. package/mssql-core/columns/numeric.cjs +0 -146
  1477. package/mssql-core/columns/numeric.cjs.map +0 -1
  1478. package/mssql-core/columns/numeric.d.cts +0 -58
  1479. package/mssql-core/columns/numeric.d.ts +0 -58
  1480. package/mssql-core/columns/numeric.js +0 -116
  1481. package/mssql-core/columns/numeric.js.map +0 -1
  1482. package/mssql-core/columns/real.cjs +0 -53
  1483. package/mssql-core/columns/real.cjs.map +0 -1
  1484. package/mssql-core/columns/real.d.cts +0 -16
  1485. package/mssql-core/columns/real.d.ts +0 -16
  1486. package/mssql-core/columns/real.js +0 -27
  1487. package/mssql-core/columns/real.js.map +0 -1
  1488. package/mssql-core/columns/smallint.cjs +0 -62
  1489. package/mssql-core/columns/smallint.cjs.map +0 -1
  1490. package/mssql-core/columns/smallint.d.cts +0 -17
  1491. package/mssql-core/columns/smallint.d.ts +0 -17
  1492. package/mssql-core/columns/smallint.js +0 -36
  1493. package/mssql-core/columns/smallint.js.map +0 -1
  1494. package/mssql-core/columns/text.cjs +0 -68
  1495. package/mssql-core/columns/text.cjs.map +0 -1
  1496. package/mssql-core/columns/text.d.cts +0 -36
  1497. package/mssql-core/columns/text.d.ts +0 -36
  1498. package/mssql-core/columns/text.js +0 -41
  1499. package/mssql-core/columns/text.js.map +0 -1
  1500. package/mssql-core/columns/time.cjs +0 -90
  1501. package/mssql-core/columns/time.cjs.map +0 -1
  1502. package/mssql-core/columns/time.d.cts +0 -37
  1503. package/mssql-core/columns/time.d.ts +0 -37
  1504. package/mssql-core/columns/time.js +0 -62
  1505. package/mssql-core/columns/time.js.map +0 -1
  1506. package/mssql-core/columns/tinyint.cjs +0 -62
  1507. package/mssql-core/columns/tinyint.cjs.map +0 -1
  1508. package/mssql-core/columns/tinyint.d.cts +0 -17
  1509. package/mssql-core/columns/tinyint.d.ts +0 -17
  1510. package/mssql-core/columns/tinyint.js +0 -36
  1511. package/mssql-core/columns/tinyint.js.map +0 -1
  1512. package/mssql-core/columns/varbinary.cjs +0 -61
  1513. package/mssql-core/columns/varbinary.cjs.map +0 -1
  1514. package/mssql-core/columns/varbinary.d.cts +0 -23
  1515. package/mssql-core/columns/varbinary.d.ts +0 -23
  1516. package/mssql-core/columns/varbinary.js +0 -35
  1517. package/mssql-core/columns/varbinary.js.map +0 -1
  1518. package/mssql-core/columns/varchar.cjs +0 -117
  1519. package/mssql-core/columns/varchar.cjs.map +0 -1
  1520. package/mssql-core/columns/varchar.d.cts +0 -59
  1521. package/mssql-core/columns/varchar.d.ts +0 -59
  1522. package/mssql-core/columns/varchar.js +0 -88
  1523. package/mssql-core/columns/varchar.js.map +0 -1
  1524. package/mssql-core/db.cjs +0 -254
  1525. package/mssql-core/db.cjs.map +0 -1
  1526. package/mssql-core/db.d.cts +0 -228
  1527. package/mssql-core/db.d.ts +0 -228
  1528. package/mssql-core/db.js +0 -235
  1529. package/mssql-core/db.js.map +0 -1
  1530. package/mssql-core/dialect.cjs +0 -633
  1531. package/mssql-core/dialect.cjs.map +0 -1
  1532. package/mssql-core/dialect.d.cts +0 -58
  1533. package/mssql-core/dialect.d.ts +0 -58
  1534. package/mssql-core/dialect.js +0 -599
  1535. package/mssql-core/dialect.js.map +0 -1
  1536. package/mssql-core/expressions.cjs +0 -49
  1537. package/mssql-core/expressions.cjs.map +0 -1
  1538. package/mssql-core/expressions.d.cts +0 -8
  1539. package/mssql-core/expressions.d.ts +0 -8
  1540. package/mssql-core/expressions.js +0 -22
  1541. package/mssql-core/expressions.js.map +0 -1
  1542. package/mssql-core/foreign-keys.cjs +0 -94
  1543. package/mssql-core/foreign-keys.cjs.map +0 -1
  1544. package/mssql-core/foreign-keys.d.cts +0 -52
  1545. package/mssql-core/foreign-keys.d.ts +0 -52
  1546. package/mssql-core/foreign-keys.js +0 -68
  1547. package/mssql-core/foreign-keys.js.map +0 -1
  1548. package/mssql-core/index.cjs +0 -55
  1549. package/mssql-core/index.cjs.map +0 -1
  1550. package/mssql-core/index.d.cts +0 -17
  1551. package/mssql-core/index.d.ts +0 -17
  1552. package/mssql-core/index.js +0 -18
  1553. package/mssql-core/index.js.map +0 -1
  1554. package/mssql-core/indexes.cjs +0 -82
  1555. package/mssql-core/indexes.cjs.map +0 -1
  1556. package/mssql-core/indexes.d.cts +0 -50
  1557. package/mssql-core/indexes.d.ts +0 -50
  1558. package/mssql-core/indexes.js +0 -54
  1559. package/mssql-core/indexes.js.map +0 -1
  1560. package/mssql-core/primary-keys.cjs +0 -66
  1561. package/mssql-core/primary-keys.cjs.map +0 -1
  1562. package/mssql-core/primary-keys.d.cts +0 -24
  1563. package/mssql-core/primary-keys.d.ts +0 -24
  1564. package/mssql-core/primary-keys.js +0 -40
  1565. package/mssql-core/primary-keys.js.map +0 -1
  1566. package/mssql-core/query-builders/delete.cjs +0 -107
  1567. package/mssql-core/query-builders/delete.cjs.map +0 -1
  1568. package/mssql-core/query-builders/delete.d.cts +0 -98
  1569. package/mssql-core/query-builders/delete.d.ts +0 -98
  1570. package/mssql-core/query-builders/delete.js +0 -83
  1571. package/mssql-core/query-builders/delete.js.map +0 -1
  1572. package/mssql-core/query-builders/index.cjs +0 -33
  1573. package/mssql-core/query-builders/index.cjs.map +0 -1
  1574. package/mssql-core/query-builders/index.d.cts +0 -6
  1575. package/mssql-core/query-builders/index.d.ts +0 -6
  1576. package/mssql-core/query-builders/index.js +0 -7
  1577. package/mssql-core/query-builders/index.js.map +0 -1
  1578. package/mssql-core/query-builders/insert.cjs +0 -105
  1579. package/mssql-core/query-builders/insert.cjs.map +0 -1
  1580. package/mssql-core/query-builders/insert.d.cts +0 -79
  1581. package/mssql-core/query-builders/insert.d.ts +0 -79
  1582. package/mssql-core/query-builders/insert.js +0 -80
  1583. package/mssql-core/query-builders/insert.js.map +0 -1
  1584. package/mssql-core/query-builders/query-builder.cjs +0 -95
  1585. package/mssql-core/query-builders/query-builder.cjs.map +0 -1
  1586. package/mssql-core/query-builders/query-builder.d.cts +0 -32
  1587. package/mssql-core/query-builders/query-builder.d.ts +0 -32
  1588. package/mssql-core/query-builders/query-builder.js +0 -71
  1589. package/mssql-core/query-builders/query-builder.js.map +0 -1
  1590. package/mssql-core/query-builders/query.cjs +0 -126
  1591. package/mssql-core/query-builders/query.cjs.map +0 -1
  1592. package/mssql-core/query-builders/query.d.cts +0 -42
  1593. package/mssql-core/query-builders/query.d.ts +0 -42
  1594. package/mssql-core/query-builders/query.js +0 -103
  1595. package/mssql-core/query-builders/query.js.map +0 -1
  1596. package/mssql-core/query-builders/select.cjs +0 -678
  1597. package/mssql-core/query-builders/select.cjs.map +0 -1
  1598. package/mssql-core/query-builders/select.d.cts +0 -549
  1599. package/mssql-core/query-builders/select.d.ts +0 -549
  1600. package/mssql-core/query-builders/select.js +0 -654
  1601. package/mssql-core/query-builders/select.js.map +0 -1
  1602. package/mssql-core/query-builders/select.types.cjs +0 -17
  1603. package/mssql-core/query-builders/select.types.cjs.map +0 -1
  1604. package/mssql-core/query-builders/select.types.d.cts +0 -142
  1605. package/mssql-core/query-builders/select.types.d.ts +0 -142
  1606. package/mssql-core/query-builders/select.types.js +0 -1
  1607. package/mssql-core/query-builders/select.types.js.map +0 -1
  1608. package/mssql-core/query-builders/update.cjs +0 -138
  1609. package/mssql-core/query-builders/update.cjs.map +0 -1
  1610. package/mssql-core/query-builders/update.d.cts +0 -142
  1611. package/mssql-core/query-builders/update.d.ts +0 -142
  1612. package/mssql-core/query-builders/update.js +0 -113
  1613. package/mssql-core/query-builders/update.js.map +0 -1
  1614. package/mssql-core/schema.cjs +0 -51
  1615. package/mssql-core/schema.cjs.map +0 -1
  1616. package/mssql-core/schema.d.cts +0 -22
  1617. package/mssql-core/schema.d.ts +0 -22
  1618. package/mssql-core/schema.js +0 -25
  1619. package/mssql-core/schema.js.map +0 -1
  1620. package/mssql-core/session.cjs +0 -74
  1621. package/mssql-core/session.cjs.map +0 -1
  1622. package/mssql-core/session.d.cts +0 -63
  1623. package/mssql-core/session.d.ts +0 -63
  1624. package/mssql-core/session.js +0 -48
  1625. package/mssql-core/session.js.map +0 -1
  1626. package/mssql-core/subquery.cjs +0 -17
  1627. package/mssql-core/subquery.cjs.map +0 -1
  1628. package/mssql-core/subquery.d.cts +0 -18
  1629. package/mssql-core/subquery.d.ts +0 -18
  1630. package/mssql-core/subquery.js +0 -1
  1631. package/mssql-core/subquery.js.map +0 -1
  1632. package/mssql-core/table.cjs +0 -81
  1633. package/mssql-core/table.cjs.map +0 -1
  1634. package/mssql-core/table.d.cts +0 -40
  1635. package/mssql-core/table.d.ts +0 -40
  1636. package/mssql-core/table.js +0 -55
  1637. package/mssql-core/table.js.map +0 -1
  1638. package/mssql-core/unique-constraint.cjs +0 -78
  1639. package/mssql-core/unique-constraint.cjs.map +0 -1
  1640. package/mssql-core/unique-constraint.d.cts +0 -24
  1641. package/mssql-core/unique-constraint.d.ts +0 -24
  1642. package/mssql-core/unique-constraint.js +0 -51
  1643. package/mssql-core/unique-constraint.js.map +0 -1
  1644. package/mssql-core/utils.cjs +0 -85
  1645. package/mssql-core/utils.cjs.map +0 -1
  1646. package/mssql-core/utils.d.cts +0 -31
  1647. package/mssql-core/utils.d.ts +0 -31
  1648. package/mssql-core/utils.js +0 -60
  1649. package/mssql-core/utils.js.map +0 -1
  1650. package/mssql-core/view-base.cjs +0 -33
  1651. package/mssql-core/view-base.cjs.map +0 -1
  1652. package/mssql-core/view-base.d.cts +0 -9
  1653. package/mssql-core/view-base.d.ts +0 -9
  1654. package/mssql-core/view-base.js +0 -9
  1655. package/mssql-core/view-base.js.map +0 -1
  1656. package/mssql-core/view-common.cjs +0 -29
  1657. package/mssql-core/view-common.cjs.map +0 -1
  1658. package/mssql-core/view-common.d.cts +0 -1
  1659. package/mssql-core/view-common.d.ts +0 -1
  1660. package/mssql-core/view-common.js +0 -5
  1661. package/mssql-core/view-common.js.map +0 -1
  1662. package/mssql-core/view.cjs +0 -154
  1663. package/mssql-core/view.cjs.map +0 -1
  1664. package/mssql-core/view.d.cts +0 -63
  1665. package/mssql-core/view.d.ts +0 -63
  1666. package/mssql-core/view.js +0 -125
  1667. package/mssql-core/view.js.map +0 -1
  1668. package/mysql-core/columns/blob.cjs +0 -158
  1669. package/mysql-core/columns/blob.cjs.map +0 -1
  1670. package/mysql-core/columns/blob.d.cts +0 -54
  1671. package/mysql-core/columns/blob.d.ts +0 -54
  1672. package/mysql-core/columns/blob.js +0 -127
  1673. package/mysql-core/columns/blob.js.map +0 -1
  1674. package/mysql-core/columns/string.common.cjs +0 -48
  1675. package/mysql-core/columns/string.common.cjs.map +0 -1
  1676. package/mysql-core/columns/string.common.d.cts +0 -21
  1677. package/mysql-core/columns/string.common.d.ts +0 -21
  1678. package/mysql-core/columns/string.common.js +0 -23
  1679. package/mysql-core/columns/string.common.js.map +0 -1
  1680. package/node-mssql/driver.cjs +0 -113
  1681. package/node-mssql/driver.cjs.map +0 -1
  1682. package/node-mssql/driver.d.cts +0 -46
  1683. package/node-mssql/driver.d.ts +0 -46
  1684. package/node-mssql/driver.js +0 -77
  1685. package/node-mssql/driver.js.map +0 -1
  1686. package/node-mssql/index.cjs +0 -25
  1687. package/node-mssql/index.cjs.map +0 -1
  1688. package/node-mssql/index.d.cts +0 -2
  1689. package/node-mssql/index.d.ts +0 -2
  1690. package/node-mssql/index.js +0 -3
  1691. package/node-mssql/index.js.map +0 -1
  1692. package/node-mssql/migrator.cjs +0 -33
  1693. package/node-mssql/migrator.cjs.map +0 -1
  1694. package/node-mssql/migrator.d.cts +0 -3
  1695. package/node-mssql/migrator.d.ts +0 -3
  1696. package/node-mssql/migrator.js +0 -9
  1697. package/node-mssql/migrator.js.map +0 -1
  1698. package/node-mssql/pool.cjs +0 -54
  1699. package/node-mssql/pool.cjs.map +0 -1
  1700. package/node-mssql/pool.d.cts +0 -8
  1701. package/node-mssql/pool.d.ts +0 -8
  1702. package/node-mssql/pool.js +0 -20
  1703. package/node-mssql/pool.js.map +0 -1
  1704. package/node-mssql/session.cjs +0 -256
  1705. package/node-mssql/session.cjs.map +0 -1
  1706. package/node-mssql/session.d.cts +0 -48
  1707. package/node-mssql/session.d.ts +0 -48
  1708. package/node-mssql/session.js +0 -224
  1709. package/node-mssql/session.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/bigint.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport class MySqlBigInt53Builder<TUnsigned extends boolean | undefined> extends MySqlColumnBuilderWithAutoIncrement<{\n\tdataType: Equal<TUnsigned, true> extends true ? 'number uint53' : 'number int53';\n\tdata: number;\n\tdriverParam: number | string;\n}, { unsigned?: boolean }> {\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt53Builder';\n\n\tconstructor(name: string, unsigned: boolean = false) {\n\t\tsuper(name, (unsigned ? 'number uint53' : 'number int53') as any, 'MySqlBigInt53');\n\t\tthis.config.unsigned = unsigned as TUnsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBigInt53(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt53<T extends ColumnBaseConfig<'number int53' | 'number uint53'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt53';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\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 class MySqlBigInt64Builder<TUnsigned extends boolean | undefined> extends MySqlColumnBuilderWithAutoIncrement<{\n\tdataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';\n\tdata: bigint;\n\tdriverParam: string;\n}, { unsigned?: boolean }> {\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt64Builder';\n\n\tconstructor(name: string, unsigned: boolean = false) {\n\t\tsuper(name, (unsigned ? 'bigint uint64' : 'bigint int64') as any, 'MySqlBigInt64');\n\t\tthis.config.unsigned = unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBigInt64(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt64<T extends ColumnBaseConfig<'bigint int64' | 'bigint uint64'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt64';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\toverride mapToDriverValue(value: bigint): string {\n\t\treturn value.toString();\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: bigint | string): bigint {\n\t\tif (typeof value === 'bigint') return value;\n\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface MySqlBigIntConfig<\n\tT extends 'number' | 'bigint' = 'number' | 'bigint',\n\tTUnsigned extends boolean | undefined = boolean | undefined,\n> {\n\tmode: T;\n\tunsigned?: TUnsigned;\n}\n\nexport function bigint<TMode extends MySqlBigIntConfig['mode'], TUnsigned extends boolean | undefined>(\n\tconfig: MySqlBigIntConfig<TMode, TUnsigned>,\n): TMode extends 'number' ? MySqlBigInt53Builder<TUnsigned> : MySqlBigInt64Builder<TUnsigned>;\nexport function bigint<TMode extends MySqlBigIntConfig['mode'], TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig: MySqlBigIntConfig<TMode, TUnsigned>,\n): TMode extends 'number' ? MySqlBigInt53Builder<TUnsigned> : MySqlBigInt64Builder<TUnsigned>;\nexport function bigint(a?: string | MySqlBigIntConfig, b?: MySqlBigIntConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBigIntConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new MySqlBigInt53Builder(name, config.unsigned);\n\t}\n\treturn new MySqlBigInt64Builder(name, config.unsigned);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,qCAAqC,oCAAoC;AAE3E,MAAM,6BAAoE,oCAItD;AAAA,EAC1B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,WAAoB,OAAO;AACpD,UAAM,MAAO,WAAW,kBAAkB,gBAAwB,eAAe;AACjF,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAEO,MAAM,6BAAoE,oCAItD;AAAA,EAC1B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,WAAoB,OAAO;AACpD,UAAM,MAAO,WAAW,kBAAkB,gBAAwB,eAAe;AACjF,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA,EAES,iBAAiB,OAAuB;AAChD,WAAO,MAAM,SAAS;AAAA,EACvB;AAAA;AAAA,EAGS,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAiBO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AAAA,EACtD;AACA,SAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/bigint.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport class MySqlBigInt53Builder<TUnsigned extends boolean | undefined> extends MySqlColumnBuilderWithAutoIncrement<{\n\tname: string;\n\tdataType: Equal<TUnsigned, true> extends true ? 'number uint53' : 'number int53';\n\tdata: number;\n\tdriverParam: number | string;\n}, { unsigned?: boolean }> {\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt53Builder';\n\n\tconstructor(name: string, unsigned: boolean = false) {\n\t\tsuper(name, (unsigned ? 'number uint53' : 'number int53') as any, 'MySqlBigInt53');\n\t\tthis.config.unsigned = unsigned as TUnsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBigInt53(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt53<T extends ColumnBaseConfig<'number int53' | 'number uint53'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt53';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\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 class MySqlBigInt64Builder<TUnsigned extends boolean | undefined> extends MySqlColumnBuilderWithAutoIncrement<{\n\tname: string;\n\tdataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';\n\tdata: bigint;\n\tdriverParam: string;\n}, { unsigned?: boolean }> {\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt64Builder';\n\n\tconstructor(name: string, unsigned: boolean = false) {\n\t\tsuper(name, (unsigned ? 'bigint uint64' : 'bigint int64') as any, 'MySqlBigInt64');\n\t\tthis.config.unsigned = unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBigInt64(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt64<T extends ColumnBaseConfig<'bigint int64' | 'bigint uint64'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt64';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\toverride mapToDriverValue(value: bigint): string {\n\t\treturn value.toString();\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: bigint | string): bigint {\n\t\tif (typeof value === 'bigint') return value;\n\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface MySqlBigIntConfig<\n\tT extends 'number' | 'bigint' = 'number' | 'bigint',\n\tTUnsigned extends boolean | undefined = boolean | undefined,\n> {\n\tmode: T;\n\tunsigned?: TUnsigned;\n}\n\nexport function bigint<TMode extends MySqlBigIntConfig['mode'], TUnsigned extends boolean | undefined>(\n\tconfig: MySqlBigIntConfig<TMode, TUnsigned>,\n): TMode extends 'number' ? MySqlBigInt53Builder<TUnsigned> : MySqlBigInt64Builder<TUnsigned>;\nexport function bigint<TMode extends MySqlBigIntConfig['mode'], TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig: MySqlBigIntConfig<TMode, TUnsigned>,\n): TMode extends 'number' ? MySqlBigInt53Builder<TUnsigned> : MySqlBigInt64Builder<TUnsigned>;\nexport function bigint(a?: string | MySqlBigIntConfig, b?: MySqlBigIntConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBigIntConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new MySqlBigInt53Builder(name, config.unsigned);\n\t}\n\treturn new MySqlBigInt64Builder(name, config.unsigned);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,qCAAqC,oCAAoC;AAE3E,MAAM,6BAAoE,oCAKtD;AAAA,EAC1B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,WAAoB,OAAO;AACpD,UAAM,MAAO,WAAW,kBAAkB,gBAAwB,eAAe;AACjF,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAEO,MAAM,6BAAoE,oCAKtD;AAAA,EAC1B,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,WAAoB,OAAO;AACpD,UAAM,MAAO,WAAW,kBAAkB,gBAAwB,eAAe;AACjF,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA,EAES,iBAAiB,OAAuB;AAChD,WAAO,MAAM,SAAS;AAAA,EACvB;AAAA;AAAA,EAGS,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAiBO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AAAA,EACtD;AACA,SAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AACtD;","names":[]}
@@ -32,6 +32,7 @@ class MySqlBinaryBuilder extends import_common.MySqlColumnBuilder {
32
32
  super(name, "string binary", "MySqlBinary");
33
33
  this.config.length = length ?? 1;
34
34
  this.config.setLength = length !== void 0;
35
+ this.config.isLengthExact = true;
35
36
  }
36
37
  /** @internal */
37
38
  build(table) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBinaryBuilder extends MySqlColumnBuilder<\n\t{\n\t\tdataType: 'string binary';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t},\n\tMySqlBinaryConfig & { setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: string, length: number | undefined) {\n\t\tsuper(name, 'string binary', 'MySqlBinary');\n\t\tthis.config.length = length ?? 1;\n\t\tthis.config.setLength = length !== undefined;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBinary(table, this.config as any);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string binary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig & { setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinary';\n\n\toverride mapFromDriverValue(value: string | Buffer | Uint8Array): string {\n\t\tif (typeof value === 'string') return value;\n\t\tif (Buffer.isBuffer(value)) return value.toString();\n\n\t\tconst str: string[] = [];\n\t\tfor (const v of value) {\n\t\t\tstr.push(v === 49 ? '1' : '0');\n\t\t}\n\n\t\treturn str.join('');\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `binary(${this.length})` : `binary`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(\n\tname: string,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAgD;AAEzC,MAAM,2BAA2B,iCAOtC;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA4B;AACrD,UAAM,MAAM,iBAAiB,aAAa;AAC1C,SAAK,OAAO,SAAS,UAAU;AAC/B,SAAK,OAAO,YAAY,WAAW;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,YAAY,OAAO,KAAK,MAAa;AAAA,EACjD;AACD;AAEO,MAAM,oBAAiE,0BAG5E;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEvC,mBAAmB,OAA6C;AACxE,QAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAI,OAAO,SAAS,KAAK,EAAG,QAAO,MAAM,SAAS;AAElD,UAAM,MAAgB,CAAC;AACvB,eAAW,KAAK,OAAO;AACtB,UAAI,KAAK,MAAM,KAAK,MAAM,GAAG;AAAA,IAC9B;AAEA,WAAO,IAAI,KAAK,EAAE;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,UAAU,KAAK,MAAM,MAAM;AAAA,EAC3D;AACD;AAaO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBinaryBuilder extends MySqlColumnBuilder<\n\t{\n\t\tname: string;\n\t\tdataType: 'string binary';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t},\n\tMySqlBinaryConfig & { setLength: boolean; isLengthExact: true }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: string, length: number | undefined) {\n\t\tsuper(name, 'string binary', 'MySqlBinary');\n\t\tthis.config.length = length ?? 1;\n\t\tthis.config.setLength = length !== undefined;\n\t\tthis.config.isLengthExact = true;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBinary(table, this.config as any);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string binary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig & { setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinary';\n\n\toverride mapFromDriverValue(value: string | Buffer | Uint8Array): string {\n\t\tif (typeof value === 'string') return value;\n\t\tif (Buffer.isBuffer(value)) return value.toString();\n\n\t\tconst str: string[] = [];\n\t\tfor (const v of value) {\n\t\t\tstr.push(v === 49 ? '1' : '0');\n\t\t}\n\n\t\treturn str.join('');\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `binary(${this.length})` : `binary`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(\n\tname: string,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAgD;AAEzC,MAAM,2BAA2B,iCAQtC;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA4B;AACrD,UAAM,MAAM,iBAAiB,aAAa;AAC1C,SAAK,OAAO,SAAS,UAAU;AAC/B,SAAK,OAAO,YAAY,WAAW;AACnC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,YAAY,OAAO,KAAK,MAAa;AAAA,EACjD;AACD;AAEO,MAAM,oBAAiE,0BAG5E;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEvC,mBAAmB,OAA6C;AACxE,QAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAI,OAAO,SAAS,KAAK,EAAG,QAAO,MAAM,SAAS;AAElD,UAAM,MAAgB,CAAC;AACvB,eAAW,KAAK,OAAO;AACtB,UAAI,KAAK,MAAM,KAAK,MAAM,GAAG;AAAA,IAC9B;AAEA,WAAO,IAAI,KAAK,EAAE;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,UAAU,KAAK,MAAM,MAAM;AAAA,EAC3D;AACD;AAaO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
@@ -2,11 +2,13 @@ import type { ColumnBaseConfig } from "../../column.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
3
  import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
4
4
  export declare class MySqlBinaryBuilder extends MySqlColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'string binary';
6
7
  data: string;
7
8
  driverParam: string;
8
9
  }, MySqlBinaryConfig & {
9
10
  setLength: boolean;
11
+ isLengthExact: true;
10
12
  }> {
11
13
  static readonly [entityKind]: string;
12
14
  constructor(name: string, length: number | undefined);
@@ -2,11 +2,13 @@ import type { ColumnBaseConfig } from "../../column.js";
2
2
  import { entityKind } from "../../entity.js";
3
3
  import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
4
4
  export declare class MySqlBinaryBuilder extends MySqlColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'string binary';
6
7
  data: string;
7
8
  driverParam: string;
8
9
  }, MySqlBinaryConfig & {
9
10
  setLength: boolean;
11
+ isLengthExact: true;
10
12
  }> {
11
13
  static readonly [entityKind]: string;
12
14
  constructor(name: string, length: number | undefined);
@@ -7,6 +7,7 @@ class MySqlBinaryBuilder extends MySqlColumnBuilder {
7
7
  super(name, "string binary", "MySqlBinary");
8
8
  this.config.length = length ?? 1;
9
9
  this.config.setLength = length !== void 0;
10
+ this.config.isLengthExact = true;
10
11
  }
11
12
  /** @internal */
12
13
  build(table) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBinaryBuilder extends MySqlColumnBuilder<\n\t{\n\t\tdataType: 'string binary';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t},\n\tMySqlBinaryConfig & { setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: string, length: number | undefined) {\n\t\tsuper(name, 'string binary', 'MySqlBinary');\n\t\tthis.config.length = length ?? 1;\n\t\tthis.config.setLength = length !== undefined;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBinary(table, this.config as any);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string binary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig & { setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinary';\n\n\toverride mapFromDriverValue(value: string | Buffer | Uint8Array): string {\n\t\tif (typeof value === 'string') return value;\n\t\tif (Buffer.isBuffer(value)) return value.toString();\n\n\t\tconst str: string[] = [];\n\t\tfor (const v of value) {\n\t\t\tstr.push(v === 49 ? '1' : '0');\n\t\t}\n\n\t\treturn str.join('');\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `binary(${this.length})` : `binary`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(\n\tname: string,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,aAAa,0BAA0B;AAEzC,MAAM,2BAA2B,mBAOtC;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA4B;AACrD,UAAM,MAAM,iBAAiB,aAAa;AAC1C,SAAK,OAAO,SAAS,UAAU;AAC/B,SAAK,OAAO,YAAY,WAAW;AAAA,EACpC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,YAAY,OAAO,KAAK,MAAa;AAAA,EACjD;AACD;AAEO,MAAM,oBAAiE,YAG5E;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEvC,mBAAmB,OAA6C;AACxE,QAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAI,OAAO,SAAS,KAAK,EAAG,QAAO,MAAM,SAAS;AAElD,UAAM,MAAgB,CAAC;AACvB,eAAW,KAAK,OAAO;AACtB,UAAI,KAAK,MAAM,KAAK,MAAM,GAAG;AAAA,IAC9B;AAEA,WAAO,IAAI,KAAK,EAAE;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,UAAU,KAAK,MAAM,MAAM;AAAA,EAC3D;AACD;AAaO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBinaryBuilder extends MySqlColumnBuilder<\n\t{\n\t\tname: string;\n\t\tdataType: 'string binary';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t},\n\tMySqlBinaryConfig & { setLength: boolean; isLengthExact: true }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: string, length: number | undefined) {\n\t\tsuper(name, 'string binary', 'MySqlBinary');\n\t\tthis.config.length = length ?? 1;\n\t\tthis.config.setLength = length !== undefined;\n\t\tthis.config.isLengthExact = true;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBinary(table, this.config as any);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string binary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig & { setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinary';\n\n\toverride mapFromDriverValue(value: string | Buffer | Uint8Array): string {\n\t\tif (typeof value === 'string') return value;\n\t\tif (Buffer.isBuffer(value)) return value.toString();\n\n\t\tconst str: string[] = [];\n\t\tfor (const v of value) {\n\t\t\tstr.push(v === 49 ? '1' : '0');\n\t\t}\n\n\t\treturn str.join('');\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `binary(${this.length})` : `binary`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(\n\tname: string,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilder;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,aAAa,0BAA0B;AAEzC,MAAM,2BAA2B,mBAQtC;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA4B;AACrD,UAAM,MAAM,iBAAiB,aAAa;AAC1C,SAAK,OAAO,SAAS,UAAU;AAC/B,SAAK,OAAO,YAAY,WAAW;AACnC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,YAAY,OAAO,KAAK,MAAa;AAAA,EACjD;AACD;AAEO,MAAM,oBAAiE,YAG5E;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEvC,mBAAmB,OAA6C;AACxE,QAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAI,OAAO,SAAS,KAAK,EAAG,QAAO,MAAM,SAAS;AAElD,UAAM,MAAgB,CAAC;AACvB,eAAW,KAAK,OAAO;AACtB,UAAI,KAAK,MAAM,KAAK,MAAM,GAAG;AAAA,IAC9B;AAEA,WAAO,IAAI,KAAK,EAAE;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,UAAU,KAAK,MAAM,MAAM;AAAA,EAC3D;AACD;AAaO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBooleanBuilder extends MySqlColumnBuilder<{\n\tdataType: 'boolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBoolean(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(name?: string): MySqlBooleanBuilder {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAAgD;AAEzC,MAAM,4BAA4B,iCAItC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4D,0BAAe;AAAA,EACvF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,MAAoC;AAC3D,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBooleanBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'boolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBoolean(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(name?: string): MySqlBooleanBuilder {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAAgD;AAEzC,MAAM,4BAA4B,iCAKtC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4D,0BAAe;AAAA,EACvF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,MAAoC;AAC3D,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
@@ -2,6 +2,7 @@ import type { ColumnBaseConfig } from "../../column.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
3
  import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
4
4
  export declare class MySqlBooleanBuilder extends MySqlColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'boolean';
6
7
  data: boolean;
7
8
  driverParam: number | boolean;
@@ -2,6 +2,7 @@ import type { ColumnBaseConfig } from "../../column.js";
2
2
  import { entityKind } from "../../entity.js";
3
3
  import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
4
4
  export declare class MySqlBooleanBuilder extends MySqlColumnBuilder<{
5
+ name: string;
5
6
  dataType: 'boolean';
6
7
  data: boolean;
7
8
  driverParam: number | boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBooleanBuilder extends MySqlColumnBuilder<{\n\tdataType: 'boolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBoolean(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(name?: string): MySqlBooleanBuilder {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,aAAa,0BAA0B;AAEzC,MAAM,4BAA4B,mBAItC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4D,YAAe;AAAA,EACvF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,MAAoC;AAC3D,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlBooleanBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'boolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlBoolean(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(name?: string): MySqlBooleanBuilder {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,aAAa,0BAA0B;AAEzC,MAAM,4BAA4B,mBAKtC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4D,YAAe;AAAA,EACvF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,MAAoC;AAC3D,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
@@ -25,14 +25,15 @@ __export(char_exports, {
25
25
  module.exports = __toCommonJS(char_exports);
26
26
  var import_entity = require("../../entity.cjs");
27
27
  var import_utils = require("../../utils.cjs");
28
- var import_string_common = require("./string.common.cjs");
29
- class MySqlCharBuilder extends import_string_common.MySqlStringColumnBaseBuilder {
28
+ var import_common = require("./common.cjs");
29
+ class MySqlCharBuilder extends import_common.MySqlColumnBuilder {
30
30
  static [import_entity.entityKind] = "MySqlCharBuilder";
31
31
  constructor(name, config) {
32
32
  super(name, config.enum?.length ? "string enum" : "string", "MySqlChar");
33
33
  this.config.length = config.length ?? 1;
34
34
  this.config.setLength = config.length !== void 0;
35
35
  this.config.enum = config.enum;
36
+ this.config.isLengthExact = true;
36
37
  }
37
38
  /** @internal */
38
39
  build(table) {
@@ -42,7 +43,7 @@ class MySqlCharBuilder extends import_string_common.MySqlStringColumnBaseBuilder
42
43
  );
43
44
  }
44
45
  }
45
- class MySqlChar extends import_string_common.MySqlStringBaseColumn {
46
+ class MySqlChar extends import_common.MySqlColumn {
46
47
  static [import_entity.entityKind] = "MySqlChar";
47
48
  enumValues = this.config.enum;
48
49
  getSQLType() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlStringBaseColumn, MySqlStringColumnBaseBuilder } from './string.common.ts';\n\nexport class MySqlCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlStringColumnBaseBuilder<\n\t{\n\t\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string' : 'string enum';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t},\n\t{ enum?: TEnum; length: number; setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: string, config: MySqlCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string', 'MySqlChar');\n\t\tthis.config.length = (config.length ?? 1) as number;\n\t\tthis.config.setLength = config.length !== undefined;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>>\n\textends MySqlStringBaseColumn<T, { enum?: T['enumValues']; length: number; setLength: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `char(${this.length})` : `char`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: number;\n}\n\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAkE;AAClE,2BAAoE;AAE7D,MAAM,yBAEH,kDAQR;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAgC;AACzD,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,UAAU,WAAW;AACvE,SAAK,OAAO,SAAU,OAAO,UAAU;AACvC,SAAK,OAAO,YAAY,OAAO,WAAW;AAC1C,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,2CACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,QAAQ,KAAK,MAAM,MAAM;AAAA,EACzD;AACD;AAmBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlColumnBuilder<\n\t{\n\t\tname: string;\n\t\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string' : 'string enum';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t},\n\t{ enum?: TEnum; length: number; setLength: boolean; isLengthExact: true }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: string, config: MySqlCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string', 'MySqlChar');\n\t\tthis.config.length = (config.length ?? 1) as number;\n\t\tthis.config.setLength = config.length !== undefined;\n\t\tthis.config.enum = config.enum;\n\t\tthis.config.isLengthExact = true;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>>\n\textends MySqlColumn<T, { enum?: T['enumValues']; length: number; setLength: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `char(${this.length})` : `char`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: number;\n}\n\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAkE;AAClE,oBAAgD;AAEzC,MAAM,yBAEH,iCASR;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAgC;AACzD,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,UAAU,WAAW;AACvE,SAAK,OAAO,SAAU,OAAO,UAAU;AACvC,SAAK,OAAO,YAAY,OAAO,WAAW;AAC1C,SAAK,OAAO,OAAO,OAAO;AAC1B,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,0BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,QAAQ,KAAK,MAAM,MAAM;AAAA,EACzD;AACD;AAmBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
@@ -1,8 +1,9 @@
1
1
  import type { ColumnBaseConfig } from "../../column.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
3
  import { type Equal, type Writable } from "../../utils.cjs";
4
- import { MySqlStringBaseColumn, MySqlStringColumnBaseBuilder } from "./string.common.cjs";
5
- export declare class MySqlCharBuilder<TEnum extends [string, ...string[]]> extends MySqlStringColumnBaseBuilder<{
4
+ import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
5
+ export declare class MySqlCharBuilder<TEnum extends [string, ...string[]]> extends MySqlColumnBuilder<{
6
+ name: string;
6
7
  dataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string' : 'string enum';
7
8
  data: TEnum[number];
8
9
  driverParam: number | string;
@@ -11,11 +12,12 @@ export declare class MySqlCharBuilder<TEnum extends [string, ...string[]]> exten
11
12
  enum?: TEnum;
12
13
  length: number;
13
14
  setLength: boolean;
15
+ isLengthExact: true;
14
16
  }> {
15
17
  static readonly [entityKind]: string;
16
18
  constructor(name: string, config: MySqlCharConfig<TEnum>);
17
19
  }
18
- export declare class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>> extends MySqlStringBaseColumn<T, {
20
+ export declare class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>> extends MySqlColumn<T, {
19
21
  enum?: T['enumValues'];
20
22
  length: number;
21
23
  setLength: boolean;
@@ -1,8 +1,9 @@
1
1
  import type { ColumnBaseConfig } from "../../column.js";
2
2
  import { entityKind } from "../../entity.js";
3
3
  import { type Equal, type Writable } from "../../utils.js";
4
- import { MySqlStringBaseColumn, MySqlStringColumnBaseBuilder } from "./string.common.js";
5
- export declare class MySqlCharBuilder<TEnum extends [string, ...string[]]> extends MySqlStringColumnBaseBuilder<{
4
+ import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
5
+ export declare class MySqlCharBuilder<TEnum extends [string, ...string[]]> extends MySqlColumnBuilder<{
6
+ name: string;
6
7
  dataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string' : 'string enum';
7
8
  data: TEnum[number];
8
9
  driverParam: number | string;
@@ -11,11 +12,12 @@ export declare class MySqlCharBuilder<TEnum extends [string, ...string[]]> exten
11
12
  enum?: TEnum;
12
13
  length: number;
13
14
  setLength: boolean;
15
+ isLengthExact: true;
14
16
  }> {
15
17
  static readonly [entityKind]: string;
16
18
  constructor(name: string, config: MySqlCharConfig<TEnum>);
17
19
  }
18
- export declare class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>> extends MySqlStringBaseColumn<T, {
20
+ export declare class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>> extends MySqlColumn<T, {
19
21
  enum?: T['enumValues'];
20
22
  length: number;
21
23
  setLength: boolean;
@@ -1,13 +1,14 @@
1
1
  import { entityKind } from "../../entity.js";
2
2
  import { getColumnNameAndConfig } from "../../utils.js";
3
- import { MySqlStringBaseColumn, MySqlStringColumnBaseBuilder } from "./string.common.js";
4
- class MySqlCharBuilder extends MySqlStringColumnBaseBuilder {
3
+ import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
4
+ class MySqlCharBuilder extends MySqlColumnBuilder {
5
5
  static [entityKind] = "MySqlCharBuilder";
6
6
  constructor(name, config) {
7
7
  super(name, config.enum?.length ? "string enum" : "string", "MySqlChar");
8
8
  this.config.length = config.length ?? 1;
9
9
  this.config.setLength = config.length !== void 0;
10
10
  this.config.enum = config.enum;
11
+ this.config.isLengthExact = true;
11
12
  }
12
13
  /** @internal */
13
14
  build(table) {
@@ -17,7 +18,7 @@ class MySqlCharBuilder extends MySqlStringColumnBaseBuilder {
17
18
  );
18
19
  }
19
20
  }
20
- class MySqlChar extends MySqlStringBaseColumn {
21
+ class MySqlChar extends MySqlColumn {
21
22
  static [entityKind] = "MySqlChar";
22
23
  enumValues = this.config.enum;
23
24
  getSQLType() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlStringBaseColumn, MySqlStringColumnBaseBuilder } from './string.common.ts';\n\nexport class MySqlCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlStringColumnBaseBuilder<\n\t{\n\t\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string' : 'string enum';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t},\n\t{ enum?: TEnum; length: number; setLength: boolean }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: string, config: MySqlCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string', 'MySqlChar');\n\t\tthis.config.length = (config.length ?? 1) as number;\n\t\tthis.config.setLength = config.length !== undefined;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>>\n\textends MySqlStringBaseColumn<T, { enum?: T['enumValues']; length: number; setLength: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `char(${this.length})` : `char`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: number;\n}\n\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA6C;AAClE,SAAS,uBAAuB,oCAAoC;AAE7D,MAAM,yBAEH,6BAQR;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAgC;AACzD,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,UAAU,WAAW;AACvE,SAAK,OAAO,SAAU,OAAO,UAAU;AACvC,SAAK,OAAO,YAAY,OAAO,WAAW;AAC1C,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,sBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,QAAQ,KAAK,MAAM,MAAM;AAAA,EACzD;AACD;AAmBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlColumnBuilder<\n\t{\n\t\tname: string;\n\t\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string' : 'string enum';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t},\n\t{ enum?: TEnum; length: number; setLength: boolean; isLengthExact: true }\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: string, config: MySqlCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string', 'MySqlChar');\n\t\tthis.config.length = (config.length ?? 1) as number;\n\t\tthis.config.setLength = config.length !== undefined;\n\t\tthis.config.enum = config.enum;\n\t\tthis.config.isLengthExact = true;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string' | 'string enum'>>\n\textends MySqlColumn<T, { enum?: T['enumValues']; length: number; setLength: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.config.setLength ? `char(${this.length})` : `char`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: number;\n}\n\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilder<Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA6C;AAClE,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAEH,mBASR;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAgC;AACzD,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,UAAU,WAAW;AACvE,SAAK,OAAO,SAAU,OAAO,UAAU;AACvC,SAAK,OAAO,YAAY,OAAO,WAAW;AAC1C,SAAK,OAAO,OAAO,OAAO;AAC1B,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,YACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,OAAO,YAAY,QAAQ,KAAK,MAAM,MAAM;AAAA,EACzD;AACD;AAmBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
@@ -28,6 +28,7 @@ var import_column_builder = require("../../column-builder.cjs");
28
28
  var import_column = require("../../column.cjs");
29
29
  var import_entity = require("../../entity.cjs");
30
30
  var import_foreign_keys = require("../foreign-keys.cjs");
31
+ var import_unique_constraint = require("../unique-constraint.cjs");
31
32
  class MySqlColumnBuilder extends import_column_builder.ColumnBuilder {
32
33
  static [import_entity.entityKind] = "MySqlColumnBuilder";
33
34
  foreignKeyConfigs = [];
@@ -72,6 +73,9 @@ class MySqlColumn extends import_column.Column {
72
73
  /** @internal */
73
74
  table;
74
75
  constructor(table, config) {
76
+ if (!config.uniqueName) {
77
+ config.uniqueName = (0, import_unique_constraint.uniqueKeyName)(table, [config.name]);
78
+ }
75
79
  super(table, config);
76
80
  this.table = table;
77
81
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\n\nexport type MySqlColumns = Record<string, MySqlColumn<any>>;\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(table: MySqlTable): MySqlColumn;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumn';\n\n\t/** @internal */\n\toverride readonly table: MySqlTable;\n\n\tconstructor(\n\t\ttable: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: string, dataType: T['dataType'], columnType: string) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): IsAutoincrement<HasDefault<this>> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as IsAutoincrement<HasDefault<this>>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA8B;AAW9B,oBAAuB;AACvB,oBAA2B;AAE3B,0BAAkC;AAmB3B,MAAe,2BAMZ,oCAA+C;AAAA,EACxD,QAA0B,wBAAU,IAAY;AAAA,EAExC,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAElD;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,sCAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAID;AAGO,MAAe,oBAGZ,qBAA0B;AAAA,EACnC,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,UAAyB,YAAoB;AACtE,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAmD;AAClD,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAA0B,wBAAU,IAAY;AAAA,EAEvC,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport type MySqlColumns = Record<string, MySqlColumn<any>>;\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(table: MySqlTable): MySqlColumn;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumn';\n\n\t/** @internal */\n\toverride readonly table: MySqlTable;\n\n\tconstructor(\n\t\ttable: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: string) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): IsAutoincrement<HasDefault<this>> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as IsAutoincrement<HasDefault<this>>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA8B;AAW9B,oBAAuB;AACvB,oBAA2B;AAE3B,0BAAkC;AAIlC,+BAA8B;AAgBvB,MAAe,2BAMZ,oCAA+C;AAAA,EACxD,QAA0B,wBAAU,IAAY;AAAA,EAExC,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAElD;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,sCAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAID;AAGO,MAAe,oBAGZ,qBAA0B;AAAA,EACnC,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAA8B,UAAyB,YAAoB;AACtF,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAmD;AAClD,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAA0B,wBAAU,IAAY;AAAA,EAEvC,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
@@ -39,7 +39,7 @@ export interface MySqlColumnWithAutoIncrementConfig {
39
39
  }
40
40
  export declare abstract class MySqlColumnBuilderWithAutoIncrement<T extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>, TRuntimeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {
41
41
  static readonly [entityKind]: string;
42
- constructor(name: string, dataType: T['dataType'], columnType: string);
42
+ constructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: string);
43
43
  autoincrement(): IsAutoincrement<HasDefault<this>>;
44
44
  }
45
45
  export declare abstract class MySqlColumnWithAutoIncrement<T extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>, TRuntimeConfig extends object = object> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {
@@ -39,7 +39,7 @@ export interface MySqlColumnWithAutoIncrementConfig {
39
39
  }
40
40
  export declare abstract class MySqlColumnBuilderWithAutoIncrement<T extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>, TRuntimeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {
41
41
  static readonly [entityKind]: string;
42
- constructor(name: string, dataType: T['dataType'], columnType: string);
42
+ constructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: string);
43
43
  autoincrement(): IsAutoincrement<HasDefault<this>>;
44
44
  }
45
45
  export declare abstract class MySqlColumnWithAutoIncrement<T extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>, TRuntimeConfig extends object = object> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {
@@ -2,6 +2,7 @@ import { ColumnBuilder } from "../../column-builder.js";
2
2
  import { Column } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
4
  import { ForeignKeyBuilder } from "../foreign-keys.js";
5
+ import { uniqueKeyName } from "../unique-constraint.js";
5
6
  class MySqlColumnBuilder extends ColumnBuilder {
6
7
  static [entityKind] = "MySqlColumnBuilder";
7
8
  foreignKeyConfigs = [];
@@ -46,6 +47,9 @@ class MySqlColumn extends Column {
46
47
  /** @internal */
47
48
  table;
48
49
  constructor(table, config) {
50
+ if (!config.uniqueName) {
51
+ config.uniqueName = uniqueKeyName(table, [config.name]);
52
+ }
49
53
  super(table, config);
50
54
  this.table = table;
51
55
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\n\nexport type MySqlColumns = Record<string, MySqlColumn<any>>;\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(table: MySqlTable): MySqlColumn;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumn';\n\n\t/** @internal */\n\toverride readonly table: MySqlTable;\n\n\tconstructor(\n\t\ttable: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: string, dataType: T['dataType'], columnType: string) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): IsAutoincrement<HasDefault<this>> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as IsAutoincrement<HasDefault<this>>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAW9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAmB3B,MAAe,2BAMZ,cAA+C;AAAA,EACxD,QAA0B,UAAU,IAAY;AAAA,EAExC,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAElD;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAID;AAGO,MAAe,oBAGZ,OAA0B;AAAA,EACnC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,UAAyB,YAAoB;AACtE,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAmD;AAClD,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAA0B,UAAU,IAAY;AAAA,EAEvC,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport type MySqlColumns = Record<string, MySqlColumn<any>>;\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(table: MySqlTable): MySqlColumn;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumn';\n\n\t/** @internal */\n\toverride readonly table: MySqlTable;\n\n\tconstructor(\n\t\ttable: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: string) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): IsAutoincrement<HasDefault<this>> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as IsAutoincrement<HasDefault<this>>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAW9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAIlC,SAAS,qBAAqB;AAgBvB,MAAe,2BAMZ,cAA+C;AAAA,EACxD,QAA0B,UAAU,IAAY;AAAA,EAExC,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAElD;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAID;AAGO,MAAe,oBAGZ,OAA0B;AAAA,EACnC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAA8B,UAAyB,YAAoB;AACtF,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAmD;AAClD,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAA0B,UAAU,IAAY;AAAA,EAEvC,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface MySqlCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class MySqlCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends MySqlColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'MySqlCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary': {\n\t\t\t\treturn sql`hex(${identifier})`;\n\t\t\t}\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom mysql database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name, config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAAgD;AAezC,MAAM,iCAA8E,iCAMzF;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,mBAAmB;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAgE,0BAAe;AAAA,EAC3F,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK,aAAa;AACjB,eAAO,UAAU,UAAU;AAAA,MAC5B;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACsD;AACtD,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAAM,QAAQ,gBAAgB;AAAA,EACnE;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: string;\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface MySqlCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class MySqlCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends MySqlColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'MySqlCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary': {\n\t\t\t\treturn sql`hex(${identifier})`;\n\t\t\t}\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom mysql database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name as ConvertCustomConfig<T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAAgD;AAgBzC,MAAM,iCAA8E,iCAMzF;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,mBAAmB;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAgE,0BAAe;AAAA,EAC3F,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK,aAAa;AACjB,eAAO,UAAU,UAAU;AAAA,MAC5B;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACsD;AACtD,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAAwC,QAAQ,gBAAgB;AAAA,EACrG;AACD;","names":[]}
@@ -6,6 +6,7 @@ import type { SQL, SQLGenerator } from "../../sql/sql.cjs";
6
6
  import { type Equal } from "../../utils.cjs";
7
7
  import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
8
8
  export type ConvertCustomConfig<T extends Partial<CustomTypeValues>> = {
9
+ name: string;
9
10
  dataType: 'custom';
10
11
  data: T['data'];
11
12
  driverParam: T['driverData'];
@@ -6,6 +6,7 @@ import type { SQL, SQLGenerator } from "../../sql/sql.js";
6
6
  import { type Equal } from "../../utils.js";
7
7
  import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
8
8
  export type ConvertCustomConfig<T extends Partial<CustomTypeValues>> = {
9
+ name: string;
9
10
  dataType: 'custom';
10
11
  data: T['data'];
11
12
  driverParam: T['driverData'];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface MySqlCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class MySqlCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends MySqlColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'MySqlCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary': {\n\t\t\t\treturn sql`hex(${identifier})`;\n\t\t\t}\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom mysql database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name, config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAezC,MAAM,iCAA8E,mBAMzF;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,mBAAmB;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAgE,YAAe;AAAA,EAC3F,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK,aAAa;AACjB,eAAO,UAAU,UAAU;AAAA,MAC5B;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACsD;AACtD,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAAM,QAAQ,gBAAgB;AAAA,EACnE;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: string;\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface MySqlCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class MySqlCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>> extends MySqlColumnBuilder<\n\tT,\n\t{\n\t\tfieldConfig: CustomTypeValues['config'];\n\t\tcustomTypeParams: CustomTypeParams<any>;\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'MySqlCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary': {\n\t\t\t\treturn sql`hex(${identifier})`;\n\t\t\t}\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom mysql database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbName: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name as ConvertCustomConfig<T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAgBzC,MAAM,iCAA8E,mBAMzF;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,mBAAmB;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAgE,YAAe;AAAA,EAC3F,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK,aAAa;AACjB,eAAO,UAAU,UAAU;AAAA,MAC5B;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAmBD;AACC,SAAO,CACN,GACA,MACsD;AACtD,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAAwC,QAAQ,gBAAgB;AAAA,EACrG;AACD;","names":[]}