drizzle-orm 1.0.0-beta.1-02522e1 → 1.0.0-beta.1-37e2608

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 (1794) 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 +12 -3
  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 +12 -3
  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-sql/sqlite/session.cjs +2 -0
  50. package/bun-sql/sqlite/session.cjs.map +1 -1
  51. package/bun-sql/sqlite/session.js +2 -0
  52. package/bun-sql/sqlite/session.js.map +1 -1
  53. package/bun-sqlite/driver.cjs +15 -11
  54. package/bun-sqlite/driver.cjs.map +1 -1
  55. package/bun-sqlite/driver.d.cts +3 -3
  56. package/bun-sqlite/driver.d.ts +3 -3
  57. package/bun-sqlite/driver.js +15 -11
  58. package/bun-sqlite/driver.js.map +1 -1
  59. package/column-builder.cjs.map +1 -1
  60. package/column-builder.d.cts +8 -9
  61. package/column-builder.d.ts +8 -9
  62. package/column-builder.js.map +1 -1
  63. package/durable-sqlite/migrator.cjs +7 -10
  64. package/durable-sqlite/migrator.cjs.map +1 -1
  65. package/durable-sqlite/migrator.d.cts +8 -0
  66. package/durable-sqlite/migrator.d.ts +8 -0
  67. package/durable-sqlite/migrator.js +7 -10
  68. package/durable-sqlite/migrator.js.map +1 -1
  69. package/durable-sqlite/session.cjs +3 -6
  70. package/durable-sqlite/session.cjs.map +1 -1
  71. package/durable-sqlite/session.d.cts +2 -1
  72. package/durable-sqlite/session.d.ts +2 -1
  73. package/durable-sqlite/session.js +2 -6
  74. package/durable-sqlite/session.js.map +1 -1
  75. package/entity.cjs.map +1 -1
  76. package/entity.js.map +1 -1
  77. package/expo-sqlite/migrator.cjs +7 -10
  78. package/expo-sqlite/migrator.cjs.map +1 -1
  79. package/expo-sqlite/migrator.d.cts +8 -0
  80. package/expo-sqlite/migrator.d.ts +8 -0
  81. package/expo-sqlite/migrator.js +7 -10
  82. package/expo-sqlite/migrator.js.map +1 -1
  83. package/gel/driver.cjs +10 -6
  84. package/gel/driver.cjs.map +1 -1
  85. package/gel/driver.d.cts +2 -2
  86. package/gel/driver.d.ts +2 -2
  87. package/gel/driver.js +10 -6
  88. package/gel/driver.js.map +1 -1
  89. package/gel-core/columns/bigint.cjs.map +1 -1
  90. package/gel-core/columns/bigint.d.cts +1 -0
  91. package/gel-core/columns/bigint.d.ts +1 -0
  92. package/gel-core/columns/bigint.js.map +1 -1
  93. package/gel-core/columns/bigintT.cjs.map +1 -1
  94. package/gel-core/columns/bigintT.d.cts +1 -0
  95. package/gel-core/columns/bigintT.d.ts +1 -0
  96. package/gel-core/columns/bigintT.js.map +1 -1
  97. package/gel-core/columns/boolean.cjs.map +1 -1
  98. package/gel-core/columns/boolean.d.cts +1 -0
  99. package/gel-core/columns/boolean.d.ts +1 -0
  100. package/gel-core/columns/boolean.js.map +1 -1
  101. package/gel-core/columns/bytes.cjs.map +1 -1
  102. package/gel-core/columns/bytes.d.cts +1 -0
  103. package/gel-core/columns/bytes.d.ts +1 -0
  104. package/gel-core/columns/bytes.js.map +1 -1
  105. package/gel-core/columns/common.cjs +4 -0
  106. package/gel-core/columns/common.cjs.map +1 -1
  107. package/gel-core/columns/common.d.cts +1 -1
  108. package/gel-core/columns/common.d.ts +1 -1
  109. package/gel-core/columns/common.js +4 -0
  110. package/gel-core/columns/common.js.map +1 -1
  111. package/gel-core/columns/custom.cjs.map +1 -1
  112. package/gel-core/columns/custom.d.cts +1 -0
  113. package/gel-core/columns/custom.d.ts +1 -0
  114. package/gel-core/columns/custom.js.map +1 -1
  115. package/gel-core/columns/date-duration.cjs.map +1 -1
  116. package/gel-core/columns/date-duration.d.cts +1 -0
  117. package/gel-core/columns/date-duration.d.ts +1 -0
  118. package/gel-core/columns/date-duration.js.map +1 -1
  119. package/gel-core/columns/decimal.cjs.map +1 -1
  120. package/gel-core/columns/decimal.d.cts +1 -0
  121. package/gel-core/columns/decimal.d.ts +1 -0
  122. package/gel-core/columns/decimal.js.map +1 -1
  123. package/gel-core/columns/double-precision.cjs.map +1 -1
  124. package/gel-core/columns/double-precision.d.cts +1 -0
  125. package/gel-core/columns/double-precision.d.ts +1 -0
  126. package/gel-core/columns/double-precision.js.map +1 -1
  127. package/gel-core/columns/duration.cjs.map +1 -1
  128. package/gel-core/columns/duration.d.cts +1 -0
  129. package/gel-core/columns/duration.d.ts +1 -0
  130. package/gel-core/columns/duration.js.map +1 -1
  131. package/gel-core/columns/integer.cjs.map +1 -1
  132. package/gel-core/columns/integer.d.cts +1 -0
  133. package/gel-core/columns/integer.d.ts +1 -0
  134. package/gel-core/columns/integer.js.map +1 -1
  135. package/gel-core/columns/json.cjs.map +1 -1
  136. package/gel-core/columns/json.d.cts +1 -0
  137. package/gel-core/columns/json.d.ts +1 -0
  138. package/gel-core/columns/json.js.map +1 -1
  139. package/gel-core/columns/localdate.cjs.map +1 -1
  140. package/gel-core/columns/localdate.d.cts +1 -0
  141. package/gel-core/columns/localdate.d.ts +1 -0
  142. package/gel-core/columns/localdate.js.map +1 -1
  143. package/gel-core/columns/localtime.cjs.map +1 -1
  144. package/gel-core/columns/localtime.d.cts +1 -0
  145. package/gel-core/columns/localtime.d.ts +1 -0
  146. package/gel-core/columns/localtime.js.map +1 -1
  147. package/gel-core/columns/real.cjs.map +1 -1
  148. package/gel-core/columns/real.d.cts +1 -0
  149. package/gel-core/columns/real.d.ts +1 -0
  150. package/gel-core/columns/real.js.map +1 -1
  151. package/gel-core/columns/relative-duration.cjs.map +1 -1
  152. package/gel-core/columns/relative-duration.d.cts +1 -0
  153. package/gel-core/columns/relative-duration.d.ts +1 -0
  154. package/gel-core/columns/relative-duration.js.map +1 -1
  155. package/gel-core/columns/smallint.cjs.map +1 -1
  156. package/gel-core/columns/smallint.d.cts +1 -0
  157. package/gel-core/columns/smallint.d.ts +1 -0
  158. package/gel-core/columns/smallint.js.map +1 -1
  159. package/gel-core/columns/text.cjs.map +1 -1
  160. package/gel-core/columns/text.d.cts +1 -0
  161. package/gel-core/columns/text.d.ts +1 -0
  162. package/gel-core/columns/text.js.map +1 -1
  163. package/gel-core/columns/timestamp.cjs.map +1 -1
  164. package/gel-core/columns/timestamp.d.cts +1 -0
  165. package/gel-core/columns/timestamp.d.ts +1 -0
  166. package/gel-core/columns/timestamp.js.map +1 -1
  167. package/gel-core/columns/timestamptz.cjs.map +1 -1
  168. package/gel-core/columns/timestamptz.d.cts +1 -0
  169. package/gel-core/columns/timestamptz.d.ts +1 -0
  170. package/gel-core/columns/timestamptz.js.map +1 -1
  171. package/gel-core/columns/uuid.cjs.map +1 -1
  172. package/gel-core/columns/uuid.d.cts +1 -0
  173. package/gel-core/columns/uuid.d.ts +1 -0
  174. package/gel-core/columns/uuid.js.map +1 -1
  175. package/gel-core/query-builders/count.cjs.map +1 -1
  176. package/gel-core/query-builders/count.d.cts +3 -4
  177. package/gel-core/query-builders/count.d.ts +3 -4
  178. package/gel-core/query-builders/count.js.map +1 -1
  179. package/gel-core/query-builders/insert.cjs.map +1 -1
  180. package/gel-core/query-builders/insert.d.cts +9 -6
  181. package/gel-core/query-builders/insert.d.ts +9 -6
  182. package/gel-core/query-builders/insert.js.map +1 -1
  183. package/gel-core/query-builders/select.cjs +9 -8
  184. package/gel-core/query-builders/select.cjs.map +1 -1
  185. package/gel-core/query-builders/select.js +4 -4
  186. package/gel-core/query-builders/select.js.map +1 -1
  187. package/gel-core/query-builders/update.cjs +2 -2
  188. package/gel-core/query-builders/update.cjs.map +1 -1
  189. package/gel-core/query-builders/update.d.cts +1 -1
  190. package/gel-core/query-builders/update.d.ts +1 -1
  191. package/gel-core/query-builders/update.js +2 -2
  192. package/gel-core/query-builders/update.js.map +1 -1
  193. package/gel-core/schema.cjs +4 -4
  194. package/gel-core/schema.cjs.map +1 -1
  195. package/gel-core/schema.js +4 -4
  196. package/gel-core/schema.js.map +1 -1
  197. package/gel-core/utils.cjs +2 -1
  198. package/gel-core/utils.cjs.map +1 -1
  199. package/gel-core/utils.d.cts +1 -1
  200. package/gel-core/utils.d.ts +1 -1
  201. package/gel-core/utils.js +2 -1
  202. package/gel-core/utils.js.map +1 -1
  203. package/gel-core/view-common.cjs +0 -3
  204. package/gel-core/view-common.cjs.map +1 -1
  205. package/gel-core/view-common.d.cts +0 -1
  206. package/gel-core/view-common.d.ts +0 -1
  207. package/gel-core/view-common.js +0 -2
  208. package/gel-core/view-common.js.map +1 -1
  209. package/gel-core/view.cjs +5 -2
  210. package/gel-core/view.cjs.map +1 -1
  211. package/gel-core/view.d.cts +2 -1
  212. package/gel-core/view.d.ts +2 -1
  213. package/gel-core/view.js +3 -1
  214. package/gel-core/view.js.map +1 -1
  215. package/libsql/driver.cjs +10 -6
  216. package/libsql/driver.cjs.map +1 -1
  217. package/libsql/driver.d.cts +3 -3
  218. package/libsql/driver.d.ts +3 -3
  219. package/libsql/driver.js +10 -6
  220. package/libsql/driver.js.map +1 -1
  221. package/libsql/http/index.cjs +10 -6
  222. package/libsql/http/index.cjs.map +1 -1
  223. package/libsql/http/index.d.cts +3 -3
  224. package/libsql/http/index.d.ts +3 -3
  225. package/libsql/http/index.js +10 -6
  226. package/libsql/http/index.js.map +1 -1
  227. package/libsql/node/index.cjs +10 -6
  228. package/libsql/node/index.cjs.map +1 -1
  229. package/libsql/node/index.d.cts +3 -3
  230. package/libsql/node/index.d.ts +3 -3
  231. package/libsql/node/index.js +10 -6
  232. package/libsql/node/index.js.map +1 -1
  233. package/libsql/session.cjs +2 -0
  234. package/libsql/session.cjs.map +1 -1
  235. package/libsql/session.d.cts +1 -1
  236. package/libsql/session.d.ts +1 -1
  237. package/libsql/session.js +2 -0
  238. package/libsql/session.js.map +1 -1
  239. package/libsql/sqlite3/index.cjs +10 -6
  240. package/libsql/sqlite3/index.cjs.map +1 -1
  241. package/libsql/sqlite3/index.d.cts +3 -3
  242. package/libsql/sqlite3/index.d.ts +3 -3
  243. package/libsql/sqlite3/index.js +10 -6
  244. package/libsql/sqlite3/index.js.map +1 -1
  245. package/libsql/wasm/index.cjs +10 -6
  246. package/libsql/wasm/index.cjs.map +1 -1
  247. package/libsql/wasm/index.d.cts +3 -3
  248. package/libsql/wasm/index.d.ts +3 -3
  249. package/libsql/wasm/index.js +10 -6
  250. package/libsql/wasm/index.js.map +1 -1
  251. package/libsql/web/index.cjs +10 -6
  252. package/libsql/web/index.cjs.map +1 -1
  253. package/libsql/web/index.d.cts +3 -3
  254. package/libsql/web/index.d.ts +3 -3
  255. package/libsql/web/index.js +10 -6
  256. package/libsql/web/index.js.map +1 -1
  257. package/libsql/ws/index.cjs +10 -6
  258. package/libsql/ws/index.cjs.map +1 -1
  259. package/libsql/ws/index.d.cts +3 -3
  260. package/libsql/ws/index.d.ts +3 -3
  261. package/libsql/ws/index.js +10 -6
  262. package/libsql/ws/index.js.map +1 -1
  263. package/migrator.cjs +5 -42
  264. package/migrator.cjs.map +1 -1
  265. package/migrator.d.cts +0 -1
  266. package/migrator.d.ts +0 -1
  267. package/migrator.js +6 -42
  268. package/migrator.js.map +1 -1
  269. package/mysql-core/columns/all.cjs +1 -6
  270. package/mysql-core/columns/all.cjs.map +1 -1
  271. package/mysql-core/columns/all.d.cts +0 -5
  272. package/mysql-core/columns/all.d.ts +0 -5
  273. package/mysql-core/columns/all.js +1 -6
  274. package/mysql-core/columns/all.js.map +1 -1
  275. package/mysql-core/columns/bigint.cjs.map +1 -1
  276. package/mysql-core/columns/bigint.d.cts +2 -0
  277. package/mysql-core/columns/bigint.d.ts +2 -0
  278. package/mysql-core/columns/bigint.js.map +1 -1
  279. package/mysql-core/columns/binary.cjs +1 -0
  280. package/mysql-core/columns/binary.cjs.map +1 -1
  281. package/mysql-core/columns/binary.d.cts +2 -0
  282. package/mysql-core/columns/binary.d.ts +2 -0
  283. package/mysql-core/columns/binary.js +1 -0
  284. package/mysql-core/columns/binary.js.map +1 -1
  285. package/mysql-core/columns/boolean.cjs.map +1 -1
  286. package/mysql-core/columns/boolean.d.cts +1 -0
  287. package/mysql-core/columns/boolean.d.ts +1 -0
  288. package/mysql-core/columns/boolean.js.map +1 -1
  289. package/mysql-core/columns/char.cjs +4 -3
  290. package/mysql-core/columns/char.cjs.map +1 -1
  291. package/mysql-core/columns/char.d.cts +5 -3
  292. package/mysql-core/columns/char.d.ts +5 -3
  293. package/mysql-core/columns/char.js +4 -3
  294. package/mysql-core/columns/char.js.map +1 -1
  295. package/mysql-core/columns/common.cjs +4 -0
  296. package/mysql-core/columns/common.cjs.map +1 -1
  297. package/mysql-core/columns/common.d.cts +1 -1
  298. package/mysql-core/columns/common.d.ts +1 -1
  299. package/mysql-core/columns/common.js +4 -0
  300. package/mysql-core/columns/common.js.map +1 -1
  301. package/mysql-core/columns/custom.cjs.map +1 -1
  302. package/mysql-core/columns/custom.d.cts +1 -0
  303. package/mysql-core/columns/custom.d.ts +1 -0
  304. package/mysql-core/columns/custom.js.map +1 -1
  305. package/mysql-core/columns/date.cjs.map +1 -1
  306. package/mysql-core/columns/date.common.cjs +1 -3
  307. package/mysql-core/columns/date.common.cjs.map +1 -1
  308. package/mysql-core/columns/date.common.d.cts +1 -6
  309. package/mysql-core/columns/date.common.d.ts +1 -6
  310. package/mysql-core/columns/date.common.js +1 -3
  311. package/mysql-core/columns/date.common.js.map +1 -1
  312. package/mysql-core/columns/date.d.cts +2 -0
  313. package/mysql-core/columns/date.d.ts +2 -0
  314. package/mysql-core/columns/date.js.map +1 -1
  315. package/mysql-core/columns/datetime.cjs.map +1 -1
  316. package/mysql-core/columns/datetime.d.cts +2 -0
  317. package/mysql-core/columns/datetime.d.ts +2 -0
  318. package/mysql-core/columns/datetime.js.map +1 -1
  319. package/mysql-core/columns/decimal.cjs.map +1 -1
  320. package/mysql-core/columns/decimal.d.cts +3 -0
  321. package/mysql-core/columns/decimal.d.ts +3 -0
  322. package/mysql-core/columns/decimal.js.map +1 -1
  323. package/mysql-core/columns/double.cjs.map +1 -1
  324. package/mysql-core/columns/double.d.cts +1 -0
  325. package/mysql-core/columns/double.d.ts +1 -0
  326. package/mysql-core/columns/double.js.map +1 -1
  327. package/mysql-core/columns/enum.cjs +5 -5
  328. package/mysql-core/columns/enum.cjs.map +1 -1
  329. package/mysql-core/columns/enum.d.cts +7 -5
  330. package/mysql-core/columns/enum.d.ts +7 -5
  331. package/mysql-core/columns/enum.js +5 -5
  332. package/mysql-core/columns/enum.js.map +1 -1
  333. package/mysql-core/columns/float.cjs.map +1 -1
  334. package/mysql-core/columns/float.d.cts +1 -0
  335. package/mysql-core/columns/float.d.ts +1 -0
  336. package/mysql-core/columns/float.js.map +1 -1
  337. package/mysql-core/columns/index.cjs +0 -2
  338. package/mysql-core/columns/index.cjs.map +1 -1
  339. package/mysql-core/columns/index.d.cts +0 -1
  340. package/mysql-core/columns/index.d.ts +0 -1
  341. package/mysql-core/columns/index.js +0 -1
  342. package/mysql-core/columns/index.js.map +1 -1
  343. package/mysql-core/columns/int.cjs.map +1 -1
  344. package/mysql-core/columns/int.d.cts +1 -0
  345. package/mysql-core/columns/int.d.ts +1 -0
  346. package/mysql-core/columns/int.js.map +1 -1
  347. package/mysql-core/columns/json.cjs.map +1 -1
  348. package/mysql-core/columns/json.d.cts +1 -0
  349. package/mysql-core/columns/json.d.ts +1 -0
  350. package/mysql-core/columns/json.js.map +1 -1
  351. package/mysql-core/columns/mediumint.cjs.map +1 -1
  352. package/mysql-core/columns/mediumint.d.cts +1 -0
  353. package/mysql-core/columns/mediumint.d.ts +1 -0
  354. package/mysql-core/columns/mediumint.js.map +1 -1
  355. package/mysql-core/columns/real.cjs.map +1 -1
  356. package/mysql-core/columns/real.d.cts +1 -0
  357. package/mysql-core/columns/real.d.ts +1 -0
  358. package/mysql-core/columns/real.js.map +1 -1
  359. package/mysql-core/columns/serial.cjs.map +1 -1
  360. package/mysql-core/columns/serial.d.cts +1 -0
  361. package/mysql-core/columns/serial.d.ts +1 -0
  362. package/mysql-core/columns/serial.js.map +1 -1
  363. package/mysql-core/columns/smallint.cjs.map +1 -1
  364. package/mysql-core/columns/smallint.d.cts +1 -0
  365. package/mysql-core/columns/smallint.d.ts +1 -0
  366. package/mysql-core/columns/smallint.js.map +1 -1
  367. package/mysql-core/columns/text.cjs +3 -3
  368. package/mysql-core/columns/text.cjs.map +1 -1
  369. package/mysql-core/columns/text.d.cts +4 -3
  370. package/mysql-core/columns/text.d.ts +4 -3
  371. package/mysql-core/columns/text.js +3 -3
  372. package/mysql-core/columns/text.js.map +1 -1
  373. package/mysql-core/columns/time.cjs.map +1 -1
  374. package/mysql-core/columns/time.d.cts +1 -0
  375. package/mysql-core/columns/time.d.ts +1 -0
  376. package/mysql-core/columns/time.js.map +1 -1
  377. package/mysql-core/columns/timestamp.cjs.map +1 -1
  378. package/mysql-core/columns/timestamp.d.cts +2 -0
  379. package/mysql-core/columns/timestamp.d.ts +2 -0
  380. package/mysql-core/columns/timestamp.js.map +1 -1
  381. package/mysql-core/columns/tinyint.cjs.map +1 -1
  382. package/mysql-core/columns/tinyint.d.cts +1 -0
  383. package/mysql-core/columns/tinyint.d.ts +1 -0
  384. package/mysql-core/columns/tinyint.js.map +1 -1
  385. package/mysql-core/columns/varbinary.cjs.map +1 -1
  386. package/mysql-core/columns/varbinary.d.cts +1 -0
  387. package/mysql-core/columns/varbinary.d.ts +1 -0
  388. package/mysql-core/columns/varbinary.js.map +1 -1
  389. package/mysql-core/columns/varchar.cjs +4 -4
  390. package/mysql-core/columns/varchar.cjs.map +1 -1
  391. package/mysql-core/columns/varchar.d.cts +5 -4
  392. package/mysql-core/columns/varchar.d.ts +5 -4
  393. package/mysql-core/columns/varchar.js +4 -4
  394. package/mysql-core/columns/varchar.js.map +1 -1
  395. package/mysql-core/columns/year.cjs.map +1 -1
  396. package/mysql-core/columns/year.d.cts +1 -0
  397. package/mysql-core/columns/year.d.ts +1 -0
  398. package/mysql-core/columns/year.js.map +1 -1
  399. package/mysql-core/dialect.cjs +0 -3
  400. package/mysql-core/dialect.cjs.map +1 -1
  401. package/mysql-core/dialect.d.cts +0 -1
  402. package/mysql-core/dialect.d.ts +0 -1
  403. package/mysql-core/dialect.js +0 -3
  404. package/mysql-core/dialect.js.map +1 -1
  405. package/mysql-core/foreign-keys.cjs +0 -3
  406. package/mysql-core/foreign-keys.cjs.map +1 -1
  407. package/mysql-core/foreign-keys.d.cts +0 -1
  408. package/mysql-core/foreign-keys.d.ts +0 -1
  409. package/mysql-core/foreign-keys.js +0 -3
  410. package/mysql-core/foreign-keys.js.map +1 -1
  411. package/mysql-core/indexes.cjs +0 -2
  412. package/mysql-core/indexes.cjs.map +1 -1
  413. package/mysql-core/indexes.d.cts +0 -1
  414. package/mysql-core/indexes.d.ts +0 -1
  415. package/mysql-core/indexes.js +0 -2
  416. package/mysql-core/indexes.js.map +1 -1
  417. package/mysql-core/primary-keys.cjs +13 -4
  418. package/mysql-core/primary-keys.cjs.map +1 -1
  419. package/mysql-core/primary-keys.d.cts +6 -3
  420. package/mysql-core/primary-keys.d.ts +6 -3
  421. package/mysql-core/primary-keys.js +13 -4
  422. package/mysql-core/primary-keys.js.map +1 -1
  423. package/mysql-core/query-builders/count.cjs.map +1 -1
  424. package/mysql-core/query-builders/count.d.cts +1 -1
  425. package/mysql-core/query-builders/count.d.ts +1 -1
  426. package/mysql-core/query-builders/count.js.map +1 -1
  427. package/mysql-core/query-builders/insert.cjs.map +1 -1
  428. package/mysql-core/query-builders/insert.d.cts +2 -2
  429. package/mysql-core/query-builders/insert.d.ts +2 -2
  430. package/mysql-core/query-builders/insert.js.map +1 -1
  431. package/mysql-core/query-builders/select.cjs +2 -2
  432. package/mysql-core/query-builders/select.cjs.map +1 -1
  433. package/mysql-core/query-builders/select.js +2 -2
  434. package/mysql-core/query-builders/select.js.map +1 -1
  435. package/mysql-core/query-builders/update.cjs.map +1 -1
  436. package/mysql-core/query-builders/update.d.cts +1 -1
  437. package/mysql-core/query-builders/update.d.ts +1 -1
  438. package/mysql-core/query-builders/update.js.map +1 -1
  439. package/mysql-core/schema.cjs +2 -2
  440. package/mysql-core/schema.cjs.map +1 -1
  441. package/mysql-core/schema.js +2 -2
  442. package/mysql-core/schema.js.map +1 -1
  443. package/mysql-core/unique-constraint.cjs +0 -2
  444. package/mysql-core/unique-constraint.cjs.map +1 -1
  445. package/mysql-core/unique-constraint.d.cts +2 -3
  446. package/mysql-core/unique-constraint.d.ts +2 -3
  447. package/mysql-core/unique-constraint.js +0 -2
  448. package/mysql-core/unique-constraint.js.map +1 -1
  449. package/mysql-proxy/driver.cjs +2 -2
  450. package/mysql-proxy/driver.cjs.map +1 -1
  451. package/mysql-proxy/driver.d.cts +1 -2
  452. package/mysql-proxy/driver.d.ts +1 -2
  453. package/mysql-proxy/driver.js +2 -2
  454. package/mysql-proxy/driver.js.map +1 -1
  455. package/mysql2/driver.cjs +14 -10
  456. package/mysql2/driver.cjs.map +1 -1
  457. package/mysql2/driver.d.cts +3 -3
  458. package/mysql2/driver.d.ts +3 -3
  459. package/mysql2/driver.js +14 -10
  460. package/mysql2/driver.js.map +1 -1
  461. package/mysql2/session.cjs.map +1 -1
  462. package/mysql2/session.js.map +1 -1
  463. package/neon-http/driver.cjs +14 -10
  464. package/neon-http/driver.cjs.map +1 -1
  465. package/neon-http/driver.d.cts +3 -3
  466. package/neon-http/driver.d.ts +3 -3
  467. package/neon-http/driver.js +14 -10
  468. package/neon-http/driver.js.map +1 -1
  469. package/neon-http/session.cjs.map +1 -1
  470. package/neon-http/session.d.cts +1 -1
  471. package/neon-http/session.d.ts +1 -1
  472. package/neon-http/session.js.map +1 -1
  473. package/neon-serverless/driver.cjs +14 -10
  474. package/neon-serverless/driver.cjs.map +1 -1
  475. package/neon-serverless/driver.d.cts +3 -3
  476. package/neon-serverless/driver.d.ts +3 -3
  477. package/neon-serverless/driver.js +14 -10
  478. package/neon-serverless/driver.js.map +1 -1
  479. package/neon-serverless/session.cjs.map +1 -1
  480. package/neon-serverless/session.js.map +1 -1
  481. package/node-postgres/driver.cjs +12 -8
  482. package/node-postgres/driver.cjs.map +1 -1
  483. package/node-postgres/driver.d.cts +3 -3
  484. package/node-postgres/driver.d.ts +3 -3
  485. package/node-postgres/driver.js +12 -8
  486. package/node-postgres/driver.js.map +1 -1
  487. package/node-postgres/session.cjs.map +1 -1
  488. package/node-postgres/session.js.map +1 -1
  489. package/op-sqlite/migrator.cjs +7 -10
  490. package/op-sqlite/migrator.cjs.map +1 -1
  491. package/op-sqlite/migrator.d.cts +16 -0
  492. package/op-sqlite/migrator.d.ts +16 -0
  493. package/op-sqlite/migrator.js +7 -10
  494. package/op-sqlite/migrator.js.map +1 -1
  495. package/package.json +75 -1488
  496. package/pg-core/columns/bigint.cjs.map +1 -1
  497. package/pg-core/columns/bigint.d.cts +2 -0
  498. package/pg-core/columns/bigint.d.ts +2 -0
  499. package/pg-core/columns/bigint.js.map +1 -1
  500. package/pg-core/columns/bigserial.cjs +0 -1
  501. package/pg-core/columns/bigserial.cjs.map +1 -1
  502. package/pg-core/columns/bigserial.d.cts +2 -0
  503. package/pg-core/columns/bigserial.d.ts +2 -0
  504. package/pg-core/columns/bigserial.js +0 -1
  505. package/pg-core/columns/bigserial.js.map +1 -1
  506. package/pg-core/columns/boolean.cjs.map +1 -1
  507. package/pg-core/columns/boolean.d.cts +1 -0
  508. package/pg-core/columns/boolean.d.ts +1 -0
  509. package/pg-core/columns/boolean.js.map +1 -1
  510. package/pg-core/columns/bytea.cjs.map +1 -1
  511. package/pg-core/columns/bytea.d.cts +1 -0
  512. package/pg-core/columns/bytea.d.ts +1 -0
  513. package/pg-core/columns/bytea.js.map +1 -1
  514. package/pg-core/columns/char.cjs +1 -0
  515. package/pg-core/columns/char.cjs.map +1 -1
  516. package/pg-core/columns/char.d.cts +2 -0
  517. package/pg-core/columns/char.d.ts +2 -0
  518. package/pg-core/columns/char.js +1 -0
  519. package/pg-core/columns/char.js.map +1 -1
  520. package/pg-core/columns/cidr.cjs.map +1 -1
  521. package/pg-core/columns/cidr.d.cts +1 -0
  522. package/pg-core/columns/cidr.d.ts +1 -0
  523. package/pg-core/columns/cidr.js.map +1 -1
  524. package/pg-core/columns/common.cjs +14 -10
  525. package/pg-core/columns/common.cjs.map +1 -1
  526. package/pg-core/columns/common.d.cts +3 -4
  527. package/pg-core/columns/common.d.ts +3 -4
  528. package/pg-core/columns/common.js +14 -10
  529. package/pg-core/columns/common.js.map +1 -1
  530. package/pg-core/columns/custom.cjs.map +1 -1
  531. package/pg-core/columns/custom.d.cts +1 -0
  532. package/pg-core/columns/custom.d.ts +1 -0
  533. package/pg-core/columns/custom.js.map +1 -1
  534. package/pg-core/columns/date.cjs.map +1 -1
  535. package/pg-core/columns/date.d.cts +2 -0
  536. package/pg-core/columns/date.d.ts +2 -0
  537. package/pg-core/columns/date.js.map +1 -1
  538. package/pg-core/columns/double-precision.cjs.map +1 -1
  539. package/pg-core/columns/double-precision.d.cts +1 -0
  540. package/pg-core/columns/double-precision.d.ts +1 -0
  541. package/pg-core/columns/double-precision.js.map +1 -1
  542. package/pg-core/columns/enum.cjs.map +1 -1
  543. package/pg-core/columns/enum.d.cts +2 -0
  544. package/pg-core/columns/enum.d.ts +2 -0
  545. package/pg-core/columns/enum.js.map +1 -1
  546. package/pg-core/columns/inet.cjs.map +1 -1
  547. package/pg-core/columns/inet.d.cts +1 -0
  548. package/pg-core/columns/inet.d.ts +1 -0
  549. package/pg-core/columns/inet.js.map +1 -1
  550. package/pg-core/columns/integer.cjs.map +1 -1
  551. package/pg-core/columns/integer.d.cts +1 -0
  552. package/pg-core/columns/integer.d.ts +1 -0
  553. package/pg-core/columns/integer.js.map +1 -1
  554. package/pg-core/columns/interval.cjs.map +1 -1
  555. package/pg-core/columns/interval.d.cts +1 -0
  556. package/pg-core/columns/interval.d.ts +1 -0
  557. package/pg-core/columns/interval.js.map +1 -1
  558. package/pg-core/columns/json.cjs.map +1 -1
  559. package/pg-core/columns/json.d.cts +1 -0
  560. package/pg-core/columns/json.d.ts +1 -0
  561. package/pg-core/columns/json.js.map +1 -1
  562. package/pg-core/columns/jsonb.cjs.map +1 -1
  563. package/pg-core/columns/jsonb.d.cts +1 -0
  564. package/pg-core/columns/jsonb.d.ts +1 -0
  565. package/pg-core/columns/jsonb.js.map +1 -1
  566. package/pg-core/columns/line.cjs +0 -2
  567. package/pg-core/columns/line.cjs.map +1 -1
  568. package/pg-core/columns/line.d.cts +2 -2
  569. package/pg-core/columns/line.d.ts +2 -2
  570. package/pg-core/columns/line.js +0 -2
  571. package/pg-core/columns/line.js.map +1 -1
  572. package/pg-core/columns/macaddr.cjs.map +1 -1
  573. package/pg-core/columns/macaddr.d.cts +1 -0
  574. package/pg-core/columns/macaddr.d.ts +1 -0
  575. package/pg-core/columns/macaddr.js.map +1 -1
  576. package/pg-core/columns/macaddr8.cjs.map +1 -1
  577. package/pg-core/columns/macaddr8.d.cts +1 -0
  578. package/pg-core/columns/macaddr8.d.ts +1 -0
  579. package/pg-core/columns/macaddr8.js.map +1 -1
  580. package/pg-core/columns/numeric.cjs.map +1 -1
  581. package/pg-core/columns/numeric.d.cts +3 -0
  582. package/pg-core/columns/numeric.d.ts +3 -0
  583. package/pg-core/columns/numeric.js.map +1 -1
  584. package/pg-core/columns/point.cjs +0 -2
  585. package/pg-core/columns/point.cjs.map +1 -1
  586. package/pg-core/columns/point.d.cts +2 -2
  587. package/pg-core/columns/point.d.ts +2 -2
  588. package/pg-core/columns/point.js +0 -2
  589. package/pg-core/columns/point.js.map +1 -1
  590. package/pg-core/columns/postgis_extension/geometry.cjs +8 -14
  591. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  592. package/pg-core/columns/postgis_extension/geometry.d.cts +6 -16
  593. package/pg-core/columns/postgis_extension/geometry.d.ts +6 -16
  594. package/pg-core/columns/postgis_extension/geometry.js +8 -14
  595. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  596. package/pg-core/columns/postgis_extension/utils.cjs +3 -3
  597. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  598. package/pg-core/columns/postgis_extension/utils.d.cts +1 -4
  599. package/pg-core/columns/postgis_extension/utils.d.ts +1 -4
  600. package/pg-core/columns/postgis_extension/utils.js +3 -3
  601. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  602. package/pg-core/columns/real.cjs.map +1 -1
  603. package/pg-core/columns/real.d.cts +1 -0
  604. package/pg-core/columns/real.d.ts +1 -0
  605. package/pg-core/columns/real.js.map +1 -1
  606. package/pg-core/columns/serial.cjs.map +1 -1
  607. package/pg-core/columns/serial.d.cts +1 -0
  608. package/pg-core/columns/serial.d.ts +1 -0
  609. package/pg-core/columns/serial.js.map +1 -1
  610. package/pg-core/columns/smallint.cjs.map +1 -1
  611. package/pg-core/columns/smallint.d.cts +1 -0
  612. package/pg-core/columns/smallint.d.ts +1 -0
  613. package/pg-core/columns/smallint.js.map +1 -1
  614. package/pg-core/columns/smallserial.cjs.map +1 -1
  615. package/pg-core/columns/smallserial.d.cts +1 -0
  616. package/pg-core/columns/smallserial.d.ts +1 -0
  617. package/pg-core/columns/smallserial.js.map +1 -1
  618. package/pg-core/columns/text.cjs.map +1 -1
  619. package/pg-core/columns/text.d.cts +1 -0
  620. package/pg-core/columns/text.d.ts +1 -0
  621. package/pg-core/columns/text.js.map +1 -1
  622. package/pg-core/columns/time.cjs.map +1 -1
  623. package/pg-core/columns/time.d.cts +1 -0
  624. package/pg-core/columns/time.d.ts +1 -0
  625. package/pg-core/columns/time.js.map +1 -1
  626. package/pg-core/columns/timestamp.cjs.map +1 -1
  627. package/pg-core/columns/timestamp.d.cts +2 -0
  628. package/pg-core/columns/timestamp.d.ts +2 -0
  629. package/pg-core/columns/timestamp.js.map +1 -1
  630. package/pg-core/columns/uuid.cjs.map +1 -1
  631. package/pg-core/columns/uuid.d.cts +1 -0
  632. package/pg-core/columns/uuid.d.ts +1 -0
  633. package/pg-core/columns/uuid.js.map +1 -1
  634. package/pg-core/columns/varchar.cjs.map +1 -1
  635. package/pg-core/columns/varchar.d.cts +1 -0
  636. package/pg-core/columns/varchar.d.ts +1 -0
  637. package/pg-core/columns/varchar.js.map +1 -1
  638. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  639. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  640. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  641. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  642. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  643. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  644. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  645. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  646. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  647. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  648. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  649. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  650. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  651. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  652. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  653. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  654. package/pg-core/db.cjs +3 -2
  655. package/pg-core/db.cjs.map +1 -1
  656. package/pg-core/db.d.cts +1 -1
  657. package/pg-core/db.d.ts +1 -1
  658. package/pg-core/db.js +3 -2
  659. package/pg-core/db.js.map +1 -1
  660. package/pg-core/foreign-keys.cjs +0 -4
  661. package/pg-core/foreign-keys.cjs.map +1 -1
  662. package/pg-core/foreign-keys.d.cts +0 -2
  663. package/pg-core/foreign-keys.d.ts +0 -2
  664. package/pg-core/foreign-keys.js +0 -4
  665. package/pg-core/foreign-keys.js.map +1 -1
  666. package/pg-core/indexes.cjs +0 -2
  667. package/pg-core/indexes.cjs.map +1 -1
  668. package/pg-core/indexes.d.cts +0 -1
  669. package/pg-core/indexes.d.ts +0 -1
  670. package/pg-core/indexes.js +0 -2
  671. package/pg-core/indexes.js.map +1 -1
  672. package/pg-core/primary-keys.cjs +0 -2
  673. package/pg-core/primary-keys.cjs.map +1 -1
  674. package/pg-core/primary-keys.d.cts +0 -1
  675. package/pg-core/primary-keys.d.ts +0 -1
  676. package/pg-core/primary-keys.js +0 -2
  677. package/pg-core/primary-keys.js.map +1 -1
  678. package/pg-core/query-builders/count.cjs.map +1 -1
  679. package/pg-core/query-builders/count.d.cts +3 -4
  680. package/pg-core/query-builders/count.d.ts +3 -4
  681. package/pg-core/query-builders/count.js.map +1 -1
  682. package/pg-core/query-builders/insert.cjs.map +1 -1
  683. package/pg-core/query-builders/insert.d.cts +9 -6
  684. package/pg-core/query-builders/insert.d.ts +9 -6
  685. package/pg-core/query-builders/insert.js.map +1 -1
  686. package/pg-core/query-builders/query.cjs +9 -5
  687. package/pg-core/query-builders/query.cjs.map +1 -1
  688. package/pg-core/query-builders/query.d.cts +4 -2
  689. package/pg-core/query-builders/query.d.ts +4 -2
  690. package/pg-core/query-builders/query.js +9 -5
  691. package/pg-core/query-builders/query.js.map +1 -1
  692. package/pg-core/query-builders/select.cjs +9 -8
  693. package/pg-core/query-builders/select.cjs.map +1 -1
  694. package/pg-core/query-builders/select.js +4 -4
  695. package/pg-core/query-builders/select.js.map +1 -1
  696. package/pg-core/query-builders/update.cjs +2 -2
  697. package/pg-core/query-builders/update.cjs.map +1 -1
  698. package/pg-core/query-builders/update.d.cts +1 -1
  699. package/pg-core/query-builders/update.d.ts +1 -1
  700. package/pg-core/query-builders/update.js +2 -2
  701. package/pg-core/query-builders/update.js.map +1 -1
  702. package/pg-core/schema.cjs +8 -20
  703. package/pg-core/schema.cjs.map +1 -1
  704. package/pg-core/schema.d.cts +0 -2
  705. package/pg-core/schema.d.ts +0 -2
  706. package/pg-core/schema.js +9 -21
  707. package/pg-core/schema.js.map +1 -1
  708. package/pg-core/session.cjs +2 -2
  709. package/pg-core/session.cjs.map +1 -1
  710. package/pg-core/session.d.cts +1 -1
  711. package/pg-core/session.d.ts +1 -1
  712. package/pg-core/session.js +2 -2
  713. package/pg-core/session.js.map +1 -1
  714. package/pg-core/table.cjs +8 -16
  715. package/pg-core/table.cjs.map +1 -1
  716. package/pg-core/table.d.cts +4 -5
  717. package/pg-core/table.d.ts +4 -5
  718. package/pg-core/table.js +8 -16
  719. package/pg-core/table.js.map +1 -1
  720. package/pg-core/unique-constraint.cjs +0 -2
  721. package/pg-core/unique-constraint.cjs.map +1 -1
  722. package/pg-core/unique-constraint.d.cts +0 -1
  723. package/pg-core/unique-constraint.d.ts +0 -1
  724. package/pg-core/unique-constraint.js +0 -2
  725. package/pg-core/unique-constraint.js.map +1 -1
  726. package/pg-core/utils.cjs +2 -1
  727. package/pg-core/utils.cjs.map +1 -1
  728. package/pg-core/utils.d.cts +1 -1
  729. package/pg-core/utils.d.ts +1 -1
  730. package/pg-core/utils.js +2 -1
  731. package/pg-core/utils.js.map +1 -1
  732. package/pg-core/view-common.cjs +0 -3
  733. package/pg-core/view-common.cjs.map +1 -1
  734. package/pg-core/view-common.d.cts +0 -1
  735. package/pg-core/view-common.d.ts +0 -1
  736. package/pg-core/view-common.js +0 -2
  737. package/pg-core/view-common.js.map +1 -1
  738. package/pg-core/view.cjs +5 -2
  739. package/pg-core/view.cjs.map +1 -1
  740. package/pg-core/view.d.cts +2 -1
  741. package/pg-core/view.d.ts +2 -1
  742. package/pg-core/view.js +3 -1
  743. package/pg-core/view.js.map +1 -1
  744. package/pglite/driver.cjs +14 -10
  745. package/pglite/driver.cjs.map +1 -1
  746. package/pglite/driver.d.cts +3 -3
  747. package/pglite/driver.d.ts +3 -3
  748. package/pglite/driver.js +14 -10
  749. package/pglite/driver.js.map +1 -1
  750. package/planetscale-serverless/driver.cjs +15 -11
  751. package/planetscale-serverless/driver.cjs.map +1 -1
  752. package/planetscale-serverless/driver.d.cts +3 -3
  753. package/planetscale-serverless/driver.d.ts +3 -3
  754. package/planetscale-serverless/driver.js +15 -11
  755. package/planetscale-serverless/driver.js.map +1 -1
  756. package/postgres-js/driver.cjs +14 -10
  757. package/postgres-js/driver.cjs.map +1 -1
  758. package/postgres-js/driver.d.cts +3 -3
  759. package/postgres-js/driver.d.ts +3 -3
  760. package/postgres-js/driver.js +14 -10
  761. package/postgres-js/driver.js.map +1 -1
  762. package/relations.cjs +0 -2
  763. package/relations.cjs.map +1 -1
  764. package/relations.d.cts +3 -3
  765. package/relations.d.ts +3 -3
  766. package/relations.js +1 -3
  767. package/relations.js.map +1 -1
  768. package/singlestore/driver.cjs +26 -19
  769. package/singlestore/driver.cjs.map +1 -1
  770. package/singlestore/driver.d.cts +3 -3
  771. package/singlestore/driver.d.ts +3 -3
  772. package/singlestore/driver.js +26 -19
  773. package/singlestore/driver.js.map +1 -1
  774. package/singlestore/session.cjs.map +1 -1
  775. package/singlestore/session.js.map +1 -1
  776. package/singlestore-core/columns/bigint.cjs.map +1 -1
  777. package/singlestore-core/columns/bigint.d.cts +2 -0
  778. package/singlestore-core/columns/bigint.d.ts +2 -0
  779. package/singlestore-core/columns/bigint.js.map +1 -1
  780. package/singlestore-core/columns/binary.cjs +1 -0
  781. package/singlestore-core/columns/binary.cjs.map +1 -1
  782. package/singlestore-core/columns/binary.d.cts +2 -0
  783. package/singlestore-core/columns/binary.d.ts +2 -0
  784. package/singlestore-core/columns/binary.js +1 -0
  785. package/singlestore-core/columns/binary.js.map +1 -1
  786. package/singlestore-core/columns/boolean.cjs.map +1 -1
  787. package/singlestore-core/columns/boolean.d.cts +1 -0
  788. package/singlestore-core/columns/boolean.d.ts +1 -0
  789. package/singlestore-core/columns/boolean.js.map +1 -1
  790. package/singlestore-core/columns/char.cjs +1 -0
  791. package/singlestore-core/columns/char.cjs.map +1 -1
  792. package/singlestore-core/columns/char.d.cts +2 -0
  793. package/singlestore-core/columns/char.d.ts +2 -0
  794. package/singlestore-core/columns/char.js +1 -0
  795. package/singlestore-core/columns/char.js.map +1 -1
  796. package/singlestore-core/columns/common.cjs +4 -0
  797. package/singlestore-core/columns/common.cjs.map +1 -1
  798. package/singlestore-core/columns/common.d.cts +1 -1
  799. package/singlestore-core/columns/common.d.ts +1 -1
  800. package/singlestore-core/columns/common.js +4 -0
  801. package/singlestore-core/columns/common.js.map +1 -1
  802. package/singlestore-core/columns/custom.cjs.map +1 -1
  803. package/singlestore-core/columns/custom.d.cts +1 -0
  804. package/singlestore-core/columns/custom.d.ts +1 -0
  805. package/singlestore-core/columns/custom.js.map +1 -1
  806. package/singlestore-core/columns/date.cjs.map +1 -1
  807. package/singlestore-core/columns/date.d.cts +2 -0
  808. package/singlestore-core/columns/date.d.ts +2 -0
  809. package/singlestore-core/columns/date.js.map +1 -1
  810. package/singlestore-core/columns/datetime.cjs.map +1 -1
  811. package/singlestore-core/columns/datetime.d.cts +2 -0
  812. package/singlestore-core/columns/datetime.d.ts +2 -0
  813. package/singlestore-core/columns/datetime.js.map +1 -1
  814. package/singlestore-core/columns/decimal.cjs.map +1 -1
  815. package/singlestore-core/columns/decimal.d.cts +3 -0
  816. package/singlestore-core/columns/decimal.d.ts +3 -0
  817. package/singlestore-core/columns/decimal.js.map +1 -1
  818. package/singlestore-core/columns/double.cjs.map +1 -1
  819. package/singlestore-core/columns/double.d.cts +1 -0
  820. package/singlestore-core/columns/double.d.ts +1 -0
  821. package/singlestore-core/columns/double.js.map +1 -1
  822. package/singlestore-core/columns/enum.cjs.map +1 -1
  823. package/singlestore-core/columns/enum.d.cts +1 -0
  824. package/singlestore-core/columns/enum.d.ts +1 -0
  825. package/singlestore-core/columns/enum.js.map +1 -1
  826. package/singlestore-core/columns/float.cjs.map +1 -1
  827. package/singlestore-core/columns/float.d.cts +1 -0
  828. package/singlestore-core/columns/float.d.ts +1 -0
  829. package/singlestore-core/columns/float.js.map +1 -1
  830. package/singlestore-core/columns/int.cjs.map +1 -1
  831. package/singlestore-core/columns/int.d.cts +1 -0
  832. package/singlestore-core/columns/int.d.ts +1 -0
  833. package/singlestore-core/columns/int.js.map +1 -1
  834. package/singlestore-core/columns/json.cjs.map +1 -1
  835. package/singlestore-core/columns/json.d.cts +1 -0
  836. package/singlestore-core/columns/json.d.ts +1 -0
  837. package/singlestore-core/columns/json.js.map +1 -1
  838. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  839. package/singlestore-core/columns/mediumint.d.cts +1 -0
  840. package/singlestore-core/columns/mediumint.d.ts +1 -0
  841. package/singlestore-core/columns/mediumint.js.map +1 -1
  842. package/singlestore-core/columns/real.cjs.map +1 -1
  843. package/singlestore-core/columns/real.d.cts +1 -0
  844. package/singlestore-core/columns/real.d.ts +1 -0
  845. package/singlestore-core/columns/real.js.map +1 -1
  846. package/singlestore-core/columns/serial.cjs.map +1 -1
  847. package/singlestore-core/columns/serial.d.cts +1 -0
  848. package/singlestore-core/columns/serial.d.ts +1 -0
  849. package/singlestore-core/columns/serial.js.map +1 -1
  850. package/singlestore-core/columns/smallint.cjs.map +1 -1
  851. package/singlestore-core/columns/smallint.d.cts +1 -0
  852. package/singlestore-core/columns/smallint.d.ts +1 -0
  853. package/singlestore-core/columns/smallint.js.map +1 -1
  854. package/singlestore-core/columns/text.cjs.map +1 -1
  855. package/singlestore-core/columns/text.d.cts +1 -0
  856. package/singlestore-core/columns/text.d.ts +1 -0
  857. package/singlestore-core/columns/text.js.map +1 -1
  858. package/singlestore-core/columns/time.cjs.map +1 -1
  859. package/singlestore-core/columns/time.d.cts +1 -0
  860. package/singlestore-core/columns/time.d.ts +1 -0
  861. package/singlestore-core/columns/time.js.map +1 -1
  862. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  863. package/singlestore-core/columns/timestamp.d.cts +2 -0
  864. package/singlestore-core/columns/timestamp.d.ts +2 -0
  865. package/singlestore-core/columns/timestamp.js.map +1 -1
  866. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  867. package/singlestore-core/columns/tinyint.d.cts +1 -0
  868. package/singlestore-core/columns/tinyint.d.ts +1 -0
  869. package/singlestore-core/columns/tinyint.js.map +1 -1
  870. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  871. package/singlestore-core/columns/varbinary.d.cts +1 -0
  872. package/singlestore-core/columns/varbinary.d.ts +1 -0
  873. package/singlestore-core/columns/varbinary.js.map +1 -1
  874. package/singlestore-core/columns/varchar.cjs.map +1 -1
  875. package/singlestore-core/columns/varchar.d.cts +1 -0
  876. package/singlestore-core/columns/varchar.d.ts +1 -0
  877. package/singlestore-core/columns/varchar.js.map +1 -1
  878. package/singlestore-core/columns/vector.cjs.map +1 -1
  879. package/singlestore-core/columns/vector.d.cts +2 -0
  880. package/singlestore-core/columns/vector.d.ts +2 -0
  881. package/singlestore-core/columns/vector.js.map +1 -1
  882. package/singlestore-core/columns/year.cjs.map +1 -1
  883. package/singlestore-core/columns/year.d.cts +1 -0
  884. package/singlestore-core/columns/year.d.ts +1 -0
  885. package/singlestore-core/columns/year.js.map +1 -1
  886. package/singlestore-core/indexes.cjs +0 -2
  887. package/singlestore-core/indexes.cjs.map +1 -1
  888. package/singlestore-core/indexes.d.cts +0 -1
  889. package/singlestore-core/indexes.d.ts +0 -1
  890. package/singlestore-core/indexes.js +0 -2
  891. package/singlestore-core/indexes.js.map +1 -1
  892. package/singlestore-core/primary-keys.cjs +0 -2
  893. package/singlestore-core/primary-keys.cjs.map +1 -1
  894. package/singlestore-core/primary-keys.d.cts +0 -1
  895. package/singlestore-core/primary-keys.d.ts +0 -1
  896. package/singlestore-core/primary-keys.js +0 -2
  897. package/singlestore-core/primary-keys.js.map +1 -1
  898. package/singlestore-core/query-builders/count.cjs.map +1 -1
  899. package/singlestore-core/query-builders/count.d.cts +1 -1
  900. package/singlestore-core/query-builders/count.d.ts +1 -1
  901. package/singlestore-core/query-builders/count.js.map +1 -1
  902. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  903. package/singlestore-core/query-builders/insert.d.cts +1 -1
  904. package/singlestore-core/query-builders/insert.d.ts +1 -1
  905. package/singlestore-core/query-builders/insert.js.map +1 -1
  906. package/singlestore-core/query-builders/select.cjs +2 -2
  907. package/singlestore-core/query-builders/select.cjs.map +1 -1
  908. package/singlestore-core/query-builders/select.js +2 -2
  909. package/singlestore-core/query-builders/select.js.map +1 -1
  910. package/singlestore-core/query-builders/update.cjs.map +1 -1
  911. package/singlestore-core/query-builders/update.d.cts +1 -1
  912. package/singlestore-core/query-builders/update.d.ts +1 -1
  913. package/singlestore-core/query-builders/update.js.map +1 -1
  914. package/singlestore-core/unique-constraint.cjs +0 -2
  915. package/singlestore-core/unique-constraint.cjs.map +1 -1
  916. package/singlestore-core/unique-constraint.d.cts +2 -3
  917. package/singlestore-core/unique-constraint.d.ts +2 -3
  918. package/singlestore-core/unique-constraint.js +0 -2
  919. package/singlestore-core/unique-constraint.js.map +1 -1
  920. package/sql/sql.cjs +9 -10
  921. package/sql/sql.cjs.map +1 -1
  922. package/sql/sql.d.cts +3 -3
  923. package/sql/sql.d.ts +3 -3
  924. package/sql/sql.js +9 -10
  925. package/sql/sql.js.map +1 -1
  926. package/sql-js/session.cjs.map +1 -1
  927. package/sql-js/session.js.map +1 -1
  928. package/{cockroach → sqlite-cloud}/driver.cjs +39 -34
  929. package/sqlite-cloud/driver.cjs.map +1 -0
  930. package/sqlite-cloud/driver.d.cts +33 -0
  931. package/sqlite-cloud/driver.d.ts +33 -0
  932. package/sqlite-cloud/driver.js +78 -0
  933. package/sqlite-cloud/driver.js.map +1 -0
  934. package/{node-mssql → sqlite-cloud}/index.cjs +4 -4
  935. package/sqlite-cloud/index.cjs.map +1 -0
  936. package/sqlite-cloud/index.js.map +1 -0
  937. package/sqlite-cloud/migrator.cjs +69 -0
  938. package/sqlite-cloud/migrator.cjs.map +1 -0
  939. package/sqlite-cloud/migrator.d.cts +4 -0
  940. package/sqlite-cloud/migrator.d.ts +4 -0
  941. package/sqlite-cloud/migrator.js +45 -0
  942. package/sqlite-cloud/migrator.js.map +1 -0
  943. package/sqlite-cloud/session.cjs +254 -0
  944. package/sqlite-cloud/session.cjs.map +1 -0
  945. package/sqlite-cloud/session.d.cts +70 -0
  946. package/sqlite-cloud/session.d.ts +70 -0
  947. package/sqlite-cloud/session.js +228 -0
  948. package/sqlite-cloud/session.js.map +1 -0
  949. package/sqlite-core/columns/blob.cjs.map +1 -1
  950. package/sqlite-core/columns/blob.d.cts +3 -0
  951. package/sqlite-core/columns/blob.d.ts +3 -0
  952. package/sqlite-core/columns/blob.js.map +1 -1
  953. package/sqlite-core/columns/common.cjs +4 -0
  954. package/sqlite-core/columns/common.cjs.map +1 -1
  955. package/sqlite-core/columns/common.js +4 -0
  956. package/sqlite-core/columns/common.js.map +1 -1
  957. package/sqlite-core/columns/custom.cjs.map +1 -1
  958. package/sqlite-core/columns/custom.d.cts +1 -0
  959. package/sqlite-core/columns/custom.d.ts +1 -0
  960. package/sqlite-core/columns/custom.js.map +1 -1
  961. package/sqlite-core/columns/integer.cjs.map +1 -1
  962. package/sqlite-core/columns/integer.d.cts +3 -0
  963. package/sqlite-core/columns/integer.d.ts +3 -0
  964. package/sqlite-core/columns/integer.js.map +1 -1
  965. package/sqlite-core/columns/numeric.cjs.map +1 -1
  966. package/sqlite-core/columns/numeric.d.cts +3 -0
  967. package/sqlite-core/columns/numeric.d.ts +3 -0
  968. package/sqlite-core/columns/numeric.js.map +1 -1
  969. package/sqlite-core/columns/real.cjs.map +1 -1
  970. package/sqlite-core/columns/real.d.cts +1 -0
  971. package/sqlite-core/columns/real.d.ts +1 -0
  972. package/sqlite-core/columns/real.js.map +1 -1
  973. package/sqlite-core/columns/text.cjs.map +1 -1
  974. package/sqlite-core/columns/text.d.cts +2 -0
  975. package/sqlite-core/columns/text.d.ts +2 -0
  976. package/sqlite-core/columns/text.js.map +1 -1
  977. package/sqlite-core/foreign-keys.cjs +0 -3
  978. package/sqlite-core/foreign-keys.cjs.map +1 -1
  979. package/sqlite-core/foreign-keys.d.cts +14 -1
  980. package/sqlite-core/foreign-keys.d.ts +14 -1
  981. package/sqlite-core/foreign-keys.js +0 -3
  982. package/sqlite-core/foreign-keys.js.map +1 -1
  983. package/sqlite-core/indexes.cjs +0 -2
  984. package/sqlite-core/indexes.cjs.map +1 -1
  985. package/sqlite-core/indexes.d.cts +0 -1
  986. package/sqlite-core/indexes.d.ts +0 -1
  987. package/sqlite-core/indexes.js +0 -2
  988. package/sqlite-core/indexes.js.map +1 -1
  989. package/sqlite-core/primary-keys.cjs +0 -2
  990. package/sqlite-core/primary-keys.cjs.map +1 -1
  991. package/sqlite-core/primary-keys.d.cts +0 -1
  992. package/sqlite-core/primary-keys.d.ts +0 -1
  993. package/sqlite-core/primary-keys.js +0 -2
  994. package/sqlite-core/primary-keys.js.map +1 -1
  995. package/sqlite-core/query-builders/count.cjs.map +1 -1
  996. package/sqlite-core/query-builders/count.d.cts +1 -1
  997. package/sqlite-core/query-builders/count.d.ts +1 -1
  998. package/sqlite-core/query-builders/count.js.map +1 -1
  999. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1000. package/sqlite-core/query-builders/insert.d.cts +2 -2
  1001. package/sqlite-core/query-builders/insert.d.ts +2 -2
  1002. package/sqlite-core/query-builders/insert.js.map +1 -1
  1003. package/sqlite-core/query-builders/update.cjs +2 -2
  1004. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1005. package/sqlite-core/query-builders/update.d.cts +1 -1
  1006. package/sqlite-core/query-builders/update.d.ts +1 -1
  1007. package/sqlite-core/query-builders/update.js +2 -2
  1008. package/sqlite-core/query-builders/update.js.map +1 -1
  1009. package/sqlite-core/unique-constraint.cjs +0 -2
  1010. package/sqlite-core/unique-constraint.cjs.map +1 -1
  1011. package/sqlite-core/unique-constraint.d.cts +2 -3
  1012. package/sqlite-core/unique-constraint.d.ts +2 -3
  1013. package/sqlite-core/unique-constraint.js +0 -2
  1014. package/sqlite-core/unique-constraint.js.map +1 -1
  1015. package/sqlite-proxy/session.cjs +1 -0
  1016. package/sqlite-proxy/session.cjs.map +1 -1
  1017. package/sqlite-proxy/session.js +1 -0
  1018. package/sqlite-proxy/session.js.map +1 -1
  1019. package/table.cjs +1 -0
  1020. package/table.cjs.map +1 -1
  1021. package/table.d.cts +3 -2
  1022. package/table.d.ts +3 -2
  1023. package/table.js +1 -0
  1024. package/table.js.map +1 -1
  1025. package/tidb-serverless/driver.cjs +12 -8
  1026. package/tidb-serverless/driver.cjs.map +1 -1
  1027. package/tidb-serverless/driver.d.cts +3 -3
  1028. package/tidb-serverless/driver.d.ts +3 -3
  1029. package/tidb-serverless/driver.js +12 -8
  1030. package/tidb-serverless/driver.js.map +1 -1
  1031. package/tracing.cjs +3 -3
  1032. package/tracing.cjs.map +1 -1
  1033. package/tracing.js +3 -3
  1034. package/tracing.js.map +1 -1
  1035. package/tursodatabase/database.cjs +10 -6
  1036. package/tursodatabase/database.cjs.map +1 -1
  1037. package/tursodatabase/database.d.cts +3 -3
  1038. package/tursodatabase/database.d.ts +3 -3
  1039. package/tursodatabase/database.js +10 -6
  1040. package/tursodatabase/database.js.map +1 -1
  1041. package/tursodatabase/session.cjs +2 -0
  1042. package/tursodatabase/session.cjs.map +1 -1
  1043. package/tursodatabase/session.js +2 -0
  1044. package/tursodatabase/session.js.map +1 -1
  1045. package/tursodatabase/wasm.cjs +10 -6
  1046. package/tursodatabase/wasm.cjs.map +1 -1
  1047. package/tursodatabase/wasm.d.cts +3 -3
  1048. package/tursodatabase/wasm.d.ts +3 -3
  1049. package/tursodatabase/wasm.js +10 -6
  1050. package/tursodatabase/wasm.js.map +1 -1
  1051. package/vercel-postgres/session.cjs.map +1 -1
  1052. package/vercel-postgres/session.js.map +1 -1
  1053. package/version.cjs +2 -2
  1054. package/version.cjs.map +1 -1
  1055. package/version.d.cts +2 -2
  1056. package/version.d.ts +2 -2
  1057. package/version.js +2 -2
  1058. package/version.js.map +1 -1
  1059. package/cockroach/driver.cjs.map +0 -1
  1060. package/cockroach/driver.d.cts +0 -42
  1061. package/cockroach/driver.d.ts +0 -42
  1062. package/cockroach/driver.js +0 -73
  1063. package/cockroach/driver.js.map +0 -1
  1064. package/cockroach/index.cjs +0 -25
  1065. package/cockroach/index.cjs.map +0 -1
  1066. package/cockroach/index.js.map +0 -1
  1067. package/cockroach/migrator.cjs +0 -33
  1068. package/cockroach/migrator.cjs.map +0 -1
  1069. package/cockroach/migrator.d.cts +0 -3
  1070. package/cockroach/migrator.d.ts +0 -3
  1071. package/cockroach/migrator.js +0 -9
  1072. package/cockroach/migrator.js.map +0 -1
  1073. package/cockroach/session.cjs +0 -253
  1074. package/cockroach/session.cjs.map +0 -1
  1075. package/cockroach/session.d.cts +0 -48
  1076. package/cockroach/session.d.ts +0 -48
  1077. package/cockroach/session.js +0 -217
  1078. package/cockroach/session.js.map +0 -1
  1079. package/cockroach-core/alias.cjs +0 -32
  1080. package/cockroach-core/alias.cjs.map +0 -1
  1081. package/cockroach-core/alias.d.cts +0 -4
  1082. package/cockroach-core/alias.d.ts +0 -4
  1083. package/cockroach-core/alias.js +0 -8
  1084. package/cockroach-core/alias.js.map +0 -1
  1085. package/cockroach-core/checks.cjs +0 -58
  1086. package/cockroach-core/checks.cjs.map +0 -1
  1087. package/cockroach-core/checks.d.cts +0 -18
  1088. package/cockroach-core/checks.d.ts +0 -18
  1089. package/cockroach-core/checks.js +0 -32
  1090. package/cockroach-core/checks.js.map +0 -1
  1091. package/cockroach-core/columns/all.cjs +0 -81
  1092. package/cockroach-core/columns/all.cjs.map +0 -1
  1093. package/cockroach-core/columns/all.d.cts +0 -52
  1094. package/cockroach-core/columns/all.d.ts +0 -52
  1095. package/cockroach-core/columns/all.js +0 -57
  1096. package/cockroach-core/columns/all.js.map +0 -1
  1097. package/cockroach-core/columns/bigint.cjs +0 -104
  1098. package/cockroach-core/columns/bigint.cjs.map +0 -1
  1099. package/cockroach-core/columns/bigint.d.cts +0 -37
  1100. package/cockroach-core/columns/bigint.d.ts +0 -37
  1101. package/cockroach-core/columns/bigint.js +0 -75
  1102. package/cockroach-core/columns/bigint.js.map +0 -1
  1103. package/cockroach-core/columns/bit.cjs +0 -61
  1104. package/cockroach-core/columns/bit.cjs.map +0 -1
  1105. package/cockroach-core/columns/bit.d.cts +0 -29
  1106. package/cockroach-core/columns/bit.d.ts +0 -29
  1107. package/cockroach-core/columns/bit.js +0 -35
  1108. package/cockroach-core/columns/bit.js.map +0 -1
  1109. package/cockroach-core/columns/bool.cjs +0 -59
  1110. package/cockroach-core/columns/bool.cjs.map +0 -1
  1111. package/cockroach-core/columns/bool.d.cts +0 -17
  1112. package/cockroach-core/columns/bool.d.ts +0 -17
  1113. package/cockroach-core/columns/bool.js +0 -32
  1114. package/cockroach-core/columns/bool.js.map +0 -1
  1115. package/cockroach-core/columns/char.cjs +0 -62
  1116. package/cockroach-core/columns/char.cjs.map +0 -1
  1117. package/cockroach-core/columns/char.d.cts +0 -31
  1118. package/cockroach-core/columns/char.d.ts +0 -31
  1119. package/cockroach-core/columns/char.js +0 -36
  1120. package/cockroach-core/columns/char.js.map +0 -1
  1121. package/cockroach-core/columns/common.cjs +0 -198
  1122. package/cockroach-core/columns/common.cjs.map +0 -1
  1123. package/cockroach-core/columns/common.d.cts +0 -98
  1124. package/cockroach-core/columns/common.d.ts +0 -98
  1125. package/cockroach-core/columns/common.js +0 -168
  1126. package/cockroach-core/columns/common.js.map +0 -1
  1127. package/cockroach-core/columns/custom.cjs +0 -102
  1128. package/cockroach-core/columns/custom.cjs.map +0 -1
  1129. package/cockroach-core/columns/custom.d.cts +0 -261
  1130. package/cockroach-core/columns/custom.d.ts +0 -261
  1131. package/cockroach-core/columns/custom.js +0 -76
  1132. package/cockroach-core/columns/custom.js.map +0 -1
  1133. package/cockroach-core/columns/date.cjs +0 -91
  1134. package/cockroach-core/columns/date.cjs.map +0 -1
  1135. package/cockroach-core/columns/date.common.cjs +0 -37
  1136. package/cockroach-core/columns/date.common.cjs.map +0 -1
  1137. package/cockroach-core/columns/date.common.d.cts +0 -7
  1138. package/cockroach-core/columns/date.common.d.ts +0 -7
  1139. package/cockroach-core/columns/date.common.js +0 -13
  1140. package/cockroach-core/columns/date.common.js.map +0 -1
  1141. package/cockroach-core/columns/date.d.cts +0 -36
  1142. package/cockroach-core/columns/date.d.ts +0 -36
  1143. package/cockroach-core/columns/date.js +0 -63
  1144. package/cockroach-core/columns/date.js.map +0 -1
  1145. package/cockroach-core/columns/decimal.cjs +0 -164
  1146. package/cockroach-core/columns/decimal.cjs.map +0 -1
  1147. package/cockroach-core/columns/decimal.d.cts +0 -80
  1148. package/cockroach-core/columns/decimal.d.ts +0 -80
  1149. package/cockroach-core/columns/decimal.js +0 -133
  1150. package/cockroach-core/columns/decimal.js.map +0 -1
  1151. package/cockroach-core/columns/enum.cjs +0 -127
  1152. package/cockroach-core/columns/enum.cjs.map +0 -1
  1153. package/cockroach-core/columns/enum.d.cts +0 -64
  1154. package/cockroach-core/columns/enum.d.ts +0 -64
  1155. package/cockroach-core/columns/enum.js +0 -96
  1156. package/cockroach-core/columns/enum.js.map +0 -1
  1157. package/cockroach-core/columns/float.cjs +0 -65
  1158. package/cockroach-core/columns/float.cjs.map +0 -1
  1159. package/cockroach-core/columns/float.d.cts +0 -18
  1160. package/cockroach-core/columns/float.d.ts +0 -18
  1161. package/cockroach-core/columns/float.js +0 -38
  1162. package/cockroach-core/columns/float.js.map +0 -1
  1163. package/cockroach-core/columns/geometry.cjs +0 -105
  1164. package/cockroach-core/columns/geometry.cjs.map +0 -1
  1165. package/cockroach-core/columns/geometry.d.cts +0 -60
  1166. package/cockroach-core/columns/geometry.d.ts +0 -60
  1167. package/cockroach-core/columns/geometry.js +0 -77
  1168. package/cockroach-core/columns/geometry.js.map +0 -1
  1169. package/cockroach-core/columns/index.cjs +0 -71
  1170. package/cockroach-core/columns/index.cjs.map +0 -1
  1171. package/cockroach-core/columns/index.d.cts +0 -25
  1172. package/cockroach-core/columns/index.d.ts +0 -25
  1173. package/cockroach-core/columns/index.js +0 -26
  1174. package/cockroach-core/columns/index.js.map +0 -1
  1175. package/cockroach-core/columns/inet.cjs +0 -56
  1176. package/cockroach-core/columns/inet.cjs.map +0 -1
  1177. package/cockroach-core/columns/inet.d.cts +0 -16
  1178. package/cockroach-core/columns/inet.d.ts +0 -16
  1179. package/cockroach-core/columns/inet.js +0 -30
  1180. package/cockroach-core/columns/inet.js.map +0 -1
  1181. package/cockroach-core/columns/int.common.cjs +0 -55
  1182. package/cockroach-core/columns/int.common.cjs.map +0 -1
  1183. package/cockroach-core/columns/int.common.d.cts +0 -11
  1184. package/cockroach-core/columns/int.common.d.ts +0 -11
  1185. package/cockroach-core/columns/int.common.js +0 -31
  1186. package/cockroach-core/columns/int.common.js.map +0 -1
  1187. package/cockroach-core/columns/integer.cjs +0 -63
  1188. package/cockroach-core/columns/integer.cjs.map +0 -1
  1189. package/cockroach-core/columns/integer.d.cts +0 -18
  1190. package/cockroach-core/columns/integer.d.ts +0 -18
  1191. package/cockroach-core/columns/integer.js +0 -37
  1192. package/cockroach-core/columns/integer.js.map +0 -1
  1193. package/cockroach-core/columns/interval.cjs +0 -63
  1194. package/cockroach-core/columns/interval.cjs.map +0 -1
  1195. package/cockroach-core/columns/interval.d.cts +0 -28
  1196. package/cockroach-core/columns/interval.d.ts +0 -28
  1197. package/cockroach-core/columns/interval.js +0 -37
  1198. package/cockroach-core/columns/interval.js.map +0 -1
  1199. package/cockroach-core/columns/jsonb.cjs +0 -72
  1200. package/cockroach-core/columns/jsonb.cjs.map +0 -1
  1201. package/cockroach-core/columns/jsonb.d.cts +0 -20
  1202. package/cockroach-core/columns/jsonb.d.ts +0 -20
  1203. package/cockroach-core/columns/jsonb.js +0 -46
  1204. package/cockroach-core/columns/jsonb.js.map +0 -1
  1205. package/cockroach-core/columns/real.cjs +0 -66
  1206. package/cockroach-core/columns/real.cjs.map +0 -1
  1207. package/cockroach-core/columns/real.d.cts +0 -21
  1208. package/cockroach-core/columns/real.d.ts +0 -21
  1209. package/cockroach-core/columns/real.js +0 -40
  1210. package/cockroach-core/columns/real.js.map +0 -1
  1211. package/cockroach-core/columns/smallint.cjs +0 -68
  1212. package/cockroach-core/columns/smallint.cjs.map +0 -1
  1213. package/cockroach-core/columns/smallint.d.cts +0 -19
  1214. package/cockroach-core/columns/smallint.d.ts +0 -19
  1215. package/cockroach-core/columns/smallint.js +0 -41
  1216. package/cockroach-core/columns/smallint.js.map +0 -1
  1217. package/cockroach-core/columns/string.cjs +0 -67
  1218. package/cockroach-core/columns/string.cjs.map +0 -1
  1219. package/cockroach-core/columns/string.d.cts +0 -36
  1220. package/cockroach-core/columns/string.d.ts +0 -36
  1221. package/cockroach-core/columns/string.js +0 -40
  1222. package/cockroach-core/columns/string.js.map +0 -1
  1223. package/cockroach-core/columns/time.cjs +0 -70
  1224. package/cockroach-core/columns/time.cjs.map +0 -1
  1225. package/cockroach-core/columns/time.d.cts +0 -31
  1226. package/cockroach-core/columns/time.d.ts +0 -31
  1227. package/cockroach-core/columns/time.js +0 -44
  1228. package/cockroach-core/columns/time.js.map +0 -1
  1229. package/cockroach-core/columns/timestamp.cjs +0 -111
  1230. package/cockroach-core/columns/timestamp.cjs.map +0 -1
  1231. package/cockroach-core/columns/timestamp.d.cts +0 -52
  1232. package/cockroach-core/columns/timestamp.d.ts +0 -52
  1233. package/cockroach-core/columns/timestamp.js +0 -83
  1234. package/cockroach-core/columns/timestamp.js.map +0 -1
  1235. package/cockroach-core/columns/utils.cjs +0 -65
  1236. package/cockroach-core/columns/utils.cjs.map +0 -1
  1237. package/cockroach-core/columns/utils.d.cts +0 -4
  1238. package/cockroach-core/columns/utils.d.ts +0 -4
  1239. package/cockroach-core/columns/utils.js +0 -41
  1240. package/cockroach-core/columns/utils.js.map +0 -1
  1241. package/cockroach-core/columns/uuid.cjs +0 -63
  1242. package/cockroach-core/columns/uuid.cjs.map +0 -1
  1243. package/cockroach-core/columns/uuid.d.cts +0 -20
  1244. package/cockroach-core/columns/uuid.d.ts +0 -20
  1245. package/cockroach-core/columns/uuid.js +0 -37
  1246. package/cockroach-core/columns/uuid.js.map +0 -1
  1247. package/cockroach-core/columns/varbit.cjs +0 -59
  1248. package/cockroach-core/columns/varbit.cjs.map +0 -1
  1249. package/cockroach-core/columns/varbit.d.cts +0 -24
  1250. package/cockroach-core/columns/varbit.d.ts +0 -24
  1251. package/cockroach-core/columns/varbit.js +0 -33
  1252. package/cockroach-core/columns/varbit.js.map +0 -1
  1253. package/cockroach-core/columns/varchar.cjs +0 -61
  1254. package/cockroach-core/columns/varchar.cjs.map +0 -1
  1255. package/cockroach-core/columns/varchar.d.cts +0 -30
  1256. package/cockroach-core/columns/varchar.d.ts +0 -30
  1257. package/cockroach-core/columns/varchar.js +0 -35
  1258. package/cockroach-core/columns/varchar.js.map +0 -1
  1259. package/cockroach-core/columns/vector.cjs +0 -65
  1260. package/cockroach-core/columns/vector.cjs.map +0 -1
  1261. package/cockroach-core/columns/vector.d.cts +0 -26
  1262. package/cockroach-core/columns/vector.d.ts +0 -26
  1263. package/cockroach-core/columns/vector.js +0 -39
  1264. package/cockroach-core/columns/vector.js.map +0 -1
  1265. package/cockroach-core/db.cjs +0 -346
  1266. package/cockroach-core/db.cjs.map +0 -1
  1267. package/cockroach-core/db.d.cts +0 -282
  1268. package/cockroach-core/db.d.ts +0 -282
  1269. package/cockroach-core/db.js +0 -327
  1270. package/cockroach-core/db.js.map +0 -1
  1271. package/cockroach-core/dialect.cjs +0 -1146
  1272. package/cockroach-core/dialect.cjs.map +0 -1
  1273. package/cockroach-core/dialect.d.cts +0 -65
  1274. package/cockroach-core/dialect.d.ts +0 -65
  1275. package/cockroach-core/dialect.js +0 -1126
  1276. package/cockroach-core/dialect.js.map +0 -1
  1277. package/cockroach-core/expressions.cjs +0 -49
  1278. package/cockroach-core/expressions.cjs.map +0 -1
  1279. package/cockroach-core/expressions.d.cts +0 -8
  1280. package/cockroach-core/expressions.d.ts +0 -8
  1281. package/cockroach-core/expressions.js +0 -22
  1282. package/cockroach-core/expressions.js.map +0 -1
  1283. package/cockroach-core/foreign-keys.cjs +0 -95
  1284. package/cockroach-core/foreign-keys.cjs.map +0 -1
  1285. package/cockroach-core/foreign-keys.d.cts +0 -53
  1286. package/cockroach-core/foreign-keys.d.ts +0 -53
  1287. package/cockroach-core/foreign-keys.js +0 -69
  1288. package/cockroach-core/foreign-keys.js.map +0 -1
  1289. package/cockroach-core/index.cjs +0 -61
  1290. package/cockroach-core/index.cjs.map +0 -1
  1291. package/cockroach-core/index.d.cts +0 -20
  1292. package/cockroach-core/index.d.ts +0 -20
  1293. package/cockroach-core/index.js +0 -21
  1294. package/cockroach-core/index.js.map +0 -1
  1295. package/cockroach-core/indexes.cjs +0 -139
  1296. package/cockroach-core/indexes.cjs.map +0 -1
  1297. package/cockroach-core/indexes.d.cts +0 -65
  1298. package/cockroach-core/indexes.d.ts +0 -65
  1299. package/cockroach-core/indexes.js +0 -111
  1300. package/cockroach-core/indexes.js.map +0 -1
  1301. package/cockroach-core/policies.cjs +0 -58
  1302. package/cockroach-core/policies.cjs.map +0 -1
  1303. package/cockroach-core/policies.d.cts +0 -24
  1304. package/cockroach-core/policies.d.ts +0 -24
  1305. package/cockroach-core/policies.js +0 -33
  1306. package/cockroach-core/policies.js.map +0 -1
  1307. package/cockroach-core/primary-keys.cjs +0 -66
  1308. package/cockroach-core/primary-keys.cjs.map +0 -1
  1309. package/cockroach-core/primary-keys.d.cts +0 -24
  1310. package/cockroach-core/primary-keys.d.ts +0 -24
  1311. package/cockroach-core/primary-keys.js +0 -40
  1312. package/cockroach-core/primary-keys.js.map +0 -1
  1313. package/cockroach-core/query-builders/count.cjs +0 -79
  1314. package/cockroach-core/query-builders/count.cjs.map +0 -1
  1315. package/cockroach-core/query-builders/count.d.cts +0 -30
  1316. package/cockroach-core/query-builders/count.d.ts +0 -30
  1317. package/cockroach-core/query-builders/count.js +0 -55
  1318. package/cockroach-core/query-builders/count.js.map +0 -1
  1319. package/cockroach-core/query-builders/delete.cjs +0 -124
  1320. package/cockroach-core/query-builders/delete.cjs.map +0 -1
  1321. package/cockroach-core/query-builders/delete.d.cts +0 -103
  1322. package/cockroach-core/query-builders/delete.d.ts +0 -103
  1323. package/cockroach-core/query-builders/delete.js +0 -100
  1324. package/cockroach-core/query-builders/delete.js.map +0 -1
  1325. package/cockroach-core/query-builders/index.cjs +0 -35
  1326. package/cockroach-core/query-builders/index.cjs.map +0 -1
  1327. package/cockroach-core/query-builders/index.d.cts +0 -7
  1328. package/cockroach-core/query-builders/index.d.ts +0 -7
  1329. package/cockroach-core/query-builders/index.js +0 -8
  1330. package/cockroach-core/query-builders/index.js.map +0 -1
  1331. package/cockroach-core/query-builders/insert.cjs +0 -213
  1332. package/cockroach-core/query-builders/insert.cjs.map +0 -1
  1333. package/cockroach-core/query-builders/insert.d.cts +0 -168
  1334. package/cockroach-core/query-builders/insert.d.ts +0 -168
  1335. package/cockroach-core/query-builders/insert.js +0 -188
  1336. package/cockroach-core/query-builders/insert.js.map +0 -1
  1337. package/cockroach-core/query-builders/query-builder.cjs +0 -118
  1338. package/cockroach-core/query-builders/query-builder.cjs.map +0 -1
  1339. package/cockroach-core/query-builders/query-builder.d.cts +0 -37
  1340. package/cockroach-core/query-builders/query-builder.d.ts +0 -37
  1341. package/cockroach-core/query-builders/query-builder.js +0 -94
  1342. package/cockroach-core/query-builders/query-builder.js.map +0 -1
  1343. package/cockroach-core/query-builders/query.cjs +0 -145
  1344. package/cockroach-core/query-builders/query.cjs.map +0 -1
  1345. package/cockroach-core/query-builders/query.d.cts +0 -47
  1346. package/cockroach-core/query-builders/query.d.ts +0 -47
  1347. package/cockroach-core/query-builders/query.js +0 -122
  1348. package/cockroach-core/query-builders/query.js.map +0 -1
  1349. package/cockroach-core/query-builders/raw.cjs +0 -57
  1350. package/cockroach-core/query-builders/raw.cjs.map +0 -1
  1351. package/cockroach-core/query-builders/raw.d.cts +0 -22
  1352. package/cockroach-core/query-builders/raw.d.ts +0 -22
  1353. package/cockroach-core/query-builders/raw.js +0 -33
  1354. package/cockroach-core/query-builders/raw.js.map +0 -1
  1355. package/cockroach-core/query-builders/refresh-materialized-view.cjs +0 -83
  1356. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  1357. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +0 -28
  1358. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +0 -28
  1359. package/cockroach-core/query-builders/refresh-materialized-view.js +0 -59
  1360. package/cockroach-core/query-builders/refresh-materialized-view.js.map +0 -1
  1361. package/cockroach-core/query-builders/select.cjs +0 -847
  1362. package/cockroach-core/query-builders/select.cjs.map +0 -1
  1363. package/cockroach-core/query-builders/select.d.cts +0 -787
  1364. package/cockroach-core/query-builders/select.d.ts +0 -787
  1365. package/cockroach-core/query-builders/select.js +0 -821
  1366. package/cockroach-core/query-builders/select.js.map +0 -1
  1367. package/cockroach-core/query-builders/select.types.cjs +0 -17
  1368. package/cockroach-core/query-builders/select.types.cjs.map +0 -1
  1369. package/cockroach-core/query-builders/select.types.d.cts +0 -140
  1370. package/cockroach-core/query-builders/select.types.d.ts +0 -140
  1371. package/cockroach-core/query-builders/select.types.js +0 -1
  1372. package/cockroach-core/query-builders/select.types.js.map +0 -1
  1373. package/cockroach-core/query-builders/update.cjs +0 -240
  1374. package/cockroach-core/query-builders/update.cjs.map +0 -1
  1375. package/cockroach-core/query-builders/update.d.cts +0 -170
  1376. package/cockroach-core/query-builders/update.d.ts +0 -170
  1377. package/cockroach-core/query-builders/update.js +0 -219
  1378. package/cockroach-core/query-builders/update.js.map +0 -1
  1379. package/cockroach-core/roles.cjs +0 -54
  1380. package/cockroach-core/roles.cjs.map +0 -1
  1381. package/cockroach-core/roles.d.cts +0 -12
  1382. package/cockroach-core/roles.d.ts +0 -12
  1383. package/cockroach-core/roles.js +0 -29
  1384. package/cockroach-core/roles.js.map +0 -1
  1385. package/cockroach-core/schema.cjs +0 -92
  1386. package/cockroach-core/schema.cjs.map +0 -1
  1387. package/cockroach-core/schema.d.cts +0 -24
  1388. package/cockroach-core/schema.d.ts +0 -24
  1389. package/cockroach-core/schema.js +0 -72
  1390. package/cockroach-core/schema.js.map +0 -1
  1391. package/cockroach-core/sequence.cjs +0 -52
  1392. package/cockroach-core/sequence.cjs.map +0 -1
  1393. package/cockroach-core/sequence.d.cts +0 -17
  1394. package/cockroach-core/sequence.d.ts +0 -17
  1395. package/cockroach-core/sequence.js +0 -25
  1396. package/cockroach-core/sequence.js.map +0 -1
  1397. package/cockroach-core/session.cjs +0 -120
  1398. package/cockroach-core/session.cjs.map +0 -1
  1399. package/cockroach-core/session.d.cts +0 -62
  1400. package/cockroach-core/session.d.ts +0 -62
  1401. package/cockroach-core/session.js +0 -94
  1402. package/cockroach-core/session.js.map +0 -1
  1403. package/cockroach-core/subquery.cjs +0 -17
  1404. package/cockroach-core/subquery.cjs.map +0 -1
  1405. package/cockroach-core/subquery.d.cts +0 -18
  1406. package/cockroach-core/subquery.d.ts +0 -18
  1407. package/cockroach-core/subquery.js +0 -1
  1408. package/cockroach-core/subquery.js.map +0 -1
  1409. package/cockroach-core/table.cjs +0 -121
  1410. package/cockroach-core/table.cjs.map +0 -1
  1411. package/cockroach-core/table.d.cts +0 -40
  1412. package/cockroach-core/table.d.ts +0 -40
  1413. package/cockroach-core/table.js +0 -94
  1414. package/cockroach-core/table.js.map +0 -1
  1415. package/cockroach-core/unique-constraint.cjs +0 -77
  1416. package/cockroach-core/unique-constraint.cjs.map +0 -1
  1417. package/cockroach-core/unique-constraint.d.cts +0 -23
  1418. package/cockroach-core/unique-constraint.d.ts +0 -23
  1419. package/cockroach-core/unique-constraint.js +0 -50
  1420. package/cockroach-core/unique-constraint.js.map +0 -1
  1421. package/cockroach-core/utils/array.cjs +0 -106
  1422. package/cockroach-core/utils/array.cjs.map +0 -1
  1423. package/cockroach-core/utils/array.d.cts +0 -3
  1424. package/cockroach-core/utils/array.d.ts +0 -3
  1425. package/cockroach-core/utils/array.js +0 -80
  1426. package/cockroach-core/utils/array.js.map +0 -1
  1427. package/cockroach-core/utils/index.cjs +0 -23
  1428. package/cockroach-core/utils/index.cjs.map +0 -1
  1429. package/cockroach-core/utils/index.d.cts +0 -1
  1430. package/cockroach-core/utils/index.d.ts +0 -1
  1431. package/cockroach-core/utils/index.js +0 -2
  1432. package/cockroach-core/utils/index.js.map +0 -1
  1433. package/cockroach-core/utils.cjs +0 -98
  1434. package/cockroach-core/utils.cjs.map +0 -1
  1435. package/cockroach-core/utils.d.cts +0 -47
  1436. package/cockroach-core/utils.d.ts +0 -47
  1437. package/cockroach-core/utils.js +0 -72
  1438. package/cockroach-core/utils.js.map +0 -1
  1439. package/cockroach-core/view-base.cjs +0 -33
  1440. package/cockroach-core/view-base.cjs.map +0 -1
  1441. package/cockroach-core/view-base.d.cts +0 -8
  1442. package/cockroach-core/view-base.d.ts +0 -8
  1443. package/cockroach-core/view-base.js +0 -9
  1444. package/cockroach-core/view-base.js.map +0 -1
  1445. package/cockroach-core/view.cjs +0 -271
  1446. package/cockroach-core/view.cjs.map +0 -1
  1447. package/cockroach-core/view.d.cts +0 -106
  1448. package/cockroach-core/view.d.ts +0 -106
  1449. package/cockroach-core/view.js +0 -233
  1450. package/cockroach-core/view.js.map +0 -1
  1451. package/mssql-core/alias.cjs +0 -32
  1452. package/mssql-core/alias.cjs.map +0 -1
  1453. package/mssql-core/alias.d.cts +0 -4
  1454. package/mssql-core/alias.d.ts +0 -4
  1455. package/mssql-core/alias.js +0 -8
  1456. package/mssql-core/alias.js.map +0 -1
  1457. package/mssql-core/checks.cjs +0 -58
  1458. package/mssql-core/checks.cjs.map +0 -1
  1459. package/mssql-core/checks.d.cts +0 -18
  1460. package/mssql-core/checks.d.ts +0 -18
  1461. package/mssql-core/checks.js +0 -32
  1462. package/mssql-core/checks.js.map +0 -1
  1463. package/mssql-core/columns/all.cjs +0 -74
  1464. package/mssql-core/columns/all.cjs.map +0 -1
  1465. package/mssql-core/columns/all.d.cts +0 -45
  1466. package/mssql-core/columns/all.d.ts +0 -45
  1467. package/mssql-core/columns/all.js +0 -50
  1468. package/mssql-core/columns/all.js.map +0 -1
  1469. package/mssql-core/columns/bigint.cjs +0 -72
  1470. package/mssql-core/columns/bigint.cjs.map +0 -1
  1471. package/mssql-core/columns/bigint.d.cts +0 -25
  1472. package/mssql-core/columns/bigint.d.ts +0 -25
  1473. package/mssql-core/columns/bigint.js +0 -46
  1474. package/mssql-core/columns/bigint.js.map +0 -1
  1475. package/mssql-core/columns/binary.cjs +0 -57
  1476. package/mssql-core/columns/binary.cjs.map +0 -1
  1477. package/mssql-core/columns/binary.d.cts +0 -24
  1478. package/mssql-core/columns/binary.d.ts +0 -24
  1479. package/mssql-core/columns/binary.js +0 -31
  1480. package/mssql-core/columns/binary.js.map +0 -1
  1481. package/mssql-core/columns/bit.cjs +0 -54
  1482. package/mssql-core/columns/bit.cjs.map +0 -1
  1483. package/mssql-core/columns/bit.d.cts +0 -17
  1484. package/mssql-core/columns/bit.d.ts +0 -17
  1485. package/mssql-core/columns/bit.js +0 -28
  1486. package/mssql-core/columns/bit.js.map +0 -1
  1487. package/mssql-core/columns/char.cjs +0 -73
  1488. package/mssql-core/columns/char.cjs.map +0 -1
  1489. package/mssql-core/columns/char.d.cts +0 -29
  1490. package/mssql-core/columns/char.d.ts +0 -29
  1491. package/mssql-core/columns/char.js +0 -46
  1492. package/mssql-core/columns/char.js.map +0 -1
  1493. package/mssql-core/columns/common.cjs +0 -112
  1494. package/mssql-core/columns/common.cjs.map +0 -1
  1495. package/mssql-core/columns/common.d.cts +0 -57
  1496. package/mssql-core/columns/common.d.ts +0 -57
  1497. package/mssql-core/columns/common.js +0 -85
  1498. package/mssql-core/columns/common.js.map +0 -1
  1499. package/mssql-core/columns/custom.cjs +0 -105
  1500. package/mssql-core/columns/custom.cjs.map +0 -1
  1501. package/mssql-core/columns/custom.d.cts +0 -261
  1502. package/mssql-core/columns/custom.d.ts +0 -261
  1503. package/mssql-core/columns/custom.js +0 -79
  1504. package/mssql-core/columns/custom.js.map +0 -1
  1505. package/mssql-core/columns/date.cjs +0 -94
  1506. package/mssql-core/columns/date.cjs.map +0 -1
  1507. package/mssql-core/columns/date.common.cjs +0 -37
  1508. package/mssql-core/columns/date.common.cjs.map +0 -1
  1509. package/mssql-core/columns/date.common.d.cts +0 -12
  1510. package/mssql-core/columns/date.common.d.ts +0 -12
  1511. package/mssql-core/columns/date.common.js +0 -13
  1512. package/mssql-core/columns/date.common.js.map +0 -1
  1513. package/mssql-core/columns/date.d.cts +0 -39
  1514. package/mssql-core/columns/date.d.ts +0 -39
  1515. package/mssql-core/columns/date.js +0 -66
  1516. package/mssql-core/columns/date.js.map +0 -1
  1517. package/mssql-core/columns/datetime.cjs +0 -94
  1518. package/mssql-core/columns/datetime.cjs.map +0 -1
  1519. package/mssql-core/columns/datetime.d.cts +0 -38
  1520. package/mssql-core/columns/datetime.d.ts +0 -38
  1521. package/mssql-core/columns/datetime.js +0 -66
  1522. package/mssql-core/columns/datetime.js.map +0 -1
  1523. package/mssql-core/columns/datetime2.cjs +0 -102
  1524. package/mssql-core/columns/datetime2.cjs.map +0 -1
  1525. package/mssql-core/columns/datetime2.d.cts +0 -38
  1526. package/mssql-core/columns/datetime2.d.ts +0 -38
  1527. package/mssql-core/columns/datetime2.js +0 -74
  1528. package/mssql-core/columns/datetime2.js.map +0 -1
  1529. package/mssql-core/columns/datetimeoffset.cjs +0 -102
  1530. package/mssql-core/columns/datetimeoffset.cjs.map +0 -1
  1531. package/mssql-core/columns/datetimeoffset.d.cts +0 -39
  1532. package/mssql-core/columns/datetimeoffset.d.ts +0 -39
  1533. package/mssql-core/columns/datetimeoffset.js +0 -74
  1534. package/mssql-core/columns/datetimeoffset.js.map +0 -1
  1535. package/mssql-core/columns/decimal.cjs +0 -146
  1536. package/mssql-core/columns/decimal.cjs.map +0 -1
  1537. package/mssql-core/columns/decimal.d.cts +0 -58
  1538. package/mssql-core/columns/decimal.d.ts +0 -58
  1539. package/mssql-core/columns/decimal.js +0 -116
  1540. package/mssql-core/columns/decimal.js.map +0 -1
  1541. package/mssql-core/columns/float.cjs +0 -58
  1542. package/mssql-core/columns/float.cjs.map +0 -1
  1543. package/mssql-core/columns/float.d.cts +0 -21
  1544. package/mssql-core/columns/float.d.ts +0 -21
  1545. package/mssql-core/columns/float.js +0 -32
  1546. package/mssql-core/columns/float.js.map +0 -1
  1547. package/mssql-core/columns/index.cjs +0 -63
  1548. package/mssql-core/columns/index.cjs.map +0 -1
  1549. package/mssql-core/columns/index.d.cts +0 -21
  1550. package/mssql-core/columns/index.d.ts +0 -21
  1551. package/mssql-core/columns/index.js +0 -22
  1552. package/mssql-core/columns/index.js.map +0 -1
  1553. package/mssql-core/columns/int.cjs +0 -53
  1554. package/mssql-core/columns/int.cjs.map +0 -1
  1555. package/mssql-core/columns/int.d.cts +0 -16
  1556. package/mssql-core/columns/int.d.ts +0 -16
  1557. package/mssql-core/columns/int.js +0 -27
  1558. package/mssql-core/columns/int.js.map +0 -1
  1559. package/mssql-core/columns/numeric.cjs +0 -146
  1560. package/mssql-core/columns/numeric.cjs.map +0 -1
  1561. package/mssql-core/columns/numeric.d.cts +0 -58
  1562. package/mssql-core/columns/numeric.d.ts +0 -58
  1563. package/mssql-core/columns/numeric.js +0 -116
  1564. package/mssql-core/columns/numeric.js.map +0 -1
  1565. package/mssql-core/columns/real.cjs +0 -53
  1566. package/mssql-core/columns/real.cjs.map +0 -1
  1567. package/mssql-core/columns/real.d.cts +0 -16
  1568. package/mssql-core/columns/real.d.ts +0 -16
  1569. package/mssql-core/columns/real.js +0 -27
  1570. package/mssql-core/columns/real.js.map +0 -1
  1571. package/mssql-core/columns/smallint.cjs +0 -62
  1572. package/mssql-core/columns/smallint.cjs.map +0 -1
  1573. package/mssql-core/columns/smallint.d.cts +0 -17
  1574. package/mssql-core/columns/smallint.d.ts +0 -17
  1575. package/mssql-core/columns/smallint.js +0 -36
  1576. package/mssql-core/columns/smallint.js.map +0 -1
  1577. package/mssql-core/columns/text.cjs +0 -68
  1578. package/mssql-core/columns/text.cjs.map +0 -1
  1579. package/mssql-core/columns/text.d.cts +0 -36
  1580. package/mssql-core/columns/text.d.ts +0 -36
  1581. package/mssql-core/columns/text.js +0 -41
  1582. package/mssql-core/columns/text.js.map +0 -1
  1583. package/mssql-core/columns/time.cjs +0 -90
  1584. package/mssql-core/columns/time.cjs.map +0 -1
  1585. package/mssql-core/columns/time.d.cts +0 -37
  1586. package/mssql-core/columns/time.d.ts +0 -37
  1587. package/mssql-core/columns/time.js +0 -62
  1588. package/mssql-core/columns/time.js.map +0 -1
  1589. package/mssql-core/columns/tinyint.cjs +0 -62
  1590. package/mssql-core/columns/tinyint.cjs.map +0 -1
  1591. package/mssql-core/columns/tinyint.d.cts +0 -17
  1592. package/mssql-core/columns/tinyint.d.ts +0 -17
  1593. package/mssql-core/columns/tinyint.js +0 -36
  1594. package/mssql-core/columns/tinyint.js.map +0 -1
  1595. package/mssql-core/columns/varbinary.cjs +0 -61
  1596. package/mssql-core/columns/varbinary.cjs.map +0 -1
  1597. package/mssql-core/columns/varbinary.d.cts +0 -23
  1598. package/mssql-core/columns/varbinary.d.ts +0 -23
  1599. package/mssql-core/columns/varbinary.js +0 -35
  1600. package/mssql-core/columns/varbinary.js.map +0 -1
  1601. package/mssql-core/columns/varchar.cjs +0 -117
  1602. package/mssql-core/columns/varchar.cjs.map +0 -1
  1603. package/mssql-core/columns/varchar.d.cts +0 -59
  1604. package/mssql-core/columns/varchar.d.ts +0 -59
  1605. package/mssql-core/columns/varchar.js +0 -88
  1606. package/mssql-core/columns/varchar.js.map +0 -1
  1607. package/mssql-core/db.cjs +0 -254
  1608. package/mssql-core/db.cjs.map +0 -1
  1609. package/mssql-core/db.d.cts +0 -228
  1610. package/mssql-core/db.d.ts +0 -228
  1611. package/mssql-core/db.js +0 -235
  1612. package/mssql-core/db.js.map +0 -1
  1613. package/mssql-core/dialect.cjs +0 -633
  1614. package/mssql-core/dialect.cjs.map +0 -1
  1615. package/mssql-core/dialect.d.cts +0 -58
  1616. package/mssql-core/dialect.d.ts +0 -58
  1617. package/mssql-core/dialect.js +0 -599
  1618. package/mssql-core/dialect.js.map +0 -1
  1619. package/mssql-core/expressions.cjs +0 -49
  1620. package/mssql-core/expressions.cjs.map +0 -1
  1621. package/mssql-core/expressions.d.cts +0 -8
  1622. package/mssql-core/expressions.d.ts +0 -8
  1623. package/mssql-core/expressions.js +0 -22
  1624. package/mssql-core/expressions.js.map +0 -1
  1625. package/mssql-core/foreign-keys.cjs +0 -94
  1626. package/mssql-core/foreign-keys.cjs.map +0 -1
  1627. package/mssql-core/foreign-keys.d.cts +0 -52
  1628. package/mssql-core/foreign-keys.d.ts +0 -52
  1629. package/mssql-core/foreign-keys.js +0 -68
  1630. package/mssql-core/foreign-keys.js.map +0 -1
  1631. package/mssql-core/index.cjs +0 -55
  1632. package/mssql-core/index.cjs.map +0 -1
  1633. package/mssql-core/index.d.cts +0 -17
  1634. package/mssql-core/index.d.ts +0 -17
  1635. package/mssql-core/index.js +0 -18
  1636. package/mssql-core/index.js.map +0 -1
  1637. package/mssql-core/indexes.cjs +0 -82
  1638. package/mssql-core/indexes.cjs.map +0 -1
  1639. package/mssql-core/indexes.d.cts +0 -50
  1640. package/mssql-core/indexes.d.ts +0 -50
  1641. package/mssql-core/indexes.js +0 -54
  1642. package/mssql-core/indexes.js.map +0 -1
  1643. package/mssql-core/primary-keys.cjs +0 -66
  1644. package/mssql-core/primary-keys.cjs.map +0 -1
  1645. package/mssql-core/primary-keys.d.cts +0 -24
  1646. package/mssql-core/primary-keys.d.ts +0 -24
  1647. package/mssql-core/primary-keys.js +0 -40
  1648. package/mssql-core/primary-keys.js.map +0 -1
  1649. package/mssql-core/query-builders/delete.cjs +0 -107
  1650. package/mssql-core/query-builders/delete.cjs.map +0 -1
  1651. package/mssql-core/query-builders/delete.d.cts +0 -98
  1652. package/mssql-core/query-builders/delete.d.ts +0 -98
  1653. package/mssql-core/query-builders/delete.js +0 -83
  1654. package/mssql-core/query-builders/delete.js.map +0 -1
  1655. package/mssql-core/query-builders/index.cjs +0 -33
  1656. package/mssql-core/query-builders/index.cjs.map +0 -1
  1657. package/mssql-core/query-builders/index.d.cts +0 -6
  1658. package/mssql-core/query-builders/index.d.ts +0 -6
  1659. package/mssql-core/query-builders/index.js +0 -7
  1660. package/mssql-core/query-builders/index.js.map +0 -1
  1661. package/mssql-core/query-builders/insert.cjs +0 -105
  1662. package/mssql-core/query-builders/insert.cjs.map +0 -1
  1663. package/mssql-core/query-builders/insert.d.cts +0 -79
  1664. package/mssql-core/query-builders/insert.d.ts +0 -79
  1665. package/mssql-core/query-builders/insert.js +0 -80
  1666. package/mssql-core/query-builders/insert.js.map +0 -1
  1667. package/mssql-core/query-builders/query-builder.cjs +0 -95
  1668. package/mssql-core/query-builders/query-builder.cjs.map +0 -1
  1669. package/mssql-core/query-builders/query-builder.d.cts +0 -32
  1670. package/mssql-core/query-builders/query-builder.d.ts +0 -32
  1671. package/mssql-core/query-builders/query-builder.js +0 -71
  1672. package/mssql-core/query-builders/query-builder.js.map +0 -1
  1673. package/mssql-core/query-builders/query.cjs +0 -126
  1674. package/mssql-core/query-builders/query.cjs.map +0 -1
  1675. package/mssql-core/query-builders/query.d.cts +0 -42
  1676. package/mssql-core/query-builders/query.d.ts +0 -42
  1677. package/mssql-core/query-builders/query.js +0 -103
  1678. package/mssql-core/query-builders/query.js.map +0 -1
  1679. package/mssql-core/query-builders/select.cjs +0 -678
  1680. package/mssql-core/query-builders/select.cjs.map +0 -1
  1681. package/mssql-core/query-builders/select.d.cts +0 -549
  1682. package/mssql-core/query-builders/select.d.ts +0 -549
  1683. package/mssql-core/query-builders/select.js +0 -654
  1684. package/mssql-core/query-builders/select.js.map +0 -1
  1685. package/mssql-core/query-builders/select.types.cjs +0 -17
  1686. package/mssql-core/query-builders/select.types.cjs.map +0 -1
  1687. package/mssql-core/query-builders/select.types.d.cts +0 -142
  1688. package/mssql-core/query-builders/select.types.d.ts +0 -142
  1689. package/mssql-core/query-builders/select.types.js +0 -1
  1690. package/mssql-core/query-builders/select.types.js.map +0 -1
  1691. package/mssql-core/query-builders/update.cjs +0 -138
  1692. package/mssql-core/query-builders/update.cjs.map +0 -1
  1693. package/mssql-core/query-builders/update.d.cts +0 -142
  1694. package/mssql-core/query-builders/update.d.ts +0 -142
  1695. package/mssql-core/query-builders/update.js +0 -113
  1696. package/mssql-core/query-builders/update.js.map +0 -1
  1697. package/mssql-core/schema.cjs +0 -53
  1698. package/mssql-core/schema.cjs.map +0 -1
  1699. package/mssql-core/schema.d.cts +0 -13
  1700. package/mssql-core/schema.d.ts +0 -13
  1701. package/mssql-core/schema.js +0 -28
  1702. package/mssql-core/schema.js.map +0 -1
  1703. package/mssql-core/session.cjs +0 -74
  1704. package/mssql-core/session.cjs.map +0 -1
  1705. package/mssql-core/session.d.cts +0 -63
  1706. package/mssql-core/session.d.ts +0 -63
  1707. package/mssql-core/session.js +0 -48
  1708. package/mssql-core/session.js.map +0 -1
  1709. package/mssql-core/subquery.cjs +0 -17
  1710. package/mssql-core/subquery.cjs.map +0 -1
  1711. package/mssql-core/subquery.d.cts +0 -18
  1712. package/mssql-core/subquery.d.ts +0 -18
  1713. package/mssql-core/subquery.js +0 -1
  1714. package/mssql-core/subquery.js.map +0 -1
  1715. package/mssql-core/table.cjs +0 -81
  1716. package/mssql-core/table.cjs.map +0 -1
  1717. package/mssql-core/table.d.cts +0 -40
  1718. package/mssql-core/table.d.ts +0 -40
  1719. package/mssql-core/table.js +0 -55
  1720. package/mssql-core/table.js.map +0 -1
  1721. package/mssql-core/unique-constraint.cjs +0 -78
  1722. package/mssql-core/unique-constraint.cjs.map +0 -1
  1723. package/mssql-core/unique-constraint.d.cts +0 -24
  1724. package/mssql-core/unique-constraint.d.ts +0 -24
  1725. package/mssql-core/unique-constraint.js +0 -51
  1726. package/mssql-core/unique-constraint.js.map +0 -1
  1727. package/mssql-core/utils.cjs +0 -85
  1728. package/mssql-core/utils.cjs.map +0 -1
  1729. package/mssql-core/utils.d.cts +0 -31
  1730. package/mssql-core/utils.d.ts +0 -31
  1731. package/mssql-core/utils.js +0 -60
  1732. package/mssql-core/utils.js.map +0 -1
  1733. package/mssql-core/view-base.cjs +0 -33
  1734. package/mssql-core/view-base.cjs.map +0 -1
  1735. package/mssql-core/view-base.d.cts +0 -9
  1736. package/mssql-core/view-base.d.ts +0 -9
  1737. package/mssql-core/view-base.js +0 -9
  1738. package/mssql-core/view-base.js.map +0 -1
  1739. package/mssql-core/view-common.cjs +0 -29
  1740. package/mssql-core/view-common.cjs.map +0 -1
  1741. package/mssql-core/view-common.d.cts +0 -1
  1742. package/mssql-core/view-common.d.ts +0 -1
  1743. package/mssql-core/view-common.js +0 -5
  1744. package/mssql-core/view-common.js.map +0 -1
  1745. package/mssql-core/view.cjs +0 -154
  1746. package/mssql-core/view.cjs.map +0 -1
  1747. package/mssql-core/view.d.cts +0 -63
  1748. package/mssql-core/view.d.ts +0 -63
  1749. package/mssql-core/view.js +0 -125
  1750. package/mssql-core/view.js.map +0 -1
  1751. package/mysql-core/columns/blob.cjs +0 -158
  1752. package/mysql-core/columns/blob.cjs.map +0 -1
  1753. package/mysql-core/columns/blob.d.cts +0 -54
  1754. package/mysql-core/columns/blob.d.ts +0 -54
  1755. package/mysql-core/columns/blob.js +0 -127
  1756. package/mysql-core/columns/blob.js.map +0 -1
  1757. package/mysql-core/columns/string.common.cjs +0 -48
  1758. package/mysql-core/columns/string.common.cjs.map +0 -1
  1759. package/mysql-core/columns/string.common.d.cts +0 -21
  1760. package/mysql-core/columns/string.common.d.ts +0 -21
  1761. package/mysql-core/columns/string.common.js +0 -23
  1762. package/mysql-core/columns/string.common.js.map +0 -1
  1763. package/node-mssql/driver.cjs +0 -113
  1764. package/node-mssql/driver.cjs.map +0 -1
  1765. package/node-mssql/driver.d.cts +0 -46
  1766. package/node-mssql/driver.d.ts +0 -46
  1767. package/node-mssql/driver.js +0 -77
  1768. package/node-mssql/driver.js.map +0 -1
  1769. package/node-mssql/index.cjs.map +0 -1
  1770. package/node-mssql/index.d.cts +0 -2
  1771. package/node-mssql/index.d.ts +0 -2
  1772. package/node-mssql/index.js +0 -3
  1773. package/node-mssql/index.js.map +0 -1
  1774. package/node-mssql/migrator.cjs +0 -33
  1775. package/node-mssql/migrator.cjs.map +0 -1
  1776. package/node-mssql/migrator.d.cts +0 -3
  1777. package/node-mssql/migrator.d.ts +0 -3
  1778. package/node-mssql/migrator.js +0 -9
  1779. package/node-mssql/migrator.js.map +0 -1
  1780. package/node-mssql/pool.cjs +0 -54
  1781. package/node-mssql/pool.cjs.map +0 -1
  1782. package/node-mssql/pool.d.cts +0 -8
  1783. package/node-mssql/pool.d.ts +0 -8
  1784. package/node-mssql/pool.js +0 -20
  1785. package/node-mssql/pool.js.map +0 -1
  1786. package/node-mssql/session.cjs +0 -256
  1787. package/node-mssql/session.cjs.map +0 -1
  1788. package/node-mssql/session.d.cts +0 -48
  1789. package/node-mssql/session.d.ts +0 -48
  1790. package/node-mssql/session.js +0 -224
  1791. package/node-mssql/session.js.map +0 -1
  1792. /package/{cockroach → sqlite-cloud}/index.d.cts +0 -0
  1793. /package/{cockroach → sqlite-cloud}/index.d.ts +0 -0
  1794. /package/{cockroach → sqlite-cloud}/index.js +0 -0
