drizzle-orm 0.34.1-1f15bfd → 0.34.1-a9aca5c

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 (401) hide show
  1. package/aws-data-api/pg/driver.cjs.map +1 -1
  2. package/aws-data-api/pg/driver.js.map +1 -1
  3. package/aws-data-api/pg/session.cjs.map +1 -1
  4. package/aws-data-api/pg/session.d.cts +1 -1
  5. package/aws-data-api/pg/session.d.ts +1 -1
  6. package/aws-data-api/pg/session.js.map +1 -1
  7. package/better-sqlite3/driver.cjs.map +1 -1
  8. package/better-sqlite3/driver.js.map +1 -1
  9. package/better-sqlite3/session.cjs.map +1 -1
  10. package/better-sqlite3/session.js.map +1 -1
  11. package/bun-sqlite/driver.cjs.map +1 -1
  12. package/bun-sqlite/driver.d.cts +0 -1
  13. package/bun-sqlite/driver.d.ts +0 -1
  14. package/bun-sqlite/driver.js.map +1 -1
  15. package/bun-sqlite/session.cjs.map +1 -1
  16. package/bun-sqlite/session.d.cts +0 -1
  17. package/bun-sqlite/session.d.ts +0 -1
  18. package/bun-sqlite/session.js.map +1 -1
  19. package/column-builder.d.cts +4 -4
  20. package/column-builder.d.ts +4 -4
  21. package/d1/driver.cjs.map +1 -1
  22. package/d1/driver.d.cts +0 -1
  23. package/d1/driver.d.ts +0 -1
  24. package/d1/driver.js.map +1 -1
  25. package/d1/session.cjs.map +1 -1
  26. package/d1/session.d.cts +0 -1
  27. package/d1/session.d.ts +0 -1
  28. package/d1/session.js.map +1 -1
  29. package/errors.cjs.map +1 -1
  30. package/errors.js.map +1 -1
  31. package/expo-sqlite/driver.cjs.map +1 -1
  32. package/expo-sqlite/driver.js.map +1 -1
  33. package/expo-sqlite/session.cjs.map +1 -1
  34. package/expo-sqlite/session.js.map +1 -1
  35. package/libsql/driver.cjs.map +1 -1
  36. package/libsql/driver.js.map +1 -1
  37. package/libsql/session.cjs.map +1 -1
  38. package/libsql/session.js.map +1 -1
  39. package/monodriver.d.cts +0 -2
  40. package/monodriver.d.ts +0 -2
  41. package/mysql-core/columns/bigint.cjs.map +1 -1
  42. package/mysql-core/columns/bigint.js.map +1 -1
  43. package/mysql-core/columns/binary.cjs.map +1 -1
  44. package/mysql-core/columns/binary.js.map +1 -1
  45. package/mysql-core/columns/boolean.cjs.map +1 -1
  46. package/mysql-core/columns/boolean.js.map +1 -1
  47. package/mysql-core/columns/char.cjs.map +1 -1
  48. package/mysql-core/columns/char.js.map +1 -1
  49. package/mysql-core/columns/common.cjs.map +1 -1
  50. package/mysql-core/columns/common.js.map +1 -1
  51. package/mysql-core/columns/custom.cjs.map +1 -1
  52. package/mysql-core/columns/custom.js.map +1 -1
  53. package/mysql-core/columns/date.cjs.map +1 -1
  54. package/mysql-core/columns/date.common.cjs.map +1 -1
  55. package/mysql-core/columns/date.common.js.map +1 -1
  56. package/mysql-core/columns/date.js.map +1 -1
  57. package/mysql-core/columns/datetime.cjs.map +1 -1
  58. package/mysql-core/columns/datetime.js.map +1 -1
  59. package/mysql-core/columns/decimal.cjs.map +1 -1
  60. package/mysql-core/columns/decimal.js.map +1 -1
  61. package/mysql-core/columns/double.cjs.map +1 -1
  62. package/mysql-core/columns/double.js.map +1 -1
  63. package/mysql-core/columns/enum.cjs.map +1 -1
  64. package/mysql-core/columns/enum.js.map +1 -1
  65. package/mysql-core/columns/float.cjs.map +1 -1
  66. package/mysql-core/columns/float.js.map +1 -1
  67. package/mysql-core/columns/int.cjs.map +1 -1
  68. package/mysql-core/columns/int.js.map +1 -1
  69. package/mysql-core/columns/json.cjs.map +1 -1
  70. package/mysql-core/columns/json.js.map +1 -1
  71. package/mysql-core/columns/mediumint.cjs.map +1 -1
  72. package/mysql-core/columns/mediumint.js.map +1 -1
  73. package/mysql-core/columns/real.cjs.map +1 -1
  74. package/mysql-core/columns/real.js.map +1 -1
  75. package/mysql-core/columns/serial.cjs.map +1 -1
  76. package/mysql-core/columns/serial.js.map +1 -1
  77. package/mysql-core/columns/smallint.cjs.map +1 -1
  78. package/mysql-core/columns/smallint.js.map +1 -1
  79. package/mysql-core/columns/text.cjs.map +1 -1
  80. package/mysql-core/columns/text.js.map +1 -1
  81. package/mysql-core/columns/time.cjs.map +1 -1
  82. package/mysql-core/columns/time.js.map +1 -1
  83. package/mysql-core/columns/timestamp.cjs.map +1 -1
  84. package/mysql-core/columns/timestamp.js.map +1 -1
  85. package/mysql-core/columns/tinyint.cjs.map +1 -1
  86. package/mysql-core/columns/tinyint.js.map +1 -1
  87. package/mysql-core/columns/varbinary.cjs.map +1 -1
  88. package/mysql-core/columns/varbinary.js.map +1 -1
  89. package/mysql-core/columns/varchar.cjs.map +1 -1
  90. package/mysql-core/columns/varchar.js.map +1 -1
  91. package/mysql-core/columns/year.cjs.map +1 -1
  92. package/mysql-core/columns/year.js.map +1 -1
  93. package/mysql-core/db.d.cts +3 -3
  94. package/mysql-core/db.d.ts +3 -3
  95. package/mysql-core/query-builders/count.cjs.map +1 -1
  96. package/mysql-core/query-builders/count.js.map +1 -1
  97. package/mysql-core/query-builders/delete.cjs.map +1 -1
  98. package/mysql-core/query-builders/delete.js.map +1 -1
  99. package/mysql-core/query-builders/insert.cjs.map +1 -1
  100. package/mysql-core/query-builders/insert.js.map +1 -1
  101. package/mysql-core/query-builders/query-builder.d.cts +4 -4
  102. package/mysql-core/query-builders/query-builder.d.ts +4 -4
  103. package/mysql-core/query-builders/query.cjs.map +1 -1
  104. package/mysql-core/query-builders/query.d.cts +3 -7
  105. package/mysql-core/query-builders/query.d.ts +3 -7
  106. package/mysql-core/query-builders/query.js.map +1 -1
  107. package/mysql-core/query-builders/select.cjs.map +1 -1
  108. package/mysql-core/query-builders/select.js.map +1 -1
  109. package/mysql-core/query-builders/update.cjs.map +1 -1
  110. package/mysql-core/query-builders/update.d.cts +1 -1
  111. package/mysql-core/query-builders/update.d.ts +1 -1
  112. package/mysql-core/query-builders/update.js.map +1 -1
  113. package/mysql-core/session.cjs.map +1 -1
  114. package/mysql-core/session.js.map +1 -1
  115. package/mysql-core/table.cjs.map +1 -1
  116. package/mysql-core/table.js.map +1 -1
  117. package/mysql-core/utils.d.cts +5 -5
  118. package/mysql-core/utils.d.ts +5 -5
  119. package/mysql-core/view-base.cjs.map +1 -1
  120. package/mysql-core/view-base.js.map +1 -1
  121. package/mysql-core/view.cjs.map +1 -1
  122. package/mysql-core/view.js.map +1 -1
  123. package/mysql-proxy/driver.cjs.map +1 -1
  124. package/mysql-proxy/driver.js.map +1 -1
  125. package/mysql-proxy/session.cjs.map +1 -1
  126. package/mysql-proxy/session.d.cts +1 -1
  127. package/mysql-proxy/session.d.ts +1 -1
  128. package/mysql-proxy/session.js.map +1 -1
  129. package/mysql2/driver.cjs.map +1 -1
  130. package/mysql2/driver.js.map +1 -1
  131. package/mysql2/session.cjs.map +1 -1
  132. package/mysql2/session.d.cts +1 -1
  133. package/mysql2/session.d.ts +1 -1
  134. package/mysql2/session.js.map +1 -1
  135. package/neon-http/driver.cjs.map +1 -1
  136. package/neon-http/driver.js.map +1 -1
  137. package/neon-http/session.cjs.map +1 -1
  138. package/neon-http/session.d.cts +1 -1
  139. package/neon-http/session.d.ts +1 -1
  140. package/neon-http/session.js.map +1 -1
  141. package/neon-serverless/driver.cjs +0 -8
  142. package/neon-serverless/driver.cjs.map +1 -1
  143. package/neon-serverless/driver.d.cts +0 -1
  144. package/neon-serverless/driver.d.ts +0 -1
  145. package/neon-serverless/driver.js +0 -8
  146. package/neon-serverless/driver.js.map +1 -1
  147. package/neon-serverless/session.cjs +38 -2
  148. package/neon-serverless/session.cjs.map +1 -1
  149. package/neon-serverless/session.d.cts +1 -1
  150. package/neon-serverless/session.d.ts +1 -1
  151. package/neon-serverless/session.js +40 -3
  152. package/neon-serverless/session.js.map +1 -1
  153. package/node-postgres/driver.cjs +0 -19
  154. package/node-postgres/driver.cjs.map +1 -1
  155. package/node-postgres/driver.d.cts +0 -1
  156. package/node-postgres/driver.d.ts +0 -1
  157. package/node-postgres/driver.js +0 -9
  158. package/node-postgres/driver.js.map +1 -1
  159. package/node-postgres/session.cjs +39 -3
  160. package/node-postgres/session.cjs.map +1 -1
  161. package/node-postgres/session.d.cts +1 -1
  162. package/node-postgres/session.d.ts +1 -1
  163. package/node-postgres/session.js +39 -3
  164. package/node-postgres/session.js.map +1 -1
  165. package/op-sqlite/driver.cjs.map +1 -1
  166. package/op-sqlite/driver.js.map +1 -1
  167. package/op-sqlite/session.cjs.map +1 -1
  168. package/op-sqlite/session.js.map +1 -1
  169. package/package.json +2 -2
  170. package/pg-core/columns/bigint.cjs.map +1 -1
  171. package/pg-core/columns/bigint.js.map +1 -1
  172. package/pg-core/columns/bigserial.cjs.map +1 -1
  173. package/pg-core/columns/bigserial.js.map +1 -1
  174. package/pg-core/columns/boolean.cjs.map +1 -1
  175. package/pg-core/columns/boolean.js.map +1 -1
  176. package/pg-core/columns/char.cjs.map +1 -1
  177. package/pg-core/columns/char.js.map +1 -1
  178. package/pg-core/columns/cidr.cjs.map +1 -1
  179. package/pg-core/columns/cidr.js.map +1 -1
  180. package/pg-core/columns/common.cjs.map +1 -1
  181. package/pg-core/columns/common.js.map +1 -1
  182. package/pg-core/columns/custom.cjs.map +1 -1
  183. package/pg-core/columns/custom.js.map +1 -1
  184. package/pg-core/columns/date.cjs.map +1 -1
  185. package/pg-core/columns/date.common.cjs.map +1 -1
  186. package/pg-core/columns/date.common.js.map +1 -1
  187. package/pg-core/columns/date.js.map +1 -1
  188. package/pg-core/columns/double-precision.cjs.map +1 -1
  189. package/pg-core/columns/double-precision.js.map +1 -1
  190. package/pg-core/columns/enum.cjs.map +1 -1
  191. package/pg-core/columns/enum.js.map +1 -1
  192. package/pg-core/columns/inet.cjs.map +1 -1
  193. package/pg-core/columns/inet.js.map +1 -1
  194. package/pg-core/columns/int.common.cjs.map +1 -1
  195. package/pg-core/columns/int.common.js.map +1 -1
  196. package/pg-core/columns/integer.cjs.map +1 -1
  197. package/pg-core/columns/integer.js.map +1 -1
  198. package/pg-core/columns/interval.cjs.map +1 -1
  199. package/pg-core/columns/interval.js.map +1 -1
  200. package/pg-core/columns/json.cjs.map +1 -1
  201. package/pg-core/columns/json.js.map +1 -1
  202. package/pg-core/columns/jsonb.cjs.map +1 -1
  203. package/pg-core/columns/jsonb.js.map +1 -1
  204. package/pg-core/columns/line.cjs.map +1 -1
  205. package/pg-core/columns/line.js.map +1 -1
  206. package/pg-core/columns/macaddr.cjs.map +1 -1
  207. package/pg-core/columns/macaddr.js.map +1 -1
  208. package/pg-core/columns/macaddr8.cjs.map +1 -1
  209. package/pg-core/columns/macaddr8.js.map +1 -1
  210. package/pg-core/columns/numeric.cjs.map +1 -1
  211. package/pg-core/columns/numeric.js.map +1 -1
  212. package/pg-core/columns/point.cjs.map +1 -1
  213. package/pg-core/columns/point.js.map +1 -1
  214. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  215. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  216. package/pg-core/columns/real.cjs.map +1 -1
  217. package/pg-core/columns/real.js.map +1 -1
  218. package/pg-core/columns/serial.cjs.map +1 -1
  219. package/pg-core/columns/serial.js.map +1 -1
  220. package/pg-core/columns/smallint.cjs.map +1 -1
  221. package/pg-core/columns/smallint.js.map +1 -1
  222. package/pg-core/columns/smallserial.cjs.map +1 -1
  223. package/pg-core/columns/smallserial.js.map +1 -1
  224. package/pg-core/columns/text.cjs.map +1 -1
  225. package/pg-core/columns/text.js.map +1 -1
  226. package/pg-core/columns/time.cjs.map +1 -1
  227. package/pg-core/columns/time.js.map +1 -1
  228. package/pg-core/columns/timestamp.cjs.map +1 -1
  229. package/pg-core/columns/timestamp.js.map +1 -1
  230. package/pg-core/columns/uuid.cjs.map +1 -1
  231. package/pg-core/columns/uuid.js.map +1 -1
  232. package/pg-core/columns/varchar.cjs.map +1 -1
  233. package/pg-core/columns/varchar.js.map +1 -1
  234. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  235. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  236. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  237. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  238. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  239. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  240. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  241. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  242. package/pg-core/db.d.cts +5 -5
  243. package/pg-core/db.d.ts +5 -5
  244. package/pg-core/query-builders/count.cjs.map +1 -1
  245. package/pg-core/query-builders/count.js.map +1 -1
  246. package/pg-core/query-builders/delete.cjs.map +1 -1
  247. package/pg-core/query-builders/delete.js.map +1 -1
  248. package/pg-core/query-builders/insert.cjs.map +1 -1
  249. package/pg-core/query-builders/insert.d.cts +1 -1
  250. package/pg-core/query-builders/insert.d.ts +1 -1
  251. package/pg-core/query-builders/insert.js.map +1 -1
  252. package/pg-core/query-builders/query-builder.d.cts +6 -6
  253. package/pg-core/query-builders/query-builder.d.ts +6 -6
  254. package/pg-core/query-builders/query.cjs.map +1 -1
  255. package/pg-core/query-builders/query.js.map +1 -1
  256. package/pg-core/query-builders/raw.cjs.map +1 -1
  257. package/pg-core/query-builders/raw.js.map +1 -1
  258. package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
  259. package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
  260. package/pg-core/query-builders/select.cjs.map +1 -1
  261. package/pg-core/query-builders/select.js.map +1 -1
  262. package/pg-core/query-builders/update.cjs.map +1 -1
  263. package/pg-core/query-builders/update.d.cts +1 -1
  264. package/pg-core/query-builders/update.d.ts +1 -1
  265. package/pg-core/query-builders/update.js.map +1 -1
  266. package/pg-core/session.cjs.map +1 -1
  267. package/pg-core/session.js.map +1 -1
  268. package/pg-core/table.cjs.map +1 -1
  269. package/pg-core/table.js.map +1 -1
  270. package/pg-core/utils.d.cts +8 -8
  271. package/pg-core/utils.d.ts +8 -8
  272. package/pg-core/view-base.cjs.map +1 -1
  273. package/pg-core/view-base.js.map +1 -1
  274. package/pg-core/view.cjs.map +1 -1
  275. package/pg-core/view.js.map +1 -1
  276. package/pg-proxy/driver.cjs.map +1 -1
  277. package/pg-proxy/driver.js.map +1 -1
  278. package/pg-proxy/session.cjs.map +1 -1
  279. package/pg-proxy/session.d.cts +1 -1
  280. package/pg-proxy/session.d.ts +1 -1
  281. package/pg-proxy/session.js.map +1 -1
  282. package/pglite/driver.cjs.map +1 -1
  283. package/pglite/driver.js.map +1 -1
  284. package/pglite/session.cjs.map +1 -1
  285. package/pglite/session.d.cts +1 -1
  286. package/pglite/session.d.ts +1 -1
  287. package/pglite/session.js.map +1 -1
  288. package/planetscale-serverless/driver.cjs.map +1 -1
  289. package/planetscale-serverless/driver.js.map +1 -1
  290. package/planetscale-serverless/session.cjs.map +1 -1
  291. package/planetscale-serverless/session.d.cts +1 -1
  292. package/planetscale-serverless/session.d.ts +1 -1
  293. package/planetscale-serverless/session.js.map +1 -1
  294. package/postgres-js/driver.cjs.map +1 -1
  295. package/postgres-js/driver.js.map +1 -1
  296. package/postgres-js/session.cjs.map +1 -1
  297. package/postgres-js/session.d.cts +1 -1
  298. package/postgres-js/session.d.ts +1 -1
  299. package/postgres-js/session.js.map +1 -1
  300. package/prisma/mysql/driver.cjs.map +1 -1
  301. package/prisma/mysql/driver.js.map +1 -1
  302. package/prisma/mysql/session.cjs.map +1 -1
  303. package/prisma/mysql/session.js.map +1 -1
  304. package/prisma/pg/driver.cjs.map +1 -1
  305. package/prisma/pg/driver.js.map +1 -1
  306. package/prisma/pg/session.cjs.map +1 -1
  307. package/prisma/pg/session.js.map +1 -1
  308. package/prisma/sqlite/session.cjs.map +1 -1
  309. package/prisma/sqlite/session.js.map +1 -1
  310. package/relations.cjs.map +1 -1
  311. package/relations.d.cts +13 -13
  312. package/relations.d.ts +13 -13
  313. package/relations.js.map +1 -1
  314. package/sql-js/session.cjs.map +1 -1
  315. package/sql-js/session.js.map +1 -1
  316. package/sqlite-core/columns/blob.cjs.map +1 -1
  317. package/sqlite-core/columns/blob.d.cts +0 -2
  318. package/sqlite-core/columns/blob.d.ts +0 -2
  319. package/sqlite-core/columns/blob.js.map +1 -1
  320. package/sqlite-core/columns/common.cjs.map +1 -1
  321. package/sqlite-core/columns/common.js.map +1 -1
  322. package/sqlite-core/columns/custom.cjs.map +1 -1
  323. package/sqlite-core/columns/custom.js.map +1 -1
  324. package/sqlite-core/columns/integer.cjs.map +1 -1
  325. package/sqlite-core/columns/integer.js.map +1 -1
  326. package/sqlite-core/columns/numeric.cjs.map +1 -1
  327. package/sqlite-core/columns/numeric.js.map +1 -1
  328. package/sqlite-core/columns/real.cjs.map +1 -1
  329. package/sqlite-core/columns/real.js.map +1 -1
  330. package/sqlite-core/columns/text.cjs.map +1 -1
  331. package/sqlite-core/columns/text.js.map +1 -1
  332. package/sqlite-core/db.d.cts +4 -4
  333. package/sqlite-core/db.d.ts +4 -4
  334. package/sqlite-core/dialect.cjs.map +1 -1
  335. package/sqlite-core/dialect.js.map +1 -1
  336. package/sqlite-core/query-builders/count.cjs.map +1 -1
  337. package/sqlite-core/query-builders/count.js.map +1 -1
  338. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  339. package/sqlite-core/query-builders/delete.js.map +1 -1
  340. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  341. package/sqlite-core/query-builders/insert.d.cts +1 -1
  342. package/sqlite-core/query-builders/insert.d.ts +1 -1
  343. package/sqlite-core/query-builders/insert.js.map +1 -1
  344. package/sqlite-core/query-builders/query-builder.d.cts +4 -4
  345. package/sqlite-core/query-builders/query-builder.d.ts +4 -4
  346. package/sqlite-core/query-builders/query.cjs.map +1 -1
  347. package/sqlite-core/query-builders/query.js.map +1 -1
  348. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  349. package/sqlite-core/query-builders/raw.d.cts +1 -1
  350. package/sqlite-core/query-builders/raw.d.ts +1 -1
  351. package/sqlite-core/query-builders/raw.js.map +1 -1
  352. package/sqlite-core/query-builders/select.cjs.map +1 -1
  353. package/sqlite-core/query-builders/select.js.map +1 -1
  354. package/sqlite-core/query-builders/update.cjs.map +1 -1
  355. package/sqlite-core/query-builders/update.d.cts +1 -1
  356. package/sqlite-core/query-builders/update.d.ts +1 -1
  357. package/sqlite-core/query-builders/update.js.map +1 -1
  358. package/sqlite-core/session.cjs.map +1 -1
  359. package/sqlite-core/session.js.map +1 -1
  360. package/sqlite-core/table.cjs.map +1 -1
  361. package/sqlite-core/table.js.map +1 -1
  362. package/sqlite-core/utils.d.cts +5 -5
  363. package/sqlite-core/utils.d.ts +5 -5
  364. package/sqlite-core/view-base.cjs.map +1 -1
  365. package/sqlite-core/view-base.js.map +1 -1
  366. package/sqlite-core/view.cjs.map +1 -1
  367. package/sqlite-core/view.js.map +1 -1
  368. package/sqlite-proxy/driver.cjs.map +1 -1
  369. package/sqlite-proxy/driver.js.map +1 -1
  370. package/sqlite-proxy/session.cjs.map +1 -1
  371. package/sqlite-proxy/session.js.map +1 -1
  372. package/subquery.cjs.map +1 -1
  373. package/subquery.js.map +1 -1
  374. package/tidb-serverless/driver.cjs.map +1 -1
  375. package/tidb-serverless/driver.js.map +1 -1
  376. package/tidb-serverless/session.cjs.map +1 -1
  377. package/tidb-serverless/session.d.cts +1 -1
  378. package/tidb-serverless/session.d.ts +1 -1
  379. package/tidb-serverless/session.js.map +1 -1
  380. package/vercel-postgres/driver.cjs +0 -8
  381. package/vercel-postgres/driver.cjs.map +1 -1
  382. package/vercel-postgres/driver.d.cts +0 -1
  383. package/vercel-postgres/driver.d.ts +0 -1
  384. package/vercel-postgres/driver.js +0 -8
  385. package/vercel-postgres/driver.js.map +1 -1
  386. package/vercel-postgres/session.cjs +38 -2
  387. package/vercel-postgres/session.cjs.map +1 -1
  388. package/vercel-postgres/session.d.cts +1 -1
  389. package/vercel-postgres/session.d.ts +1 -1
  390. package/vercel-postgres/session.js +39 -2
  391. package/vercel-postgres/session.js.map +1 -1
  392. package/version.cjs +1 -1
  393. package/version.d.cts +1 -1
  394. package/version.d.ts +1 -1
  395. package/version.js +1 -1
  396. package/xata-http/driver.cjs.map +1 -1
  397. package/xata-http/driver.js.map +1 -1
  398. package/xata-http/session.cjs.map +1 -1
  399. package/xata-http/session.d.cts +1 -1
  400. package/xata-http/session.d.ts +1 -1
  401. package/xata-http/session.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/bigint.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlBigInt53BuilderInitial<TName extends string> = MySqlBigInt53Builder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'MySqlBigInt53';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBigInt53Builder<T extends ColumnBuilderBaseConfig<'number', 'MySqlBigInt53'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic readonly [entityKind]: string = 'MySqlBigInt53Builder';\n\n\tconstructor(name: T['name'], unsigned: boolean = false) {\n\t\tsuper(name, 'number', 'MySqlBigInt53');\n\t\tthis.config.unsigned = unsigned;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBigInt53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBigInt53<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt53<T extends ColumnBaseConfig<'number', 'MySqlBigInt53'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic readonly [entityKind]: string = 'MySqlBigInt53';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type MySqlBigInt64BuilderInitial<TName extends string> = MySqlBigInt64Builder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'MySqlBigInt64';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBigInt64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'MySqlBigInt64'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic readonly [entityKind]: string = 'MySqlBigInt64Builder';\n\n\tconstructor(name: T['name'], unsigned: boolean = false) {\n\t\tsuper(name, 'bigint', 'MySqlBigInt64');\n\t\tthis.config.unsigned = unsigned;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBigInt64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBigInt64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt64<T extends ColumnBaseConfig<'bigint', 'MySqlBigInt64'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic readonly [entityKind]: string = 'MySqlBigInt64';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface MySqlBigIntConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n\tunsigned?: boolean;\n}\n\nexport function bigint<TMode extends MySqlBigIntConfig['mode']>(\n\tconfig: MySqlBigIntConfig<TMode>,\n): TMode extends 'number' ? MySqlBigInt53BuilderInitial<''> : MySqlBigInt64BuilderInitial<''>;\nexport function bigint<TName extends string, TMode extends MySqlBigIntConfig['mode']>(\n\tname: TName,\n\tconfig: MySqlBigIntConfig<TMode>,\n): TMode extends 'number' ? MySqlBigInt53BuilderInitial<TName> : MySqlBigInt64BuilderInitial<TName>;\nexport function bigint(a?: string | MySqlBigIntConfig, b?: MySqlBigIntConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBigIntConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new MySqlBigInt53Builder(name, config.unsigned);\n\t}\n\treturn new MySqlBigInt64Builder(name, config.unsigned);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,qCAAqC,oCAAoC;AAY3E,MAAM,6BACJ,oCACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,WAAoB,OAAO;AACvD,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAYO,MAAM,6BACJ,oCACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,WAAoB,OAAO;AACvD,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAcO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AAAA,EACtD;AACA,SAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/bigint.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlBigInt53BuilderInitial<TName extends string> = MySqlBigInt53Builder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'MySqlBigInt53';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBigInt53Builder<T extends ColumnBuilderBaseConfig<'number', 'MySqlBigInt53'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt53Builder';\n\n\tconstructor(name: T['name'], unsigned: boolean = false) {\n\t\tsuper(name, 'number', 'MySqlBigInt53');\n\t\tthis.config.unsigned = unsigned;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBigInt53<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBigInt53<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt53<T extends ColumnBaseConfig<'number', 'MySqlBigInt53'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt53';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'number') {\n\t\t\treturn value;\n\t\t}\n\t\treturn Number(value);\n\t}\n}\n\nexport type MySqlBigInt64BuilderInitial<TName extends string> = MySqlBigInt64Builder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'MySqlBigInt64';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBigInt64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'MySqlBigInt64'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt64Builder';\n\n\tconstructor(name: T['name'], unsigned: boolean = false) {\n\t\tsuper(name, 'bigint', 'MySqlBigInt64');\n\t\tthis.config.unsigned = unsigned;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBigInt64<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBigInt64<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBigInt64<T extends ColumnBaseConfig<'bigint', 'MySqlBigInt64'>>\n\textends MySqlColumnWithAutoIncrement<T, { unsigned: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBigInt64';\n\n\tgetSQLType(): string {\n\t\treturn `bigint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\toverride mapFromDriverValue(value: string): bigint {\n\t\treturn BigInt(value);\n\t}\n}\n\nexport interface MySqlBigIntConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {\n\tmode: T;\n\tunsigned?: boolean;\n}\n\nexport function bigint<TMode extends MySqlBigIntConfig['mode']>(\n\tconfig: MySqlBigIntConfig<TMode>,\n): TMode extends 'number' ? MySqlBigInt53BuilderInitial<''> : MySqlBigInt64BuilderInitial<''>;\nexport function bigint<TName extends string, TMode extends MySqlBigIntConfig['mode']>(\n\tname: TName,\n\tconfig: MySqlBigIntConfig<TMode>,\n): TMode extends 'number' ? MySqlBigInt53BuilderInitial<TName> : MySqlBigInt64BuilderInitial<TName>;\nexport function bigint(a?: string | MySqlBigIntConfig, b?: MySqlBigIntConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBigIntConfig>(a, b);\n\tif (config.mode === 'number') {\n\t\treturn new MySqlBigInt53Builder(name, config.unsigned);\n\t}\n\treturn new MySqlBigInt64Builder(name, config.unsigned);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,qCAAqC,oCAAoC;AAY3E,MAAM,6BACJ,oCACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAO;AACvD,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,UAAU;AAC9B,aAAO;AAAA,IACR;AACA,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAYO,MAAM,6BACJ,oCACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAO;AACvD,UAAM,MAAM,UAAU,eAAe;AACrC,SAAK,OAAO,WAAW;AAAA,EACxB;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO,SAAS,KAAK,OAAO,WAAW,cAAc,EAAE;AAAA,EACxD;AAAA;AAAA,EAGS,mBAAmB,OAAuB;AAClD,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAcO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,MAAI,OAAO,SAAS,UAAU;AAC7B,WAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AAAA,EACtD;AACA,SAAO,IAAI,qBAAqB,MAAM,OAAO,QAAQ;AACtD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBinaryBuilderInitial<TName extends string> = MySqlBinaryBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlBinary';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBinaryBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: T['name'], length: number | undefined) {\n\t\tsuper(name, 'string', 'MySqlBinary');\n\t\tthis.config.length = length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBinary<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBinary<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic readonly [entityKind]: string = 'MySqlBinary';\n\n\tlength: number | undefined = this.config.length;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `binary` : `binary(${this.length})`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(): MySqlBinaryBuilderInitial<''>;\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<''>;\nexport function binary<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<TName>;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAgD;AAYzC,MAAM,2BAAuF,iCAGlG;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAA4B;AACxD,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,SAAS;AAAA,EACtB;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBAAyE,0BAGpF;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAEzC,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,WAAW,UAAU,KAAK,MAAM;AAAA,EACpE;AACD;AAcO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBinaryBuilderInitial<TName extends string> = MySqlBinaryBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlBinary';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBinaryBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: T['name'], length: number | undefined) {\n\t\tsuper(name, 'string', 'MySqlBinary');\n\t\tthis.config.length = length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBinary<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBinary<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinary';\n\n\tlength: number | undefined = this.config.length;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `binary` : `binary(${this.length})`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(): MySqlBinaryBuilderInitial<''>;\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<''>;\nexport function binary<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<TName>;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAgD;AAYzC,MAAM,2BAAuF,iCAGlG;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAA4B;AACxD,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,SAAS;AAAA,EACtB;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBAAyE,0BAGpF;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,SAA6B,KAAK,OAAO;AAAA,EAEzC,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,WAAW,UAAU,KAAK,MAAM;AAAA,EACpE;AACD;AAcO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBinaryBuilderInitial<TName extends string> = MySqlBinaryBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlBinary';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBinaryBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: T['name'], length: number | undefined) {\n\t\tsuper(name, 'string', 'MySqlBinary');\n\t\tthis.config.length = length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBinary<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBinary<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic readonly [entityKind]: string = 'MySqlBinary';\n\n\tlength: number | undefined = this.config.length;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `binary` : `binary(${this.length})`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(): MySqlBinaryBuilderInitial<''>;\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<''>;\nexport function binary<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<TName>;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,aAAa,0BAA0B;AAYzC,MAAM,2BAAuF,mBAGlG;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAA4B;AACxD,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,SAAS;AAAA,EACtB;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBAAyE,YAGpF;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAEzC,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,WAAW,UAAU,KAAK,MAAM;AAAA,EACpE;AACD;AAcO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/binary.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBinaryBuilderInitial<TName extends string> = MySqlBinaryBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlBinary';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBinaryBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinaryBuilder';\n\n\tconstructor(name: T['name'], length: number | undefined) {\n\t\tsuper(name, 'string', 'MySqlBinary');\n\t\tthis.config.length = length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBinary<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBinary<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlBinary<T extends ColumnBaseConfig<'string', 'MySqlBinary'>> extends MySqlColumn<\n\tT,\n\tMySqlBinaryConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlBinary';\n\n\tlength: number | undefined = this.config.length;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `binary` : `binary(${this.length})`;\n\t}\n}\n\nexport interface MySqlBinaryConfig {\n\tlength?: number;\n}\n\nexport function binary(): MySqlBinaryBuilderInitial<''>;\nexport function binary(\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<''>;\nexport function binary<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlBinaryConfig,\n): MySqlBinaryBuilderInitial<TName>;\nexport function binary(a?: string | MySqlBinaryConfig, b: MySqlBinaryConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlBinaryConfig>(a, b);\n\treturn new MySqlBinaryBuilder(name, config.length);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,aAAa,0BAA0B;AAYzC,MAAM,2BAAuF,mBAGlG;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAA4B;AACxD,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,SAAS;AAAA,EACtB;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBAAyE,YAGpF;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,SAA6B,KAAK,OAAO;AAAA,EAEzC,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,WAAW,UAAU,KAAK,MAAM;AAAA,EACpE;AACD;AAcO,SAAS,OAAO,GAAgC,IAAuB,CAAC,GAAG;AACjF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,OAAO,MAAM;AAClD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBooleanBuilderInitial<TName extends string> = MySqlBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'MySqlBoolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'MySqlBoolean'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean', 'MySqlBoolean'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(): MySqlBooleanBuilderInitial<''>;\nexport function boolean<TName extends string>(name: TName): MySqlBooleanBuilderInitial<TName>;\nexport function boolean(name?: string) {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAAgD;AAYzC,MAAM,4BACJ,iCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4E,0BAAe;AAAA,EACvG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBooleanBuilderInitial<TName extends string> = MySqlBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'MySqlBoolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'MySqlBoolean'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean', 'MySqlBoolean'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(): MySqlBooleanBuilderInitial<''>;\nexport function boolean<TName extends string>(name: TName): MySqlBooleanBuilderInitial<TName>;\nexport function boolean(name?: string) {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAAgD;AAYzC,MAAM,4BACJ,iCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4E,0BAAe;AAAA,EACvG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBooleanBuilderInitial<TName extends string> = MySqlBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'MySqlBoolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'MySqlBoolean'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean', 'MySqlBoolean'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(): MySqlBooleanBuilderInitial<''>;\nexport function boolean<TName extends string>(name: TName): MySqlBooleanBuilderInitial<TName>;\nexport function boolean(name?: string) {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,aAAa,0BAA0B;AAYzC,MAAM,4BACJ,mBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4E,YAAe;AAAA,EACvG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/boolean.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlBooleanBuilderInitial<TName extends string> = MySqlBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'MySqlBoolean';\n\tdata: boolean;\n\tdriverParam: number | boolean;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'MySqlBoolean'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlBooleanBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'boolean', 'MySqlBoolean');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlBoolean<T extends ColumnBaseConfig<'boolean', 'MySqlBoolean'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlBoolean';\n\n\tgetSQLType(): string {\n\t\treturn 'boolean';\n\t}\n\n\toverride mapFromDriverValue(value: number | boolean): boolean {\n\t\tif (typeof value === 'boolean') {\n\t\t\treturn value;\n\t\t}\n\t\treturn value === 1;\n\t}\n}\n\nexport function boolean(): MySqlBooleanBuilderInitial<''>;\nexport function boolean<TName extends string>(name: TName): MySqlBooleanBuilderInitial<TName>;\nexport function boolean(name?: string) {\n\treturn new MySqlBooleanBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,aAAa,0BAA0B;AAYzC,MAAM,4BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,WAAW,cAAc;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAA4E,YAAe;AAAA,EACvG,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkC;AAC7D,QAAI,OAAO,UAAU,WAAW;AAC/B,aAAO;AAAA,IACR;AACA,WAAO,UAAU;AAAA,EAClB;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,oBAAoB,QAAQ,EAAE;AAC1C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MySqlCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlChar';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlChar'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlCharConfig<T['enumValues']>\n> {\n\tstatic readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: T['name'], config: MySqlCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'MySqlChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string', 'MySqlChar'>>\n\textends MySqlColumn<T, MySqlCharConfig<T['enumValues']>>\n{\n\tstatic readonly [entityKind]: string = 'MySqlChar';\n\n\treadonly length: number | undefined = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): MySqlCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAAgD;AAYzC,MAAM,yBAAmF,iCAG9F;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAA0C;AACtE,UAAM,MAAM,UAAU,WAAW;AACjC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC+E;AAC/E,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,0BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE9B,SAA6B,KAAK,OAAO;AAAA,EAChC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MySqlCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlChar';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlChar'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlCharConfig<T['enumValues']>\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: T['name'], config: MySqlCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'MySqlChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string', 'MySqlChar'>>\n\textends MySqlColumn<T, MySqlCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlChar';\n\n\treadonly length: number | undefined = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): MySqlCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAAgD;AAYzC,MAAM,yBAAmF,iCAG9F;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAA0C;AACtE,UAAM,MAAM,UAAU,WAAW;AACjC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC+E;AAC/E,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,0BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAChC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MySqlCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlChar';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlChar'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlCharConfig<T['enumValues']>\n> {\n\tstatic readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: T['name'], config: MySqlCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'MySqlChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string', 'MySqlChar'>>\n\textends MySqlColumn<T, MySqlCharConfig<T['enumValues']>>\n{\n\tstatic readonly [entityKind]: string = 'MySqlChar';\n\n\treadonly length: number | undefined = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): MySqlCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,aAAa,0BAA0B;AAYzC,MAAM,yBAAmF,mBAG9F;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAA0C;AACtE,UAAM,MAAM,UAAU,WAAW;AACjC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC+E;AAC/E,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,YACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,SAA6B,KAAK,OAAO;AAAA,EAChC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/char.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MySqlCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlChar';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlChar'>> extends MySqlColumnBuilder<\n\tT,\n\tMySqlCharConfig<T['enumValues']>\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlCharBuilder';\n\n\tconstructor(name: T['name'], config: MySqlCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'MySqlChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new MySqlChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlChar<T extends ColumnBaseConfig<'string', 'MySqlChar'>>\n\textends MySqlColumn<T, MySqlCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlChar';\n\n\treadonly length: number | undefined = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface MySqlCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): MySqlCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: MySqlCharConfig<T | Writable<T>>,\n): MySqlCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | MySqlCharConfig, b: MySqlCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlCharConfig>(a, b);\n\treturn new MySqlCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,aAAa,0BAA0B;AAYzC,MAAM,yBAAmF,mBAG9F;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAA0C;AACtE,UAAM,MAAM,UAAU,WAAW;AACjC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC+E;AAC/E,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kBACJ,YACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAChC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAA8B,IAAqB,CAAC,GAAQ;AAChF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAwC,GAAG,CAAC;AACrE,SAAO,IAAI,iBAAiB,MAAM,MAAa;AAChD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n\tMakeColumnConfig,\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 { AnyMySqlTable, 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 interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic 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\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<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: 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}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: T['columnType']) {\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<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic 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;AAa9B,oBAAuB;AACvB,oBAA2B;AAE3B,0BAAkC;AAIlC,+BAA8B;AAmBvB,MAAe,2BAOZ,oCAEV;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE/B,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,QAAyD;AAC7G,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;AAMD;AAGO,MAAe,oBAGZ,qBAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAWxC;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,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,QAAiB,wBAAU,IAAY;AAAA,EAE9B,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\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n\tMakeColumnConfig,\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 { AnyMySqlTable, 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 interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\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\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<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: 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}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\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: T['columnType']) {\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<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\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;AAa9B,oBAAuB;AACvB,oBAA2B;AAE3B,0BAAkC;AAIlC,+BAA8B;AAmBvB,MAAe,2BAOZ,oCAEV;AAAA,EACC,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,QAAyD;AAC7G,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;AAMD;AAGO,MAAe,oBAGZ,qBAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAA0B,wBAAU,IAAY;AAWjD;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,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 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n\tMakeColumnConfig,\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 { AnyMySqlTable, 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 interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic 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\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<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: 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}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: T['columnType']) {\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<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAa9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAIlC,SAAS,qBAAqB;AAmBvB,MAAe,2BAOZ,cAEV;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE/B,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,QAAyD;AAC7G,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;AAMD;AAGO,MAAe,oBAGZ,OAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAWxC;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,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,QAAiB,UAAU,IAAY;AAAA,EAE9B,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\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n\tMakeColumnConfig,\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 { AnyMySqlTable, 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 interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\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\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<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic override readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: 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}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\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: T['columnType']) {\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<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\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;AAa9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAIlC,SAAS,qBAAqB;AAmBvB,MAAe,2BAOZ,cAEV;AAAA,EACC,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,QAAyD;AAC7G,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;AAMD;AAGO,MAAe,oBAGZ,OAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAA0B,UAAU,IAAY;AAWjD;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,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, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'MySqlCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\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', 'MySqlCustomColumn'>>\n\textends MySqlColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tmysqlColumnBuilderBrand: 'MySqlCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\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\tbuild<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom', 'MySqlCustomColumn'>> extends MySqlColumn<T> {\n\tstatic 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\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}\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\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 type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * 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, between user input and 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 responsible for data mapping from database to JS/TS code\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\tfromDriver?: (value: T['driverData']) => T['data'];\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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): MySqlCustomColumnBuilder<ConvertCustomConfig<'', 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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name as ConvertCustomConfig<TName, T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAAgD;AAmBzC,MAAM,iCACJ,iCAUT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,mBAAmB;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGA,MACC,OACqD;AACrD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAqF,0BAAe;AAAA,EAChH,QAAiB,wBAAU,IAAY;AAAA,EAE/B;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;AAAA,EACxC;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,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC6D;AAC7D,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAA+C,QAAQ,gBAAgB;AAAA,EAC5G;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'MySqlCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\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', 'MySqlCustomColumn'>>\n\textends MySqlColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tmysqlColumnBuilderBrand: 'MySqlCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\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\tbuild<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom', 'MySqlCustomColumn'>> 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\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}\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\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 type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * 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, between user input and 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 responsible for data mapping from database to JS/TS code\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\tfromDriver?: (value: T['driverData']) => T['data'];\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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): MySqlCustomColumnBuilder<ConvertCustomConfig<'', 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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name as ConvertCustomConfig<TName, T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAAgD;AAmBzC,MAAM,iCACJ,iCAUT;AAAA,EACC,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,EAGA,MACC,OACqD;AACrD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAqF,0BAAe;AAAA,EAChH,QAA0B,wBAAU,IAAY;AAAA,EAExC;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;AAAA,EACxC;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,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC6D;AAC7D,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAA+C,QAAQ,gBAAgB;AAAA,EAC5G;AACD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'MySqlCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\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', 'MySqlCustomColumn'>>\n\textends MySqlColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tmysqlColumnBuilderBrand: 'MySqlCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\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\tbuild<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom', 'MySqlCustomColumn'>> extends MySqlColumn<T> {\n\tstatic 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\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}\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\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 type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * 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, between user input and 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 responsible for data mapping from database to JS/TS code\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\tfromDriver?: (value: T['driverData']) => T['data'];\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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): MySqlCustomColumnBuilder<ConvertCustomConfig<'', 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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name as ConvertCustomConfig<TName, T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAmBzC,MAAM,iCACJ,mBAUT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,mBAAmB;AACzC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGA,MACC,OACqD;AACrD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAqF,YAAe;AAAA,EAChH,QAAiB,UAAU,IAAY;AAAA,EAE/B;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;AAAA,EACxC;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,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC6D;AAC7D,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAA+C,QAAQ,gBAAgB;AAAA,EAC5G;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'MySqlCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\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', 'MySqlCustomColumn'>>\n\textends MySqlColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tmysqlColumnBuilderBrand: 'MySqlCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\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\tbuild<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlCustomColumn<T extends ColumnBaseConfig<'custom', 'MySqlCustomColumn'>> 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\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}\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\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 type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * 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, between user input and 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 responsible for data mapping from database to JS/TS code\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\tfromDriver?: (value: T['driverData']) => T['data'];\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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): MySqlCustomColumnBuilder<ConvertCustomConfig<'', 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<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): MySqlCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new MySqlCustomColumnBuilder(name as ConvertCustomConfig<TName, T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAmBzC,MAAM,iCACJ,mBAUT;AAAA,EACC,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,EAGA,MACC,OACqD;AACrD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BAAqF,YAAe;AAAA,EAChH,QAA0B,UAAU,IAAY;AAAA,EAExC;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;AAAA,EACxC;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,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC6D;AAC7D,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,yBAAyB,MAA+C,QAAQ,gBAAgB;AAAA,EAC5G;AACD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateBuilderInitial<TName extends string> = MySqlDateBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDate';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDate'>> extends MySqlColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDate<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDate<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'date', 'MySqlDate'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder<T>['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 type MySqlDateStringBuilderInitial<TName extends string> = MySqlDateStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateString'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string', 'MySqlDateString'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date(): MySqlDateBuilderInitial<''>;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<''> : MySqlDateBuilderInitial<''>;\nexport function date<TName extends string, TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<TName> : MySqlDateBuilderInitial<TName>;\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;AAEA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAYzC,MAAM,yBAAiF,iCAAsB;AAAA,EACnH,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,WAAW;AAAA,EAChC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAmE,0BAAe;AAAA,EAC9F,QAAiB,wBAAU,IAAY;AAAA,EAEvC,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;AAYO,MAAM,+BACJ,iCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,iBAAiB;AAAA,EACxC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAiF,0BAAe;AAAA,EAC5G,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAcO,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 { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateBuilderInitial<TName extends string> = MySqlDateBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDate';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDate'>> extends MySqlColumnBuilder<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDate<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDate<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'date', 'MySqlDate'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder<T>['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 type MySqlDateStringBuilderInitial<TName extends string> = MySqlDateStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateString'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string', 'MySqlDateString'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date(): MySqlDateBuilderInitial<''>;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<''> : MySqlDateBuilderInitial<''>;\nexport function date<TName extends string, TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<TName> : MySqlDateBuilderInitial<TName>;\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;AAEA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAYzC,MAAM,yBAAiF,iCAAsB;AAAA,EACnH,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,WAAW;AAAA,EAChC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAmE,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,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAYO,MAAM,+BACJ,iCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,iBAAiB;AAAA,EACxC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAiF,0BAAe;AAAA,EAC5G,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAcO,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 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnDataType,\n\tHasDefault,\n} 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<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic 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-initialization.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<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,oBAA2B;AAC3B,iBAAoB;AACpB,oBAAgD;AAMzC,MAAe,mCAIZ,iCAAgF;AAAA,EACzF,QAAiB,wBAAU,IAAY;AAAA,EAEvC,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,QAAiB,wBAAU,IAAY;AAAA,EAE9B,iBAA0B,KAAK,OAAO;AAChD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnDataType,\n\tHasDefault,\n} 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<ColumnDataType, string>,\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-initialization.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<ColumnDataType, string>,\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;AAOA,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":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnDataType,\n\tHasDefault,\n} 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<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlDateColumnBaseConfig, TExtraConfig> {\n\tstatic 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-initialization.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<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n}\n"],"mappings":"AAOA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,aAAa,0BAA0B;AAMzC,MAAe,mCAIZ,mBAAgF;AAAA,EACzF,QAAiB,UAAU,IAAY;AAAA,EAEvC,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,QAAiB,UAAU,IAAY;AAAA,EAE9B,iBAA0B,KAAK,OAAO;AAChD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/date.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnDataType,\n\tHasDefault,\n} 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<ColumnDataType, string>,\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-initialization.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<ColumnDataType, string>,\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":"AAOA,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":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/date.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateBuilderInitial<TName extends string> = MySqlDateBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDate';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDate'>> extends MySqlColumnBuilder<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDate<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDate<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'date', 'MySqlDate'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder<T>['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 type MySqlDateStringBuilderInitial<TName extends string> = MySqlDateStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateString'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string', 'MySqlDateString'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date(): MySqlDateBuilderInitial<''>;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<''> : MySqlDateBuilderInitial<''>;\nexport function date<TName extends string, TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<TName> : MySqlDateBuilderInitial<TName>;\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":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAYzC,MAAM,yBAAiF,mBAAsB;AAAA,EACnH,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,WAAW;AAAA,EAChC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAmE,YAAe;AAAA,EAC9F,QAAiB,UAAU,IAAY;AAAA,EAEvC,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;AAYO,MAAM,+BACJ,mBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,iBAAiB;AAAA,EACxC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAiF,YAAe;AAAA,EAC5G,QAAiB,UAAU,IAAY;AAAA,EAEvC,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAcO,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 { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateBuilderInitial<TName extends string> = MySqlDateBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDate';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDate'>> extends MySqlColumnBuilder<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'date', 'MySqlDate');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDate<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDate<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDate<T extends ColumnBaseConfig<'date', 'MySqlDate'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDate';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateBuilder<T>['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 type MySqlDateStringBuilderInitial<TName extends string> = MySqlDateStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateString'>>\n\textends MySqlColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDateStringBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'MySqlDateString');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateString<T extends ColumnBaseConfig<'string', 'MySqlDateString'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlDateString';\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateStringBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface MySqlDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date(): MySqlDateBuilderInitial<''>;\nexport function date<TMode extends MySqlDateConfig['mode'] & {}>(\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<''> : MySqlDateBuilderInitial<''>;\nexport function date<TName extends string, TMode extends MySqlDateConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateStringBuilderInitial<TName> : MySqlDateBuilderInitial<TName>;\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":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAYzC,MAAM,yBAAiF,mBAAsB;AAAA,EACnH,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,WAAW;AAAA,EAChC;AAAA;AAAA,EAGS,MACR,OAC6C;AAC7C,WAAO,IAAI,UAA2C,OAAO,KAAK,MAA8C;AAAA,EACjH;AACD;AAEO,MAAM,kBAAmE,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,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAYO,MAAM,+BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,iBAAiB;AAAA,EACxC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAiF,YAAe;AAAA,EAC5G,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAcO,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 { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateTimeBuilderInitial<TName extends string> = MySqlDateTimeBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDateTime';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDateTime'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTime<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTime<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'date', 'MySqlDateTime'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateTime';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeBuilder<T>['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 {\n\t\treturn new Date(value.replace(' ', 'T') + 'Z');\n\t}\n}\n\nexport type MySqlDateTimeStringBuilderInitial<TName extends string> = MySqlDateTimeStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateTimeString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateTimeString'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTimeString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTimeString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string', 'MySqlDateTimeString'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateTimeString';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeStringBuilder<T>['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\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(): MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<''> : MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TName extends string, TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<TName> : MySqlDateTimeBuilderInitial<TName>;\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;AAEA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAYzC,MAAM,6BACJ,iCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,QAAQ,eAAe;AACnC,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA2E,0BAAe;AAAA,EACtG,QAAiB,wBAAU,IAAY;AAAA,EAE9B;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,OAAqB;AAChD,WAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAAA,EAC9C;AACD;AAYO,MAAM,mCACJ,iCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,UAAU,qBAAqB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACuD;AACvD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAyF,0BAAe;AAAA,EACpH,QAAiB,wBAAU,IAAY;AAAA,EAE9B;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;AACD;AAiBO,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 { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateTimeBuilderInitial<TName extends string> = MySqlDateTimeBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDateTime';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDateTime'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTime<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTime<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'date', 'MySqlDateTime'>> 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<T>['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 {\n\t\treturn new Date(value.replace(' ', 'T') + 'Z');\n\t}\n}\n\nexport type MySqlDateTimeStringBuilderInitial<TName extends string> = MySqlDateTimeStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateTimeString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateTimeString'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTimeString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTimeString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string', 'MySqlDateTimeString'>> 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<T>['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\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(): MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<''> : MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TName extends string, TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<TName> : MySqlDateTimeBuilderInitial<TName>;\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;AAEA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAgD;AAYzC,MAAM,6BACJ,iCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,QAAQ,eAAe;AACnC,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA2E,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,iBAAiB,OAAsB;AAC/C,WAAO,MAAM,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE;AAAA,EAC7D;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAAA,EAC9C;AACD;AAYO,MAAM,mCACJ,iCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,UAAU,qBAAqB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACuD;AACvD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAyF,0BAAe;AAAA,EACpH,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;AACD;AAiBO,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 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/datetime.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateTimeBuilderInitial<TName extends string> = MySqlDateTimeBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDateTime';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDateTime'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTime<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTime<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'date', 'MySqlDateTime'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateTime';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeBuilder<T>['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 {\n\t\treturn new Date(value.replace(' ', 'T') + 'Z');\n\t}\n}\n\nexport type MySqlDateTimeStringBuilderInitial<TName extends string> = MySqlDateTimeStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateTimeString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateTimeString'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTimeString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTimeString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string', 'MySqlDateTimeString'>> extends MySqlColumn<T> {\n\tstatic readonly [entityKind]: string = 'MySqlDateTimeString';\n\n\treadonly fsp: number | undefined;\n\n\tconstructor(\n\t\ttable: AnyMySqlTable<{ name: T['tableName'] }>,\n\t\tconfig: MySqlDateTimeStringBuilder<T>['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\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(): MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<''> : MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TName extends string, TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<TName> : MySqlDateTimeBuilderInitial<TName>;\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":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAYzC,MAAM,6BACJ,mBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,QAAQ,eAAe;AACnC,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA2E,YAAe;AAAA,EACtG,QAAiB,UAAU,IAAY;AAAA,EAE9B;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,OAAqB;AAChD,WAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAAA,EAC9C;AACD;AAYO,MAAM,mCACJ,mBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,UAAU,qBAAqB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACuD;AACvD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAyF,YAAe;AAAA,EACpH,QAAiB,UAAU,IAAY;AAAA,EAE9B;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;AACD;AAiBO,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 { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport type MySqlDateTimeBuilderInitial<TName extends string> = MySqlDateTimeBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'MySqlDateTime';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeBuilder<T extends ColumnBuilderBaseConfig<'date', 'MySqlDateTime'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'date', 'MySqlDateTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTime<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTime<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTime<T extends ColumnBaseConfig<'date', 'MySqlDateTime'>> 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<T>['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 {\n\t\treturn new Date(value.replace(' ', 'T') + 'Z');\n\t}\n}\n\nexport type MySqlDateTimeStringBuilderInitial<TName extends string> = MySqlDateTimeStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDateTimeString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDateTimeStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'MySqlDateTimeString'>>\n\textends MySqlColumnBuilder<T, MySqlDatetimeConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDateTimeStringBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDatetimeConfig | undefined) {\n\t\tsuper(name, 'string', 'MySqlDateTimeString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDateTimeString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDateTimeString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDateTimeString<T extends ColumnBaseConfig<'string', 'MySqlDateTimeString'>> 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<T>['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\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(): MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<''> : MySqlDateTimeBuilderInitial<''>;\nexport function datetime<TName extends string, TMode extends MySqlDatetimeConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: MySqlDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlDateTimeStringBuilderInitial<TName> : MySqlDateTimeBuilderInitial<TName>;\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":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,aAAa,0BAA0B;AAYzC,MAAM,6BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,QAAQ,eAAe;AACnC,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA2E,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,iBAAiB,OAAsB;AAC/C,WAAO,MAAM,YAAY,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,EAAE;AAAA,EAC7D;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,oBAAI,KAAK,MAAM,QAAQ,KAAK,GAAG,IAAI,GAAG;AAAA,EAC9C;AACD;AAYO,MAAM,mCACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAyC;AACrE,UAAM,MAAM,UAAU,qBAAqB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACuD;AACvD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAyF,YAAe;AAAA,EACpH,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;AACD;AAiBO,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 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDecimalBuilderInitial<TName extends string> = MySqlDecimalBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDecimal';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDecimalBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'MySqlDecimal'>,\n> extends MySqlColumnBuilderWithAutoIncrement<T, MySqlDecimalConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlDecimalBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'string', 'MySqlDecimal');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDecimal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDecimal<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDecimal<T extends ColumnBaseConfig<'string', 'MySqlDecimal'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDecimalConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'decimal';\n\t\t} else {\n\t\t\treturn `decimal(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDecimalConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function decimal(): MySqlDecimalBuilderInitial<''>;\nexport function decimal(\n\tconfig: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<''>;\nexport function decimal<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<TName>;\nexport function decimal(a?: string | MySqlDecimalConfig, b: MySqlDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDecimalConfig>(a, b);\n\treturn new MySqlDecimalBuilder(name, config.precision, config.scale);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAkF;AAY3E,MAAM,4BAEH,kDAA2D;AAAA,EACpE,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,2CACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE9B,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAEjD,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC/C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAeO,SAAS,QAAQ,GAAiC,IAAwB,CAAC,GAAG;AACpF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,OAAO,WAAW,OAAO,KAAK;AACpE;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDecimalBuilderInitial<TName extends string> = MySqlDecimalBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDecimal';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDecimalBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'MySqlDecimal'>,\n> extends MySqlColumnBuilderWithAutoIncrement<T, MySqlDecimalConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDecimalBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'string', 'MySqlDecimal');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDecimal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDecimal<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDecimal<T extends ColumnBaseConfig<'string', 'MySqlDecimal'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'decimal';\n\t\t} else {\n\t\t\treturn `decimal(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDecimalConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function decimal(): MySqlDecimalBuilderInitial<''>;\nexport function decimal(\n\tconfig: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<''>;\nexport function decimal<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<TName>;\nexport function decimal(a?: string | MySqlDecimalConfig, b: MySqlDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDecimalConfig>(a, b);\n\treturn new MySqlDecimalBuilder(name, config.precision, config.scale);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAkF;AAY3E,MAAM,4BAEH,kDAA2D;AAAA,EACpE,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,2CACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAEjD,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC/C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAeO,SAAS,QAAQ,GAAiC,IAAwB,CAAC,GAAG;AACpF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,OAAO,WAAW,OAAO,KAAK;AACpE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDecimalBuilderInitial<TName extends string> = MySqlDecimalBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDecimal';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDecimalBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'MySqlDecimal'>,\n> extends MySqlColumnBuilderWithAutoIncrement<T, MySqlDecimalConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlDecimalBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'string', 'MySqlDecimal');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDecimal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDecimal<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDecimal<T extends ColumnBaseConfig<'string', 'MySqlDecimal'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDecimalConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'decimal';\n\t\t} else {\n\t\t\treturn `decimal(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDecimalConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function decimal(): MySqlDecimalBuilderInitial<''>;\nexport function decimal(\n\tconfig: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<''>;\nexport function decimal<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<TName>;\nexport function decimal(a?: string | MySqlDecimalConfig, b: MySqlDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDecimalConfig>(a, b);\n\treturn new MySqlDecimalBuilder(name, config.precision, config.scale);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,qCAAqC,oCAAoC;AAY3E,MAAM,4BAEH,oCAA2D;AAAA,EACpE,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,6BACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE9B,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAEjD,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC/C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAeO,SAAS,QAAQ,GAAiC,IAAwB,CAAC,GAAG;AACpF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,OAAO,WAAW,OAAO,KAAK;AACpE;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDecimalBuilderInitial<TName extends string> = MySqlDecimalBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'MySqlDecimal';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDecimalBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'MySqlDecimal'>,\n> extends MySqlColumnBuilderWithAutoIncrement<T, MySqlDecimalConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlDecimalBuilder';\n\n\tconstructor(name: T['name'], precision?: number, scale?: number) {\n\t\tsuper(name, 'string', 'MySqlDecimal');\n\t\tthis.config.precision = precision;\n\t\tthis.config.scale = scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDecimal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDecimal<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MySqlDecimal<T extends ColumnBaseConfig<'string', 'MySqlDecimal'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'decimal';\n\t\t} else {\n\t\t\treturn `decimal(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDecimalConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function decimal(): MySqlDecimalBuilderInitial<''>;\nexport function decimal(\n\tconfig: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<''>;\nexport function decimal<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDecimalConfig,\n): MySqlDecimalBuilderInitial<TName>;\nexport function decimal(a?: string | MySqlDecimalConfig, b: MySqlDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDecimalConfig>(a, b);\n\treturn new MySqlDecimalBuilder(name, config.precision, config.scale);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,qCAAqC,oCAAoC;AAY3E,MAAM,4BAEH,oCAA2D;AAAA,EACpE,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,WAAoB,OAAgB;AAChE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,QAAQ;AAAA,EACrB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAEjD,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,WAAW,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC/C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,WAAW,KAAK,SAAS;AAAA,IACjC;AAAA,EACD;AACD;AAeO,SAAS,QAAQ,GAAiC,IAAwB,CAAC,GAAG;AACpF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,OAAO,WAAW,OAAO,KAAK;AACpE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/double.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDoubleBuilderInitial<TName extends string> = MySqlDoubleBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'MySqlDouble';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDoubleBuilder<T extends ColumnBuilderBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDoubleBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDoubleConfig | undefined) {\n\t\tsuper(name, 'number', 'MySqlDouble');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDouble<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDouble<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDouble<T extends ColumnBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDouble';\n\n\tprecision: number | undefined = this.config.precision;\n\tscale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `double(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'double';\n\t\t} else {\n\t\t\treturn `double(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDoubleConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function double(): MySqlDoubleBuilderInitial<''>;\nexport function double(\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<''>;\nexport function double<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<TName>;\nexport function double(a?: string | MySqlDoubleConfig, b?: MySqlDoubleConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDoubleConfig>(a, b);\n\treturn new MySqlDoubleBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAkF;AAY3E,MAAM,2BACJ,kDACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAuC;AACnE,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,YAAY,QAAQ;AAChC,SAAK,OAAO,QAAQ,QAAQ;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBACJ,2CACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAExC,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC9C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,UAAU,KAAK,SAAS;AAAA,IAChC;AAAA,EACD;AACD;AAeO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,MAAM;AAC3C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/double.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDoubleBuilderInitial<TName extends string> = MySqlDoubleBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'MySqlDouble';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDoubleBuilder<T extends ColumnBuilderBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDoubleBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDoubleConfig | undefined) {\n\t\tsuper(name, 'number', 'MySqlDouble');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDouble<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDouble<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDouble<T extends ColumnBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDouble';\n\n\tprecision: number | undefined = this.config.precision;\n\tscale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `double(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'double';\n\t\t} else {\n\t\t\treturn `double(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDoubleConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function double(): MySqlDoubleBuilderInitial<''>;\nexport function double(\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<''>;\nexport function double<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<TName>;\nexport function double(a?: string | MySqlDoubleConfig, b?: MySqlDoubleConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDoubleConfig>(a, b);\n\treturn new MySqlDoubleBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAuC;AACvC,oBAAkF;AAY3E,MAAM,2BACJ,kDACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAuC;AACnE,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,YAAY,QAAQ;AAChC,SAAK,OAAO,QAAQ,QAAQ;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBACJ,2CACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAExC,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC9C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,UAAU,KAAK,SAAS;AAAA,IAChC;AAAA,EACD;AACD;AAeO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,MAAM;AAC3C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/double.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDoubleBuilderInitial<TName extends string> = MySqlDoubleBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'MySqlDouble';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDoubleBuilder<T extends ColumnBuilderBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDoubleBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDoubleConfig | undefined) {\n\t\tsuper(name, 'number', 'MySqlDouble');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDouble<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDouble<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDouble<T extends ColumnBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlDouble';\n\n\tprecision: number | undefined = this.config.precision;\n\tscale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `double(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'double';\n\t\t} else {\n\t\t\treturn `double(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDoubleConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function double(): MySqlDoubleBuilderInitial<''>;\nexport function double(\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<''>;\nexport function double<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<TName>;\nexport function double(a?: string | MySqlDoubleConfig, b?: MySqlDoubleConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDoubleConfig>(a, b);\n\treturn new MySqlDoubleBuilder(name, config);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,qCAAqC,oCAAoC;AAY3E,MAAM,2BACJ,oCACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAuC;AACnE,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,YAAY,QAAQ;AAChC,SAAK,OAAO,QAAQ,QAAQ;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBACJ,6BACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAExC,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC9C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,UAAU,KAAK,SAAS;AAAA,IAChC;AAAA,EACD;AACD;AAeO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,MAAM;AAC3C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/double.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from './common.ts';\n\nexport type MySqlDoubleBuilderInitial<TName extends string> = MySqlDoubleBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'MySqlDouble';\n\tdata: number;\n\tdriverParam: number | string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class MySqlDoubleBuilder<T extends ColumnBuilderBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnBuilderWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDoubleBuilder';\n\n\tconstructor(name: T['name'], config: MySqlDoubleConfig | undefined) {\n\t\tsuper(name, 'number', 'MySqlDouble');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlDouble<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MySqlDouble<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class MySqlDouble<T extends ColumnBaseConfig<'number', 'MySqlDouble'>>\n\textends MySqlColumnWithAutoIncrement<T, MySqlDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlDouble';\n\n\tprecision: number | undefined = this.config.precision;\n\tscale: number | undefined = this.config.scale;\n\n\tgetSQLType(): string {\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\treturn `double(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\treturn 'double';\n\t\t} else {\n\t\t\treturn `double(${this.precision})`;\n\t\t}\n\t}\n}\n\nexport interface MySqlDoubleConfig {\n\tprecision?: number;\n\tscale?: number;\n}\n\nexport function double(): MySqlDoubleBuilderInitial<''>;\nexport function double(\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<''>;\nexport function double<TName extends string>(\n\tname: TName,\n\tconfig?: MySqlDoubleConfig,\n): MySqlDoubleBuilderInitial<TName>;\nexport function double(a?: string | MySqlDoubleConfig, b?: MySqlDoubleConfig) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlDoubleConfig>(a, b);\n\treturn new MySqlDoubleBuilder(name, config);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,qCAAqC,oCAAoC;AAY3E,MAAM,2BACJ,oCACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAuC;AACnE,UAAM,MAAM,UAAU,aAAa;AACnC,SAAK,OAAO,YAAY,QAAQ;AAChC,SAAK,OAAO,QAAQ,QAAQ;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC+C;AAC/C,WAAO,IAAI,YAA6C,OAAO,KAAK,MAA8C;AAAA,EACnH;AACD;AAEO,MAAM,oBACJ,6BACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EAExC,aAAqB;AACpB,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,aAAO,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC9C,WAAW,KAAK,cAAc,QAAW;AACxC,aAAO;AAAA,IACR,OAAO;AACN,aAAO,UAAU,KAAK,SAAS;AAAA,IAChC;AAAA,EACD;AACD;AAeO,SAAS,OAAO,GAAgC,GAAuB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0C,GAAG,CAAC;AACvE,SAAO,IAAI,mBAAmB,MAAM,MAAM;AAC3C;","names":[]}