@@ -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":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateBuilder extends MySqlColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDate(table, this.config as any);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class MySqlDateStringBuilder extends MySqlColumnBuilder<{\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -14);\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date(a?: string | MySqlDateConfig, b?: MySqlDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateStringBuilder(name);\n\t}\n\treturn new MySqlDateBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAEzC,MAAM,yBAAyB,iCAInC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAA6D,0BAAe;AAAA,EACxF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,+BAA+B,iCAIzC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,0BAAe;AAAA,EAC9F,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,GAAG;AAAA,EACxC;AACD;AAaO,SAAS,KAAK,GAA8B,GAAqB;AACvE,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAoD,GAAG,CAAC;AACjF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,uBAAuB,IAAI;AAAA,EACvC;AACA,SAAO,IAAI,iBAAiB,IAAI;AACjC;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDate(table, this.config as any);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class MySqlDateStringBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -14);\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date(a?: string | MySqlDateConfig, b?: MySqlDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateStringBuilder(name);\n\t}\n\treturn new MySqlDateBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAEzC,MAAM,yBAAyB,iCAKnC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAA6D,0BAAe;AAAA,EACxF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,+BAA+B,iCAKzC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,0BAAe;AAAA,EAC9F,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,GAAG;AAAA,EACxC;AACD;AAaO,SAAS,KAAK,GAA8B,GAAqB;AACvE,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAoD,GAAG,CAAC;AACjF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,uBAAuB,IAAI;AAAA,EACvC;AACA,SAAO,IAAI,iBAAiB,IAAI;AACjC;","names":[]}
@@ -31,9 +31,8 @@ class MySqlDateColumnBaseBuilder extends import_common.MySqlColumnBuilder {
31
31
  return this.default(import_sql.sql`(now())`);
32
32
  }
33
33
  // "on update now" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-ization.html
34
- onUpdateNow(config) {
34
+ onUpdateNow() {
35
35
  this.config.hasOnUpdateNow = true;
36
- this.config.onUpdateNowFsp = config?.fsp;
37
36
  this.config.hasDefault = true;
38
37
  return this;
39
38
  }
@@ -41,7 +40,6 @@ class MySqlDateColumnBaseBuilder extends import_common.MySqlColumnBuilder {
41
40
  class MySqlDateBaseColumn extends import_common.MySqlColumn {
42
41
  static [import_entity.entityKind] = "MySqlDateColumn";
43
42
  hasOnUpdateNow = this.config.hasOnUpdateNow;
44
- onUpdateNowFsp = this.config.onUpdateNowFsp;
45
43
  }
46
44
  // Annotate the CommonJS export names for ESM import in node:
47
45
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, HasDefault } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\nimport type { TimestampFsp } from './timestamp.ts';\n\nexport interface MySqlDateColumnBaseConfig {\n\thasOnUpdateNow: boolean;\n\tonUpdateNowFsp: TimestampFsp | undefined;\n}\n\nexport abstract class MySqlDateColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumnBuilder';\n\n\tdefaultNow() {\n\t\treturn this.default(sql`(now())`);\n\t}\n\n\t// \"on update now\" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-ization.html\n\tonUpdateNow(config?: { fsp: TimestampFsp }): HasDefault<this> {\n\t\tthis.config.hasOnUpdateNow = true;\n\t\tthis.config.onUpdateNowFsp = config?.fsp;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlDateBaseColumn<\n\tT extends ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n\treadonly onUpdateNowFsp: TimestampFsp | undefined = this.config.onUpdateNowFsp;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAC3B,iBAAoB;AACpB,oBAAgD;AAQzC,MAAe,mCAIZ,iCAAgF;AAAA,EACzF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAa;AACZ,WAAO,KAAK,QAAQ,uBAAY;AAAA,EACjC;AAAA;AAAA,EAGA,YAAY,QAAkD;AAC7D,SAAK,OAAO,iBAAiB;AAC7B,SAAK,OAAO,iBAAiB,QAAQ;AACrC,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,4BAGZ,0BAA2D;AAAA,EACpE,QAA0B,wBAAU,IAAY;AAAA,EAEvC,iBAA0B,KAAK,OAAO;AAAA,EACtC,iBAA2C,KAAK,OAAO;AACjE;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, HasDefault } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport interface MySqlDateColumnBaseConfig {\n\thasOnUpdateNow: boolean;\n}\n\nexport abstract class MySqlDateColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumnBuilder';\n\n\tdefaultNow() {\n\t\treturn this.default(sql`(now())`);\n\t}\n\n\t// \"on update now\" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-ization.html\n\tonUpdateNow(): HasDefault<this> {\n\t\tthis.config.hasOnUpdateNow = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlDateBaseColumn<\n\tT extends ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAC3B,iBAAoB;AACpB,oBAAgD;AAMzC,MAAe,mCAIZ,iCAAgF;AAAA,EACzF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAa;AACZ,WAAO,KAAK,QAAQ,uBAAY;AAAA,EACjC;AAAA;AAAA,EAGA,cAAgC;AAC/B,SAAK,OAAO,iBAAiB;AAC7B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,4BAGZ,0BAA2D;AAAA,EACpE,QAA0B,wBAAU,IAAY;AAAA,EAEvC,iBAA0B,KAAK,OAAO;AAChD;","names":[]}
@@ -2,20 +2,15 @@ import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, Has
2
2
  import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
4
  import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
5
- import type { TimestampFsp } from "./timestamp.cjs";
6
5
  export interface MySqlDateColumnBaseConfig {
7
6
  hasOnUpdateNow: boolean;
8
- onUpdateNowFsp: TimestampFsp | undefined;
9
7
  }
10
8
  export declare abstract class MySqlDateColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnType>, TRuntimeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {
11
9
  static readonly [entityKind]: string;
12
10
  defaultNow(): HasDefault<this>;
13
- onUpdateNow(config?: {
14
- fsp: TimestampFsp;
15
- }): HasDefault<this>;
11
+ onUpdateNow(): HasDefault<this>;
16
12
  }
17
13
  export declare abstract class MySqlDateBaseColumn<T extends ColumnBaseConfig<ColumnType>, TRuntimeConfig extends object = object> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {
18
14
  static readonly [entityKind]: string;
19
15
  readonly hasOnUpdateNow: boolean;
20
- readonly onUpdateNowFsp: TimestampFsp | undefined;
21
16
  }
@@ -2,20 +2,15 @@ import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, Has
2
2
  import type { ColumnBaseConfig } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
4
  import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
5
- import type { TimestampFsp } from "./timestamp.js";
6
5
  export interface MySqlDateColumnBaseConfig {
7
6
  hasOnUpdateNow: boolean;
8
- onUpdateNowFsp: TimestampFsp | undefined;
9
7
  }
10
8
  export declare abstract class MySqlDateColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnType>, TRuntimeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {
11
9
  static readonly [entityKind]: string;
12
10
  defaultNow(): HasDefault<this>;
13
- onUpdateNow(config?: {
14
- fsp: TimestampFsp;
15
- }): HasDefault<this>;
11
+ onUpdateNow(): HasDefault<this>;
16
12
  }
17
13
  export declare abstract class MySqlDateBaseColumn<T extends ColumnBaseConfig<ColumnType>, TRuntimeConfig extends object = object> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {
18
14
  static readonly [entityKind]: string;
19
15
  readonly hasOnUpdateNow: boolean;
20
- readonly onUpdateNowFsp: TimestampFsp | undefined;
21
16
  }
@@ -7,9 +7,8 @@ class MySqlDateColumnBaseBuilder extends MySqlColumnBuilder {
7
7
  return this.default(sql`(now())`);
8
8
  }
9
9
  // "on update now" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-ization.html
10
- onUpdateNow(config) {
10
+ onUpdateNow() {
11
11
  this.config.hasOnUpdateNow = true;
12
- this.config.onUpdateNowFsp = config?.fsp;
13
12
  this.config.hasDefault = true;
14
13
  return this;
15
14
  }
@@ -17,7 +16,6 @@ class MySqlDateColumnBaseBuilder extends MySqlColumnBuilder {
17
16
  class MySqlDateBaseColumn extends MySqlColumn {
18
17
  static [entityKind] = "MySqlDateColumn";
19
18
  hasOnUpdateNow = this.config.hasOnUpdateNow;
20
- onUpdateNowFsp = this.config.onUpdateNowFsp;
21
19
  }
22
20
  export {
23
21
  MySqlDateBaseColumn,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, HasDefault } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\nimport type { TimestampFsp } from './timestamp.ts';\n\nexport interface MySqlDateColumnBaseConfig {\n\thasOnUpdateNow: boolean;\n\tonUpdateNowFsp: TimestampFsp | undefined;\n}\n\nexport abstract class MySqlDateColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumnBuilder';\n\n\tdefaultNow() {\n\t\treturn this.default(sql`(now())`);\n\t}\n\n\t// \"on update now\" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-ization.html\n\tonUpdateNow(config?: { fsp: TimestampFsp }): HasDefault<this> {\n\t\tthis.config.hasOnUpdateNow = true;\n\t\tthis.config.onUpdateNowFsp = config?.fsp;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlDateBaseColumn<\n\tT extends ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n\treadonly onUpdateNowFsp: TimestampFsp | undefined = this.config.onUpdateNowFsp;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,aAAa,0BAA0B;AAQzC,MAAe,mCAIZ,mBAAgF;AAAA,EACzF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAa;AACZ,WAAO,KAAK,QAAQ,YAAY;AAAA,EACjC;AAAA;AAAA,EAGA,YAAY,QAAkD;AAC7D,SAAK,OAAO,iBAAiB;AAC7B,SAAK,OAAO,iBAAiB,QAAQ;AACrC,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,4BAGZ,YAA2D;AAAA,EACpE,QAA0B,UAAU,IAAY;AAAA,EAEvC,iBAA0B,KAAK,OAAO;AAAA,EACtC,iBAA2C,KAAK,OAAO;AACjE;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, HasDefault } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport interface MySqlDateColumnBaseConfig {\n\thasOnUpdateNow: boolean;\n}\n\nexport abstract class MySqlDateColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumnBuilder';\n\n\tdefaultNow() {\n\t\treturn this.default(sql`(now())`);\n\t}\n\n\t// \"on update now\" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-ization.html\n\tonUpdateNow(): HasDefault<this> {\n\t\tthis.config.hasOnUpdateNow = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlDateBaseColumn<\n\tT extends ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,aAAa,0BAA0B;AAMzC,MAAe,mCAIZ,mBAAgF;AAAA,EACzF,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAa;AACZ,WAAO,KAAK,QAAQ,YAAY;AAAA,EACjC;AAAA;AAAA,EAGA,cAAgC;AAC/B,SAAK,OAAO,iBAAiB;AAC7B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,4BAGZ,YAA2D;AAAA,EACpE,QAA0B,UAAU,IAAY;AAAA,EAEvC,iBAA0B,KAAK,OAAO;AAChD;","names":[]}
@@ -4,6 +4,7 @@ import type { AnyMySqlTable } from "../table.cjs";
4
4
  import { type Equal } from "../../utils.cjs";
5
5
  import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
6
6
  export declare class MySqlDateBuilder extends MySqlColumnBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string | number;
@@ -20,6 +21,7 @@ export declare class MySqlDate<T extends ColumnBaseConfig<'object date'>> extend
20
21
  mapFromDriverValue(value: string): Date;
21
22
  }
22
23
  export declare class MySqlDateStringBuilder extends MySqlColumnBuilder<{
24
+ name: string;
23
25
  dataType: 'string date';
24
26
  data: string;
25
27
  driverParam: string | number;
@@ -4,6 +4,7 @@ import type { AnyMySqlTable } from "../table.js";
4
4
  import { type Equal } from "../../utils.js";
5
5
  import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
6
6
  export declare class MySqlDateBuilder extends MySqlColumnBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string | number;
@@ -20,6 +21,7 @@ export declare class MySqlDate<T extends ColumnBaseConfig<'object date'>> extend
20
21
  mapFromDriverValue(value: string): Date;
21
22
  }
22
23
  export declare class MySqlDateStringBuilder extends MySqlColumnBuilder<{
24
+ name: string;
23
25
  dataType: 'string date';
24
26
  data: string;
25
27
  driverParam: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateBuilder extends MySqlColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDate(table, this.config as any);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class MySqlDateStringBuilder extends MySqlColumnBuilder<{\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -14);\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date(a?: string | MySqlDateConfig, b?: MySqlDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateStringBuilder(name);\n\t}\n\treturn new MySqlDateBuilder(name);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAAyB,mBAInC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAA6D,YAAe;AAAA,EACxF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,+BAA+B,mBAIzC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,YAAe;AAAA,EAC9F,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,GAAG;AAAA,EACxC;AACD;AAaO,SAAS,KAAK,GAA8B,GAAqB;AACvE,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAoD,GAAG,CAAC;AACjF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,uBAAuB,IAAI;AAAA,EACvC;AACA,SAAO,IAAI,iBAAiB,IAAI;AACjC;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDate(table, this.config as any);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class MySqlDateStringBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -14);\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilder : MySqlDateBuilder;\nexport function date(a?: string | MySqlDateConfig, b?: MySqlDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateStringBuilder(name);\n\t}\n\treturn new MySqlDateBuilder(name);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAAyB,mBAKnC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAA6D,YAAe;AAAA,EACxF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,+BAA+B,mBAKzC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,YAAe;AAAA,EAC9F,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,GAAG;AAAA,EACxC;AACD;AAaO,SAAS,KAAK,GAA8B,GAAqB;AACvE,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAoD,GAAG,CAAC;AACjF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,uBAAuB,IAAI;AAAA,EACvC;AACA,SAAO,IAAI,iBAAiB,IAAI;AACjC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/datetime.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateTimeBuilder extends MySqlColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTime';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapToDriverValue(value: Date): unknown {\n\t\treturn value.toISOString().replace('T', ' ').replace('Z', '');\n\t}\n\n\toverride mapFromDriverValue(value: string | Date): Date {\n\t\tif (typeof value === 'string') return new Date(value.replace(' ', 'T') + 'Z');\n\n\t\treturn value;\n\t}\n}\n\nexport class MySqlDateTimeStringBuilder extends MySqlColumnBuilder<{\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string datetime', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeString';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -5).replace('T', ' ');\n\t}\n}\n\nexport type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n\tfsp?: DatetimeFsp;\n}\n\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime(a?: string | MySqlDatetimeConfig, b?: MySqlDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateTimeStringBuilder(name, config);\n\t}\n\treturn new MySqlDateTimeBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAEzC,MAAM,6BAA6B,iCAIlB;AAAA,EACvB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,eAAe,eAAe;AAC1C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAAiE,0BAAe;AAAA,EAC5F,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,iBAAiB,OAAsB;AAC/C,WAAO,MAAM,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE;AAAA,EAC7D;AAAA,EAES,mBAAmB,OAA4B;AACvD,QAAI,OAAO,UAAU,SAAU,QAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAE5E,WAAO;AAAA,EACR;AACD;AAEO,MAAM,mCAAmC,iCAIxB;AAAA,EACvB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,mBAAmB,qBAAqB;AACpD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAA2E,0BAAe;AAAA,EACtG,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAgBO,SAAS,SAAS,GAAkC,GAAyB;AACnF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAwD,GAAG,CAAC;AACrF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,2BAA2B,MAAM,MAAM;AAAA,EACnD;AACA,SAAO,IAAI,qBAAqB,MAAM,MAAM;AAC7C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/datetime.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateTimeBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTime';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapToDriverValue(value: Date): unknown {\n\t\treturn value.toISOString().replace('T', ' ').replace('Z', '');\n\t}\n\n\toverride mapFromDriverValue(value: string | Date): Date {\n\t\tif (typeof value === 'string') return new Date(value.replace(' ', 'T') + 'Z');\n\n\t\treturn value;\n\t}\n}\n\nexport class MySqlDateTimeStringBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string datetime', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeString';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -5).replace('T', ' ');\n\t}\n}\n\nexport type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n\tfsp?: DatetimeFsp;\n}\n\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime(a?: string | MySqlDatetimeConfig, b?: MySqlDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateTimeStringBuilder(name, config);\n\t}\n\treturn new MySqlDateTimeBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAEzC,MAAM,6BAA6B,iCAKlB;AAAA,EACvB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,eAAe,eAAe;AAC1C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAAiE,0BAAe;AAAA,EAC5F,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,iBAAiB,OAAsB;AAC/C,WAAO,MAAM,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE;AAAA,EAC7D;AAAA,EAES,mBAAmB,OAA4B;AACvD,QAAI,OAAO,UAAU,SAAU,QAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAE5E,WAAO;AAAA,EACR;AACD;AAEO,MAAM,mCAAmC,iCAKxB;AAAA,EACvB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,mBAAmB,qBAAqB;AACpD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAA2E,0BAAe;AAAA,EACtG,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAgBO,SAAS,SAAS,GAAkC,GAAyB;AACnF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAwD,GAAG,CAAC;AACrF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,2BAA2B,MAAM,MAAM;AAAA,EACnD;AACA,SAAO,IAAI,qBAAqB,MAAM,MAAM;AAC7C;","names":[]}
@@ -4,6 +4,7 @@ import type { AnyMySqlTable } from "../table.cjs";
4
4
  import { type Equal } from "../../utils.cjs";
5
5
  import { MySqlColumn, MySqlColumnBuilder } from "./common.cjs";
6
6
  export declare class MySqlDateTimeBuilder extends MySqlColumnBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string | number;
@@ -22,6 +23,7 @@ export declare class MySqlDateTime<T extends ColumnBaseConfig<'object date'>> ex
22
23
  mapFromDriverValue(value: string | Date): Date;
23
24
  }
24
25
  export declare class MySqlDateTimeStringBuilder extends MySqlColumnBuilder<{
26
+ name: string;
25
27
  dataType: 'string datetime';
26
28
  data: string;
27
29
  driverParam: string | number;
@@ -4,6 +4,7 @@ import type { AnyMySqlTable } from "../table.js";
4
4
  import { type Equal } from "../../utils.js";
5
5
  import { MySqlColumn, MySqlColumnBuilder } from "./common.js";
6
6
  export declare class MySqlDateTimeBuilder extends MySqlColumnBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string | number;
@@ -22,6 +23,7 @@ export declare class MySqlDateTime<T extends ColumnBaseConfig<'object date'>> ex
22
23
  mapFromDriverValue(value: string | Date): Date;
23
24
  }
24
25
  export declare class MySqlDateTimeStringBuilder extends MySqlColumnBuilder<{
26
+ name: string;
25
27
  dataType: 'string datetime';
26
28
  data: string;
27
29
  driverParam: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/datetime.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateTimeBuilder extends MySqlColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTime';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapToDriverValue(value: Date): unknown {\n\t\treturn value.toISOString().replace('T', ' ').replace('Z', '');\n\t}\n\n\toverride mapFromDriverValue(value: string | Date): Date {\n\t\tif (typeof value === 'string') return new Date(value.replace(' ', 'T') + 'Z');\n\n\t\treturn value;\n\t}\n}\n\nexport class MySqlDateTimeStringBuilder extends MySqlColumnBuilder<{\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string datetime', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeString';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -5).replace('T', ' ');\n\t}\n}\n\nexport type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n\tfsp?: DatetimeFsp;\n}\n\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime(a?: string | MySqlDatetimeConfig, b?: MySqlDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateTimeStringBuilder(name, config);\n\t}\n\treturn new MySqlDateTimeBuilder(name, config);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAEzC,MAAM,6BAA6B,mBAIlB;AAAA,EACvB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,eAAe,eAAe;AAC1C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAAiE,YAAe;AAAA,EAC5F,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,iBAAiB,OAAsB;AAC/C,WAAO,MAAM,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE;AAAA,EAC7D;AAAA,EAES,mBAAmB,OAA4B;AACvD,QAAI,OAAO,UAAU,SAAU,QAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAE5E,WAAO;AAAA,EACR;AACD;AAEO,MAAM,mCAAmC,mBAIxB;AAAA,EACvB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,mBAAmB,qBAAqB;AACpD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAA2E,YAAe;AAAA,EACtG,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAgBO,SAAS,SAAS,GAAkC,GAAyB;AACnF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwD,GAAG,CAAC;AACrF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,2BAA2B,MAAM,MAAM;AAAA,EACnD;AACA,SAAO,IAAI,qBAAqB,MAAM,MAAM;AAC7C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/datetime.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlDateTimeBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'object date'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTime';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapToDriverValue(value: Date): unknown {\n\t\treturn value.toISOString().replace('T', ' ').replace('Z', '');\n\t}\n\n\toverride mapFromDriverValue(value: string | Date): Date {\n\t\tif (typeof value === 'string') return new Date(value.replace(' ', 'T') + 'Z');\n\n\t\treturn value;\n\t}\n}\n\nexport class MySqlDateTimeStringBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlDatetimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: string, config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string datetime', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeString';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.fsp = config.fsp;\n\t}\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `datetime${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toISOString().slice(0, -5).replace('T', ' ');\n\t}\n}\n\nexport type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n\tfsp?: DatetimeFsp;\n}\n\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilder : MySqlDateTimeBuilder;\nexport function datetime(a?: string | MySqlDatetimeConfig, b?: MySqlDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlDateTimeStringBuilder(name, config);\n\t}\n\treturn new MySqlDateTimeBuilder(name, config);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAEzC,MAAM,6BAA6B,mBAKlB;AAAA,EACvB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,eAAe,eAAe;AAC1C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAAiE,YAAe;AAAA,EAC5F,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,iBAAiB,OAAsB;AAC/C,WAAO,MAAM,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE;AAAA,EAC7D;AAAA,EAES,mBAAmB,OAA4B;AACvD,QAAI,OAAO,UAAU,SAAU,QAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAE5E,WAAO;AAAA,EACR;AACD;AAEO,MAAM,mCAAmC,mBAKxB;AAAA,EACvB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAAyC;AAClE,UAAM,MAAM,mBAAmB,qBAAqB;AACpD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAA2E,YAAe;AAAA,EACtG,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EAET,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,MAAM,OAAO;AAAA,EACnB;AAAA,EAEA,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,EAC5B;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAgBO,SAAS,SAAS,GAAkC,GAAyB;AACnF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwD,GAAG,CAAC;AACrF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,2BAA2B,MAAM,MAAM;AAAA,EACnD;AACA,SAAO,IAAI,qBAAqB,MAAM,MAAM;AAC7C;","names":[]}