drizzle-orm 1.0.0-beta.1-4ec2def → 1.0.0-beta.1-cdf226f

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 (1331) hide show
  1. package/_relations.cjs +0 -48
  2. package/_relations.cjs.map +1 -1
  3. package/_relations.d.cts +0 -1
  4. package/_relations.d.ts +0 -1
  5. package/_relations.js +0 -47
  6. package/_relations.js.map +1 -1
  7. package/column-builder.cjs.map +1 -1
  8. package/column-builder.d.cts +8 -10
  9. package/column-builder.d.ts +8 -10
  10. package/column-builder.js.map +1 -1
  11. package/column.cjs +0 -2
  12. package/column.cjs.map +1 -1
  13. package/column.d.cts +0 -1
  14. package/column.d.ts +0 -1
  15. package/column.js +0 -2
  16. package/column.js.map +1 -1
  17. package/{cockroach-core/roles.cjs → effect/effect-wrapper.cjs} +22 -30
  18. package/effect/effect-wrapper.cjs.map +1 -0
  19. package/effect/effect-wrapper.d.cts +8 -0
  20. package/effect/effect-wrapper.d.ts +8 -0
  21. package/effect/effect-wrapper.js +22 -0
  22. package/effect/effect-wrapper.js.map +1 -0
  23. package/{cockroach-core → effect/sqlite}/db.cjs +124 -99
  24. package/effect/sqlite/db.cjs.map +1 -0
  25. package/{cockroach-core/db.d.ts → effect/sqlite/db.d.cts} +87 -92
  26. package/{cockroach-core/db.d.cts → effect/sqlite/db.d.ts} +87 -92
  27. package/{cockroach-core → effect/sqlite}/db.js +127 -103
  28. package/effect/sqlite/db.js.map +1 -0
  29. package/{node-mssql/pool.cjs → effect/sqlite/driver.cjs} +32 -19
  30. package/effect/sqlite/driver.cjs.map +1 -0
  31. package/effect/sqlite/driver.d.cts +4 -0
  32. package/effect/sqlite/driver.d.ts +4 -0
  33. package/effect/sqlite/driver.js +33 -0
  34. package/effect/sqlite/driver.js.map +1 -0
  35. package/{cockroach → effect/sqlite}/index.cjs +4 -4
  36. package/effect/sqlite/index.cjs.map +1 -0
  37. package/effect/sqlite/index.js.map +1 -0
  38. package/effect/sqlite/query-builders/select.cjs +122 -0
  39. package/effect/sqlite/query-builders/select.cjs.map +1 -0
  40. package/effect/sqlite/query-builders/select.d.cts +62 -0
  41. package/effect/sqlite/query-builders/select.d.ts +62 -0
  42. package/effect/sqlite/query-builders/select.js +97 -0
  43. package/effect/sqlite/query-builders/select.js.map +1 -0
  44. package/effect/sqlite/session.cjs +237 -0
  45. package/effect/sqlite/session.cjs.map +1 -0
  46. package/effect/sqlite/session.d.cts +79 -0
  47. package/effect/sqlite/session.d.ts +79 -0
  48. package/effect/sqlite/session.js +212 -0
  49. package/effect/sqlite/session.js.map +1 -0
  50. package/gel-core/columns/bigint.cjs.map +1 -1
  51. package/gel-core/columns/bigint.d.cts +1 -0
  52. package/gel-core/columns/bigint.d.ts +1 -0
  53. package/gel-core/columns/bigint.js.map +1 -1
  54. package/gel-core/columns/bigintT.cjs.map +1 -1
  55. package/gel-core/columns/bigintT.d.cts +1 -0
  56. package/gel-core/columns/bigintT.d.ts +1 -0
  57. package/gel-core/columns/bigintT.js.map +1 -1
  58. package/gel-core/columns/boolean.cjs.map +1 -1
  59. package/gel-core/columns/boolean.d.cts +1 -0
  60. package/gel-core/columns/boolean.d.ts +1 -0
  61. package/gel-core/columns/boolean.js.map +1 -1
  62. package/gel-core/columns/bytes.cjs.map +1 -1
  63. package/gel-core/columns/bytes.d.cts +1 -0
  64. package/gel-core/columns/bytes.d.ts +1 -0
  65. package/gel-core/columns/bytes.js.map +1 -1
  66. package/gel-core/columns/custom.cjs.map +1 -1
  67. package/gel-core/columns/custom.d.cts +1 -0
  68. package/gel-core/columns/custom.d.ts +1 -0
  69. package/gel-core/columns/custom.js.map +1 -1
  70. package/gel-core/columns/date-duration.cjs.map +1 -1
  71. package/gel-core/columns/date-duration.d.cts +1 -0
  72. package/gel-core/columns/date-duration.d.ts +1 -0
  73. package/gel-core/columns/date-duration.js.map +1 -1
  74. package/gel-core/columns/decimal.cjs.map +1 -1
  75. package/gel-core/columns/decimal.d.cts +1 -0
  76. package/gel-core/columns/decimal.d.ts +1 -0
  77. package/gel-core/columns/decimal.js.map +1 -1
  78. package/gel-core/columns/double-precision.cjs.map +1 -1
  79. package/gel-core/columns/double-precision.d.cts +1 -0
  80. package/gel-core/columns/double-precision.d.ts +1 -0
  81. package/gel-core/columns/double-precision.js.map +1 -1
  82. package/gel-core/columns/duration.cjs.map +1 -1
  83. package/gel-core/columns/duration.d.cts +1 -0
  84. package/gel-core/columns/duration.d.ts +1 -0
  85. package/gel-core/columns/duration.js.map +1 -1
  86. package/gel-core/columns/integer.cjs.map +1 -1
  87. package/gel-core/columns/integer.d.cts +1 -0
  88. package/gel-core/columns/integer.d.ts +1 -0
  89. package/gel-core/columns/integer.js.map +1 -1
  90. package/gel-core/columns/json.cjs.map +1 -1
  91. package/gel-core/columns/json.d.cts +1 -0
  92. package/gel-core/columns/json.d.ts +1 -0
  93. package/gel-core/columns/json.js.map +1 -1
  94. package/gel-core/columns/localdate.cjs.map +1 -1
  95. package/gel-core/columns/localdate.d.cts +1 -0
  96. package/gel-core/columns/localdate.d.ts +1 -0
  97. package/gel-core/columns/localdate.js.map +1 -1
  98. package/gel-core/columns/localtime.cjs.map +1 -1
  99. package/gel-core/columns/localtime.d.cts +1 -0
  100. package/gel-core/columns/localtime.d.ts +1 -0
  101. package/gel-core/columns/localtime.js.map +1 -1
  102. package/gel-core/columns/real.cjs.map +1 -1
  103. package/gel-core/columns/real.d.cts +1 -0
  104. package/gel-core/columns/real.d.ts +1 -0
  105. package/gel-core/columns/real.js.map +1 -1
  106. package/gel-core/columns/relative-duration.cjs.map +1 -1
  107. package/gel-core/columns/relative-duration.d.cts +1 -0
  108. package/gel-core/columns/relative-duration.d.ts +1 -0
  109. package/gel-core/columns/relative-duration.js.map +1 -1
  110. package/gel-core/columns/smallint.cjs.map +1 -1
  111. package/gel-core/columns/smallint.d.cts +1 -0
  112. package/gel-core/columns/smallint.d.ts +1 -0
  113. package/gel-core/columns/smallint.js.map +1 -1
  114. package/gel-core/columns/text.cjs.map +1 -1
  115. package/gel-core/columns/text.d.cts +1 -0
  116. package/gel-core/columns/text.d.ts +1 -0
  117. package/gel-core/columns/text.js.map +1 -1
  118. package/gel-core/columns/timestamp.cjs.map +1 -1
  119. package/gel-core/columns/timestamp.d.cts +1 -0
  120. package/gel-core/columns/timestamp.d.ts +1 -0
  121. package/gel-core/columns/timestamp.js.map +1 -1
  122. package/gel-core/columns/timestamptz.cjs.map +1 -1
  123. package/gel-core/columns/timestamptz.d.cts +1 -0
  124. package/gel-core/columns/timestamptz.d.ts +1 -0
  125. package/gel-core/columns/timestamptz.js.map +1 -1
  126. package/gel-core/columns/uuid.cjs.map +1 -1
  127. package/gel-core/columns/uuid.d.cts +1 -0
  128. package/gel-core/columns/uuid.d.ts +1 -0
  129. package/gel-core/columns/uuid.js.map +1 -1
  130. package/gel-core/query-builders/insert.cjs.map +1 -1
  131. package/gel-core/query-builders/insert.d.cts +9 -6
  132. package/gel-core/query-builders/insert.d.ts +9 -6
  133. package/gel-core/query-builders/insert.js.map +1 -1
  134. package/gel-core/query-builders/update.cjs.map +1 -1
  135. package/gel-core/query-builders/update.d.cts +1 -1
  136. package/gel-core/query-builders/update.d.ts +1 -1
  137. package/gel-core/query-builders/update.js.map +1 -1
  138. package/mysql-core/columns/bigint.cjs.map +1 -1
  139. package/mysql-core/columns/bigint.d.cts +2 -0
  140. package/mysql-core/columns/bigint.d.ts +2 -0
  141. package/mysql-core/columns/bigint.js.map +1 -1
  142. package/mysql-core/columns/binary.cjs +1 -0
  143. package/mysql-core/columns/binary.cjs.map +1 -1
  144. package/mysql-core/columns/binary.d.cts +2 -0
  145. package/mysql-core/columns/binary.d.ts +2 -0
  146. package/mysql-core/columns/binary.js +1 -0
  147. package/mysql-core/columns/binary.js.map +1 -1
  148. package/mysql-core/columns/boolean.cjs.map +1 -1
  149. package/mysql-core/columns/boolean.d.cts +1 -0
  150. package/mysql-core/columns/boolean.d.ts +1 -0
  151. package/mysql-core/columns/boolean.js.map +1 -1
  152. package/mysql-core/columns/char.cjs +1 -0
  153. package/mysql-core/columns/char.cjs.map +1 -1
  154. package/mysql-core/columns/char.d.cts +2 -0
  155. package/mysql-core/columns/char.d.ts +2 -0
  156. package/mysql-core/columns/char.js +1 -0
  157. package/mysql-core/columns/char.js.map +1 -1
  158. package/mysql-core/columns/common.cjs.map +1 -1
  159. package/mysql-core/columns/common.d.cts +1 -1
  160. package/mysql-core/columns/common.d.ts +1 -1
  161. package/mysql-core/columns/common.js.map +1 -1
  162. package/mysql-core/columns/custom.cjs.map +1 -1
  163. package/mysql-core/columns/custom.d.cts +1 -0
  164. package/mysql-core/columns/custom.d.ts +1 -0
  165. package/mysql-core/columns/custom.js.map +1 -1
  166. package/mysql-core/columns/date.cjs.map +1 -1
  167. package/mysql-core/columns/date.d.cts +2 -0
  168. package/mysql-core/columns/date.d.ts +2 -0
  169. package/mysql-core/columns/date.js.map +1 -1
  170. package/mysql-core/columns/datetime.cjs.map +1 -1
  171. package/mysql-core/columns/datetime.d.cts +2 -0
  172. package/mysql-core/columns/datetime.d.ts +2 -0
  173. package/mysql-core/columns/datetime.js.map +1 -1
  174. package/mysql-core/columns/decimal.cjs.map +1 -1
  175. package/mysql-core/columns/decimal.d.cts +3 -0
  176. package/mysql-core/columns/decimal.d.ts +3 -0
  177. package/mysql-core/columns/decimal.js.map +1 -1
  178. package/mysql-core/columns/double.cjs.map +1 -1
  179. package/mysql-core/columns/double.d.cts +1 -0
  180. package/mysql-core/columns/double.d.ts +1 -0
  181. package/mysql-core/columns/double.js.map +1 -1
  182. package/mysql-core/columns/enum.cjs.map +1 -1
  183. package/mysql-core/columns/enum.d.cts +2 -0
  184. package/mysql-core/columns/enum.d.ts +2 -0
  185. package/mysql-core/columns/enum.js.map +1 -1
  186. package/mysql-core/columns/float.cjs.map +1 -1
  187. package/mysql-core/columns/float.d.cts +1 -0
  188. package/mysql-core/columns/float.d.ts +1 -0
  189. package/mysql-core/columns/float.js.map +1 -1
  190. package/mysql-core/columns/int.cjs.map +1 -1
  191. package/mysql-core/columns/int.d.cts +1 -0
  192. package/mysql-core/columns/int.d.ts +1 -0
  193. package/mysql-core/columns/int.js.map +1 -1
  194. package/mysql-core/columns/json.cjs.map +1 -1
  195. package/mysql-core/columns/json.d.cts +1 -0
  196. package/mysql-core/columns/json.d.ts +1 -0
  197. package/mysql-core/columns/json.js.map +1 -1
  198. package/mysql-core/columns/mediumint.cjs.map +1 -1
  199. package/mysql-core/columns/mediumint.d.cts +1 -0
  200. package/mysql-core/columns/mediumint.d.ts +1 -0
  201. package/mysql-core/columns/mediumint.js.map +1 -1
  202. package/mysql-core/columns/real.cjs.map +1 -1
  203. package/mysql-core/columns/real.d.cts +1 -0
  204. package/mysql-core/columns/real.d.ts +1 -0
  205. package/mysql-core/columns/real.js.map +1 -1
  206. package/mysql-core/columns/serial.cjs.map +1 -1
  207. package/mysql-core/columns/serial.d.cts +1 -0
  208. package/mysql-core/columns/serial.d.ts +1 -0
  209. package/mysql-core/columns/serial.js.map +1 -1
  210. package/mysql-core/columns/smallint.cjs.map +1 -1
  211. package/mysql-core/columns/smallint.d.cts +1 -0
  212. package/mysql-core/columns/smallint.d.ts +1 -0
  213. package/mysql-core/columns/smallint.js.map +1 -1
  214. package/mysql-core/columns/text.cjs.map +1 -1
  215. package/mysql-core/columns/text.d.cts +1 -0
  216. package/mysql-core/columns/text.d.ts +1 -0
  217. package/mysql-core/columns/text.js.map +1 -1
  218. package/mysql-core/columns/time.cjs.map +1 -1
  219. package/mysql-core/columns/time.d.cts +1 -0
  220. package/mysql-core/columns/time.d.ts +1 -0
  221. package/mysql-core/columns/time.js.map +1 -1
  222. package/mysql-core/columns/timestamp.cjs.map +1 -1
  223. package/mysql-core/columns/timestamp.d.cts +2 -0
  224. package/mysql-core/columns/timestamp.d.ts +2 -0
  225. package/mysql-core/columns/timestamp.js.map +1 -1
  226. package/mysql-core/columns/tinyint.cjs.map +1 -1
  227. package/mysql-core/columns/tinyint.d.cts +1 -0
  228. package/mysql-core/columns/tinyint.d.ts +1 -0
  229. package/mysql-core/columns/tinyint.js.map +1 -1
  230. package/mysql-core/columns/varbinary.cjs.map +1 -1
  231. package/mysql-core/columns/varbinary.d.cts +1 -0
  232. package/mysql-core/columns/varbinary.d.ts +1 -0
  233. package/mysql-core/columns/varbinary.js.map +1 -1
  234. package/mysql-core/columns/varchar.cjs +1 -1
  235. package/mysql-core/columns/varchar.cjs.map +1 -1
  236. package/mysql-core/columns/varchar.d.cts +2 -1
  237. package/mysql-core/columns/varchar.d.ts +2 -1
  238. package/mysql-core/columns/varchar.js +1 -1
  239. package/mysql-core/columns/varchar.js.map +1 -1
  240. package/mysql-core/columns/year.cjs.map +1 -1
  241. package/mysql-core/columns/year.d.cts +1 -0
  242. package/mysql-core/columns/year.d.ts +1 -0
  243. package/mysql-core/columns/year.js.map +1 -1
  244. package/mysql-core/dialect.cjs +0 -3
  245. package/mysql-core/dialect.cjs.map +1 -1
  246. package/mysql-core/dialect.d.cts +0 -1
  247. package/mysql-core/dialect.d.ts +0 -1
  248. package/mysql-core/dialect.js +0 -3
  249. package/mysql-core/dialect.js.map +1 -1
  250. package/mysql-core/query-builders/insert.cjs.map +1 -1
  251. package/mysql-core/query-builders/insert.d.cts +2 -2
  252. package/mysql-core/query-builders/insert.d.ts +2 -2
  253. package/mysql-core/query-builders/insert.js.map +1 -1
  254. package/mysql-core/query-builders/update.cjs.map +1 -1
  255. package/mysql-core/query-builders/update.d.cts +1 -1
  256. package/mysql-core/query-builders/update.d.ts +1 -1
  257. package/mysql-core/query-builders/update.js.map +1 -1
  258. package/mysql-proxy/driver.cjs +2 -2
  259. package/mysql-proxy/driver.cjs.map +1 -1
  260. package/mysql-proxy/driver.d.cts +1 -2
  261. package/mysql-proxy/driver.d.ts +1 -2
  262. package/mysql-proxy/driver.js +2 -2
  263. package/mysql-proxy/driver.js.map +1 -1
  264. package/node-postgres/session.cjs.map +1 -1
  265. package/node-postgres/session.js.map +1 -1
  266. package/package.json +236 -1591
  267. package/pg-core/columns/bigint.cjs.map +1 -1
  268. package/pg-core/columns/bigint.d.cts +2 -0
  269. package/pg-core/columns/bigint.d.ts +2 -0
  270. package/pg-core/columns/bigint.js.map +1 -1
  271. package/pg-core/columns/bigserial.cjs +0 -1
  272. package/pg-core/columns/bigserial.cjs.map +1 -1
  273. package/pg-core/columns/bigserial.d.cts +2 -0
  274. package/pg-core/columns/bigserial.d.ts +2 -0
  275. package/pg-core/columns/bigserial.js +0 -1
  276. package/pg-core/columns/bigserial.js.map +1 -1
  277. package/pg-core/columns/boolean.cjs.map +1 -1
  278. package/pg-core/columns/boolean.d.cts +1 -0
  279. package/pg-core/columns/boolean.d.ts +1 -0
  280. package/pg-core/columns/boolean.js.map +1 -1
  281. package/pg-core/columns/bytea.cjs.map +1 -1
  282. package/pg-core/columns/bytea.d.cts +1 -0
  283. package/pg-core/columns/bytea.d.ts +1 -0
  284. package/pg-core/columns/bytea.js.map +1 -1
  285. package/pg-core/columns/char.cjs +1 -0
  286. package/pg-core/columns/char.cjs.map +1 -1
  287. package/pg-core/columns/char.d.cts +2 -0
  288. package/pg-core/columns/char.d.ts +2 -0
  289. package/pg-core/columns/char.js +1 -0
  290. package/pg-core/columns/char.js.map +1 -1
  291. package/pg-core/columns/cidr.cjs.map +1 -1
  292. package/pg-core/columns/cidr.d.cts +1 -0
  293. package/pg-core/columns/cidr.d.ts +1 -0
  294. package/pg-core/columns/cidr.js.map +1 -1
  295. package/pg-core/columns/common.cjs +10 -11
  296. package/pg-core/columns/common.cjs.map +1 -1
  297. package/pg-core/columns/common.d.cts +2 -3
  298. package/pg-core/columns/common.d.ts +2 -3
  299. package/pg-core/columns/common.js +10 -11
  300. package/pg-core/columns/common.js.map +1 -1
  301. package/pg-core/columns/custom.cjs.map +1 -1
  302. package/pg-core/columns/custom.d.cts +1 -0
  303. package/pg-core/columns/custom.d.ts +1 -0
  304. package/pg-core/columns/custom.js.map +1 -1
  305. package/pg-core/columns/date.cjs.map +1 -1
  306. package/pg-core/columns/date.d.cts +2 -0
  307. package/pg-core/columns/date.d.ts +2 -0
  308. package/pg-core/columns/date.js.map +1 -1
  309. package/pg-core/columns/double-precision.cjs.map +1 -1
  310. package/pg-core/columns/double-precision.d.cts +1 -0
  311. package/pg-core/columns/double-precision.d.ts +1 -0
  312. package/pg-core/columns/double-precision.js.map +1 -1
  313. package/pg-core/columns/enum.cjs.map +1 -1
  314. package/pg-core/columns/enum.d.cts +2 -0
  315. package/pg-core/columns/enum.d.ts +2 -0
  316. package/pg-core/columns/enum.js.map +1 -1
  317. package/pg-core/columns/inet.cjs.map +1 -1
  318. package/pg-core/columns/inet.d.cts +1 -0
  319. package/pg-core/columns/inet.d.ts +1 -0
  320. package/pg-core/columns/inet.js.map +1 -1
  321. package/pg-core/columns/integer.cjs.map +1 -1
  322. package/pg-core/columns/integer.d.cts +1 -0
  323. package/pg-core/columns/integer.d.ts +1 -0
  324. package/pg-core/columns/integer.js.map +1 -1
  325. package/pg-core/columns/interval.cjs.map +1 -1
  326. package/pg-core/columns/interval.d.cts +1 -0
  327. package/pg-core/columns/interval.d.ts +1 -0
  328. package/pg-core/columns/interval.js.map +1 -1
  329. package/pg-core/columns/json.cjs.map +1 -1
  330. package/pg-core/columns/json.d.cts +1 -0
  331. package/pg-core/columns/json.d.ts +1 -0
  332. package/pg-core/columns/json.js.map +1 -1
  333. package/pg-core/columns/jsonb.cjs.map +1 -1
  334. package/pg-core/columns/jsonb.d.cts +1 -0
  335. package/pg-core/columns/jsonb.d.ts +1 -0
  336. package/pg-core/columns/jsonb.js.map +1 -1
  337. package/pg-core/columns/line.cjs +0 -2
  338. package/pg-core/columns/line.cjs.map +1 -1
  339. package/pg-core/columns/line.d.cts +2 -2
  340. package/pg-core/columns/line.d.ts +2 -2
  341. package/pg-core/columns/line.js +0 -2
  342. package/pg-core/columns/line.js.map +1 -1
  343. package/pg-core/columns/macaddr.cjs.map +1 -1
  344. package/pg-core/columns/macaddr.d.cts +1 -0
  345. package/pg-core/columns/macaddr.d.ts +1 -0
  346. package/pg-core/columns/macaddr.js.map +1 -1
  347. package/pg-core/columns/macaddr8.cjs.map +1 -1
  348. package/pg-core/columns/macaddr8.d.cts +1 -0
  349. package/pg-core/columns/macaddr8.d.ts +1 -0
  350. package/pg-core/columns/macaddr8.js.map +1 -1
  351. package/pg-core/columns/numeric.cjs.map +1 -1
  352. package/pg-core/columns/numeric.d.cts +3 -0
  353. package/pg-core/columns/numeric.d.ts +3 -0
  354. package/pg-core/columns/numeric.js.map +1 -1
  355. package/pg-core/columns/point.cjs +0 -2
  356. package/pg-core/columns/point.cjs.map +1 -1
  357. package/pg-core/columns/point.d.cts +2 -2
  358. package/pg-core/columns/point.d.ts +2 -2
  359. package/pg-core/columns/point.js +0 -2
  360. package/pg-core/columns/point.js.map +1 -1
  361. package/pg-core/columns/postgis_extension/geometry.cjs +8 -14
  362. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  363. package/pg-core/columns/postgis_extension/geometry.d.cts +6 -16
  364. package/pg-core/columns/postgis_extension/geometry.d.ts +6 -16
  365. package/pg-core/columns/postgis_extension/geometry.js +8 -14
  366. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  367. package/pg-core/columns/postgis_extension/utils.cjs +3 -3
  368. package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
  369. package/pg-core/columns/postgis_extension/utils.d.cts +1 -4
  370. package/pg-core/columns/postgis_extension/utils.d.ts +1 -4
  371. package/pg-core/columns/postgis_extension/utils.js +3 -3
  372. package/pg-core/columns/postgis_extension/utils.js.map +1 -1
  373. package/pg-core/columns/real.cjs.map +1 -1
  374. package/pg-core/columns/real.d.cts +1 -0
  375. package/pg-core/columns/real.d.ts +1 -0
  376. package/pg-core/columns/real.js.map +1 -1
  377. package/pg-core/columns/serial.cjs.map +1 -1
  378. package/pg-core/columns/serial.d.cts +1 -0
  379. package/pg-core/columns/serial.d.ts +1 -0
  380. package/pg-core/columns/serial.js.map +1 -1
  381. package/pg-core/columns/smallint.cjs.map +1 -1
  382. package/pg-core/columns/smallint.d.cts +1 -0
  383. package/pg-core/columns/smallint.d.ts +1 -0
  384. package/pg-core/columns/smallint.js.map +1 -1
  385. package/pg-core/columns/smallserial.cjs.map +1 -1
  386. package/pg-core/columns/smallserial.d.cts +1 -0
  387. package/pg-core/columns/smallserial.d.ts +1 -0
  388. package/pg-core/columns/smallserial.js.map +1 -1
  389. package/pg-core/columns/text.cjs.map +1 -1
  390. package/pg-core/columns/text.d.cts +1 -0
  391. package/pg-core/columns/text.d.ts +1 -0
  392. package/pg-core/columns/text.js.map +1 -1
  393. package/pg-core/columns/time.cjs.map +1 -1
  394. package/pg-core/columns/time.d.cts +1 -0
  395. package/pg-core/columns/time.d.ts +1 -0
  396. package/pg-core/columns/time.js.map +1 -1
  397. package/pg-core/columns/timestamp.cjs.map +1 -1
  398. package/pg-core/columns/timestamp.d.cts +2 -0
  399. package/pg-core/columns/timestamp.d.ts +2 -0
  400. package/pg-core/columns/timestamp.js.map +1 -1
  401. package/pg-core/columns/uuid.cjs.map +1 -1
  402. package/pg-core/columns/uuid.d.cts +1 -0
  403. package/pg-core/columns/uuid.d.ts +1 -0
  404. package/pg-core/columns/uuid.js.map +1 -1
  405. package/pg-core/columns/varchar.cjs.map +1 -1
  406. package/pg-core/columns/varchar.d.cts +1 -0
  407. package/pg-core/columns/varchar.d.ts +1 -0
  408. package/pg-core/columns/varchar.js.map +1 -1
  409. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  410. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  411. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  412. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  413. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  414. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  415. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  416. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  417. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  418. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  419. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  420. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  421. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  422. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  423. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  424. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  425. package/pg-core/foreign-keys.cjs +0 -4
  426. package/pg-core/foreign-keys.cjs.map +1 -1
  427. package/pg-core/foreign-keys.d.cts +0 -2
  428. package/pg-core/foreign-keys.d.ts +0 -2
  429. package/pg-core/foreign-keys.js +0 -4
  430. package/pg-core/foreign-keys.js.map +1 -1
  431. package/pg-core/primary-keys.cjs +0 -3
  432. package/pg-core/primary-keys.cjs.map +1 -1
  433. package/pg-core/primary-keys.d.cts +0 -1
  434. package/pg-core/primary-keys.d.ts +0 -1
  435. package/pg-core/primary-keys.js +0 -3
  436. package/pg-core/primary-keys.js.map +1 -1
  437. package/pg-core/query-builders/insert.cjs.map +1 -1
  438. package/pg-core/query-builders/insert.d.cts +9 -6
  439. package/pg-core/query-builders/insert.d.ts +9 -6
  440. package/pg-core/query-builders/insert.js.map +1 -1
  441. package/pg-core/query-builders/update.cjs.map +1 -1
  442. package/pg-core/query-builders/update.d.cts +1 -1
  443. package/pg-core/query-builders/update.d.ts +1 -1
  444. package/pg-core/query-builders/update.js.map +1 -1
  445. package/pg-core/unique-constraint.cjs +0 -5
  446. package/pg-core/unique-constraint.cjs.map +1 -1
  447. package/pg-core/unique-constraint.d.cts +0 -2
  448. package/pg-core/unique-constraint.d.ts +0 -2
  449. package/pg-core/unique-constraint.js +0 -5
  450. package/pg-core/unique-constraint.js.map +1 -1
  451. package/singlestore-core/columns/bigint.cjs.map +1 -1
  452. package/singlestore-core/columns/bigint.d.cts +2 -0
  453. package/singlestore-core/columns/bigint.d.ts +2 -0
  454. package/singlestore-core/columns/bigint.js.map +1 -1
  455. package/singlestore-core/columns/binary.cjs +1 -0
  456. package/singlestore-core/columns/binary.cjs.map +1 -1
  457. package/singlestore-core/columns/binary.d.cts +2 -0
  458. package/singlestore-core/columns/binary.d.ts +2 -0
  459. package/singlestore-core/columns/binary.js +1 -0
  460. package/singlestore-core/columns/binary.js.map +1 -1
  461. package/singlestore-core/columns/boolean.cjs.map +1 -1
  462. package/singlestore-core/columns/boolean.d.cts +1 -0
  463. package/singlestore-core/columns/boolean.d.ts +1 -0
  464. package/singlestore-core/columns/boolean.js.map +1 -1
  465. package/singlestore-core/columns/char.cjs +1 -0
  466. package/singlestore-core/columns/char.cjs.map +1 -1
  467. package/singlestore-core/columns/char.d.cts +2 -0
  468. package/singlestore-core/columns/char.d.ts +2 -0
  469. package/singlestore-core/columns/char.js +1 -0
  470. package/singlestore-core/columns/char.js.map +1 -1
  471. package/singlestore-core/columns/common.cjs.map +1 -1
  472. package/singlestore-core/columns/common.d.cts +1 -1
  473. package/singlestore-core/columns/common.d.ts +1 -1
  474. package/singlestore-core/columns/common.js.map +1 -1
  475. package/singlestore-core/columns/custom.cjs.map +1 -1
  476. package/singlestore-core/columns/custom.d.cts +1 -0
  477. package/singlestore-core/columns/custom.d.ts +1 -0
  478. package/singlestore-core/columns/custom.js.map +1 -1
  479. package/singlestore-core/columns/date.cjs.map +1 -1
  480. package/singlestore-core/columns/date.d.cts +2 -0
  481. package/singlestore-core/columns/date.d.ts +2 -0
  482. package/singlestore-core/columns/date.js.map +1 -1
  483. package/singlestore-core/columns/datetime.cjs.map +1 -1
  484. package/singlestore-core/columns/datetime.d.cts +2 -0
  485. package/singlestore-core/columns/datetime.d.ts +2 -0
  486. package/singlestore-core/columns/datetime.js.map +1 -1
  487. package/singlestore-core/columns/decimal.cjs.map +1 -1
  488. package/singlestore-core/columns/decimal.d.cts +3 -0
  489. package/singlestore-core/columns/decimal.d.ts +3 -0
  490. package/singlestore-core/columns/decimal.js.map +1 -1
  491. package/singlestore-core/columns/double.cjs.map +1 -1
  492. package/singlestore-core/columns/double.d.cts +1 -0
  493. package/singlestore-core/columns/double.d.ts +1 -0
  494. package/singlestore-core/columns/double.js.map +1 -1
  495. package/singlestore-core/columns/enum.cjs.map +1 -1
  496. package/singlestore-core/columns/enum.d.cts +1 -0
  497. package/singlestore-core/columns/enum.d.ts +1 -0
  498. package/singlestore-core/columns/enum.js.map +1 -1
  499. package/singlestore-core/columns/float.cjs.map +1 -1
  500. package/singlestore-core/columns/float.d.cts +1 -0
  501. package/singlestore-core/columns/float.d.ts +1 -0
  502. package/singlestore-core/columns/float.js.map +1 -1
  503. package/singlestore-core/columns/int.cjs.map +1 -1
  504. package/singlestore-core/columns/int.d.cts +1 -0
  505. package/singlestore-core/columns/int.d.ts +1 -0
  506. package/singlestore-core/columns/int.js.map +1 -1
  507. package/singlestore-core/columns/json.cjs.map +1 -1
  508. package/singlestore-core/columns/json.d.cts +1 -0
  509. package/singlestore-core/columns/json.d.ts +1 -0
  510. package/singlestore-core/columns/json.js.map +1 -1
  511. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  512. package/singlestore-core/columns/mediumint.d.cts +1 -0
  513. package/singlestore-core/columns/mediumint.d.ts +1 -0
  514. package/singlestore-core/columns/mediumint.js.map +1 -1
  515. package/singlestore-core/columns/real.cjs.map +1 -1
  516. package/singlestore-core/columns/real.d.cts +1 -0
  517. package/singlestore-core/columns/real.d.ts +1 -0
  518. package/singlestore-core/columns/real.js.map +1 -1
  519. package/singlestore-core/columns/serial.cjs.map +1 -1
  520. package/singlestore-core/columns/serial.d.cts +1 -0
  521. package/singlestore-core/columns/serial.d.ts +1 -0
  522. package/singlestore-core/columns/serial.js.map +1 -1
  523. package/singlestore-core/columns/smallint.cjs.map +1 -1
  524. package/singlestore-core/columns/smallint.d.cts +1 -0
  525. package/singlestore-core/columns/smallint.d.ts +1 -0
  526. package/singlestore-core/columns/smallint.js.map +1 -1
  527. package/singlestore-core/columns/text.cjs.map +1 -1
  528. package/singlestore-core/columns/text.d.cts +1 -0
  529. package/singlestore-core/columns/text.d.ts +1 -0
  530. package/singlestore-core/columns/text.js.map +1 -1
  531. package/singlestore-core/columns/time.cjs.map +1 -1
  532. package/singlestore-core/columns/time.d.cts +1 -0
  533. package/singlestore-core/columns/time.d.ts +1 -0
  534. package/singlestore-core/columns/time.js.map +1 -1
  535. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  536. package/singlestore-core/columns/timestamp.d.cts +2 -0
  537. package/singlestore-core/columns/timestamp.d.ts +2 -0
  538. package/singlestore-core/columns/timestamp.js.map +1 -1
  539. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  540. package/singlestore-core/columns/tinyint.d.cts +1 -0
  541. package/singlestore-core/columns/tinyint.d.ts +1 -0
  542. package/singlestore-core/columns/tinyint.js.map +1 -1
  543. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  544. package/singlestore-core/columns/varbinary.d.cts +1 -0
  545. package/singlestore-core/columns/varbinary.d.ts +1 -0
  546. package/singlestore-core/columns/varbinary.js.map +1 -1
  547. package/singlestore-core/columns/varchar.cjs.map +1 -1
  548. package/singlestore-core/columns/varchar.d.cts +1 -0
  549. package/singlestore-core/columns/varchar.d.ts +1 -0
  550. package/singlestore-core/columns/varchar.js.map +1 -1
  551. package/singlestore-core/columns/vector.cjs.map +1 -1
  552. package/singlestore-core/columns/vector.d.cts +2 -0
  553. package/singlestore-core/columns/vector.d.ts +2 -0
  554. package/singlestore-core/columns/vector.js.map +1 -1
  555. package/singlestore-core/columns/year.cjs.map +1 -1
  556. package/singlestore-core/columns/year.d.cts +1 -0
  557. package/singlestore-core/columns/year.d.ts +1 -0
  558. package/singlestore-core/columns/year.js.map +1 -1
  559. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  560. package/singlestore-core/query-builders/insert.d.cts +1 -1
  561. package/singlestore-core/query-builders/insert.d.ts +1 -1
  562. package/singlestore-core/query-builders/insert.js.map +1 -1
  563. package/singlestore-core/query-builders/update.cjs.map +1 -1
  564. package/singlestore-core/query-builders/update.d.cts +1 -1
  565. package/singlestore-core/query-builders/update.d.ts +1 -1
  566. package/singlestore-core/query-builders/update.js.map +1 -1
  567. package/sql/sql.cjs +3 -10
  568. package/sql/sql.cjs.map +1 -1
  569. package/sql/sql.d.cts +1 -1
  570. package/sql/sql.d.ts +1 -1
  571. package/sql/sql.js +3 -10
  572. package/sql/sql.js.map +1 -1
  573. package/sqlite-core/columns/blob.cjs.map +1 -1
  574. package/sqlite-core/columns/blob.d.cts +3 -0
  575. package/sqlite-core/columns/blob.d.ts +3 -0
  576. package/sqlite-core/columns/blob.js.map +1 -1
  577. package/sqlite-core/columns/custom.cjs.map +1 -1
  578. package/sqlite-core/columns/custom.d.cts +1 -0
  579. package/sqlite-core/columns/custom.d.ts +1 -0
  580. package/sqlite-core/columns/custom.js.map +1 -1
  581. package/sqlite-core/columns/integer.cjs.map +1 -1
  582. package/sqlite-core/columns/integer.d.cts +3 -0
  583. package/sqlite-core/columns/integer.d.ts +3 -0
  584. package/sqlite-core/columns/integer.js.map +1 -1
  585. package/sqlite-core/columns/numeric.cjs.map +1 -1
  586. package/sqlite-core/columns/numeric.d.cts +3 -0
  587. package/sqlite-core/columns/numeric.d.ts +3 -0
  588. package/sqlite-core/columns/numeric.js.map +1 -1
  589. package/sqlite-core/columns/real.cjs.map +1 -1
  590. package/sqlite-core/columns/real.d.cts +1 -0
  591. package/sqlite-core/columns/real.d.ts +1 -0
  592. package/sqlite-core/columns/real.js.map +1 -1
  593. package/sqlite-core/columns/text.cjs.map +1 -1
  594. package/sqlite-core/columns/text.d.cts +2 -0
  595. package/sqlite-core/columns/text.d.ts +2 -0
  596. package/sqlite-core/columns/text.js.map +1 -1
  597. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  598. package/sqlite-core/query-builders/insert.d.cts +2 -2
  599. package/sqlite-core/query-builders/insert.d.ts +2 -2
  600. package/sqlite-core/query-builders/insert.js.map +1 -1
  601. package/sqlite-core/query-builders/update.cjs.map +1 -1
  602. package/sqlite-core/query-builders/update.d.cts +1 -1
  603. package/sqlite-core/query-builders/update.d.ts +1 -1
  604. package/sqlite-core/query-builders/update.js.map +1 -1
  605. package/sqlite-core/session.cjs.map +1 -1
  606. package/sqlite-core/session.d.cts +1 -1
  607. package/sqlite-core/session.d.ts +1 -1
  608. package/sqlite-core/session.js.map +1 -1
  609. package/version.cjs +1 -1
  610. package/version.d.cts +1 -1
  611. package/version.d.ts +1 -1
  612. package/version.js +1 -1
  613. package/cockroach/driver.cjs +0 -113
  614. package/cockroach/driver.cjs.map +0 -1
  615. package/cockroach/driver.d.cts +0 -42
  616. package/cockroach/driver.d.ts +0 -42
  617. package/cockroach/driver.js +0 -77
  618. package/cockroach/driver.js.map +0 -1
  619. package/cockroach/index.cjs.map +0 -1
  620. package/cockroach/index.js.map +0 -1
  621. package/cockroach/migrator.cjs +0 -33
  622. package/cockroach/migrator.cjs.map +0 -1
  623. package/cockroach/migrator.d.cts +0 -3
  624. package/cockroach/migrator.d.ts +0 -3
  625. package/cockroach/migrator.js +0 -9
  626. package/cockroach/migrator.js.map +0 -1
  627. package/cockroach/session.cjs +0 -253
  628. package/cockroach/session.cjs.map +0 -1
  629. package/cockroach/session.d.cts +0 -48
  630. package/cockroach/session.d.ts +0 -48
  631. package/cockroach/session.js +0 -217
  632. package/cockroach/session.js.map +0 -1
  633. package/cockroach-core/alias.cjs +0 -32
  634. package/cockroach-core/alias.cjs.map +0 -1
  635. package/cockroach-core/alias.d.cts +0 -4
  636. package/cockroach-core/alias.d.ts +0 -4
  637. package/cockroach-core/alias.js +0 -8
  638. package/cockroach-core/alias.js.map +0 -1
  639. package/cockroach-core/checks.cjs +0 -58
  640. package/cockroach-core/checks.cjs.map +0 -1
  641. package/cockroach-core/checks.d.cts +0 -18
  642. package/cockroach-core/checks.d.ts +0 -18
  643. package/cockroach-core/checks.js +0 -32
  644. package/cockroach-core/checks.js.map +0 -1
  645. package/cockroach-core/columns/all.cjs +0 -81
  646. package/cockroach-core/columns/all.cjs.map +0 -1
  647. package/cockroach-core/columns/all.d.cts +0 -52
  648. package/cockroach-core/columns/all.d.ts +0 -52
  649. package/cockroach-core/columns/all.js +0 -57
  650. package/cockroach-core/columns/all.js.map +0 -1
  651. package/cockroach-core/columns/bigint.cjs +0 -104
  652. package/cockroach-core/columns/bigint.cjs.map +0 -1
  653. package/cockroach-core/columns/bigint.d.cts +0 -37
  654. package/cockroach-core/columns/bigint.d.ts +0 -37
  655. package/cockroach-core/columns/bigint.js +0 -75
  656. package/cockroach-core/columns/bigint.js.map +0 -1
  657. package/cockroach-core/columns/bit.cjs +0 -61
  658. package/cockroach-core/columns/bit.cjs.map +0 -1
  659. package/cockroach-core/columns/bit.d.cts +0 -29
  660. package/cockroach-core/columns/bit.d.ts +0 -29
  661. package/cockroach-core/columns/bit.js +0 -35
  662. package/cockroach-core/columns/bit.js.map +0 -1
  663. package/cockroach-core/columns/bool.cjs +0 -56
  664. package/cockroach-core/columns/bool.cjs.map +0 -1
  665. package/cockroach-core/columns/bool.d.cts +0 -16
  666. package/cockroach-core/columns/bool.d.ts +0 -16
  667. package/cockroach-core/columns/bool.js +0 -30
  668. package/cockroach-core/columns/bool.js.map +0 -1
  669. package/cockroach-core/columns/char.cjs +0 -62
  670. package/cockroach-core/columns/char.cjs.map +0 -1
  671. package/cockroach-core/columns/char.d.cts +0 -31
  672. package/cockroach-core/columns/char.d.ts +0 -31
  673. package/cockroach-core/columns/char.js +0 -36
  674. package/cockroach-core/columns/char.js.map +0 -1
  675. package/cockroach-core/columns/common.cjs +0 -199
  676. package/cockroach-core/columns/common.cjs.map +0 -1
  677. package/cockroach-core/columns/common.d.cts +0 -98
  678. package/cockroach-core/columns/common.d.ts +0 -98
  679. package/cockroach-core/columns/common.js +0 -169
  680. package/cockroach-core/columns/common.js.map +0 -1
  681. package/cockroach-core/columns/custom.cjs +0 -102
  682. package/cockroach-core/columns/custom.cjs.map +0 -1
  683. package/cockroach-core/columns/custom.d.cts +0 -261
  684. package/cockroach-core/columns/custom.d.ts +0 -261
  685. package/cockroach-core/columns/custom.js +0 -76
  686. package/cockroach-core/columns/custom.js.map +0 -1
  687. package/cockroach-core/columns/date.cjs +0 -91
  688. package/cockroach-core/columns/date.cjs.map +0 -1
  689. package/cockroach-core/columns/date.common.cjs +0 -37
  690. package/cockroach-core/columns/date.common.cjs.map +0 -1
  691. package/cockroach-core/columns/date.common.d.cts +0 -7
  692. package/cockroach-core/columns/date.common.d.ts +0 -7
  693. package/cockroach-core/columns/date.common.js +0 -13
  694. package/cockroach-core/columns/date.common.js.map +0 -1
  695. package/cockroach-core/columns/date.d.cts +0 -36
  696. package/cockroach-core/columns/date.d.ts +0 -36
  697. package/cockroach-core/columns/date.js +0 -63
  698. package/cockroach-core/columns/date.js.map +0 -1
  699. package/cockroach-core/columns/decimal.cjs +0 -164
  700. package/cockroach-core/columns/decimal.cjs.map +0 -1
  701. package/cockroach-core/columns/decimal.d.cts +0 -80
  702. package/cockroach-core/columns/decimal.d.ts +0 -80
  703. package/cockroach-core/columns/decimal.js +0 -133
  704. package/cockroach-core/columns/decimal.js.map +0 -1
  705. package/cockroach-core/columns/enum.cjs +0 -127
  706. package/cockroach-core/columns/enum.cjs.map +0 -1
  707. package/cockroach-core/columns/enum.d.cts +0 -64
  708. package/cockroach-core/columns/enum.d.ts +0 -64
  709. package/cockroach-core/columns/enum.js +0 -96
  710. package/cockroach-core/columns/enum.js.map +0 -1
  711. package/cockroach-core/columns/float.cjs +0 -65
  712. package/cockroach-core/columns/float.cjs.map +0 -1
  713. package/cockroach-core/columns/float.d.cts +0 -18
  714. package/cockroach-core/columns/float.d.ts +0 -18
  715. package/cockroach-core/columns/float.js +0 -38
  716. package/cockroach-core/columns/float.js.map +0 -1
  717. package/cockroach-core/columns/geometry.cjs +0 -98
  718. package/cockroach-core/columns/geometry.cjs.map +0 -1
  719. package/cockroach-core/columns/geometry.d.cts +0 -48
  720. package/cockroach-core/columns/geometry.d.ts +0 -48
  721. package/cockroach-core/columns/geometry.js +0 -70
  722. package/cockroach-core/columns/geometry.js.map +0 -1
  723. package/cockroach-core/columns/index.cjs +0 -71
  724. package/cockroach-core/columns/index.cjs.map +0 -1
  725. package/cockroach-core/columns/index.d.cts +0 -25
  726. package/cockroach-core/columns/index.d.ts +0 -25
  727. package/cockroach-core/columns/index.js +0 -26
  728. package/cockroach-core/columns/index.js.map +0 -1
  729. package/cockroach-core/columns/inet.cjs +0 -56
  730. package/cockroach-core/columns/inet.cjs.map +0 -1
  731. package/cockroach-core/columns/inet.d.cts +0 -16
  732. package/cockroach-core/columns/inet.d.ts +0 -16
  733. package/cockroach-core/columns/inet.js +0 -30
  734. package/cockroach-core/columns/inet.js.map +0 -1
  735. package/cockroach-core/columns/int.common.cjs +0 -55
  736. package/cockroach-core/columns/int.common.cjs.map +0 -1
  737. package/cockroach-core/columns/int.common.d.cts +0 -11
  738. package/cockroach-core/columns/int.common.d.ts +0 -11
  739. package/cockroach-core/columns/int.common.js +0 -31
  740. package/cockroach-core/columns/int.common.js.map +0 -1
  741. package/cockroach-core/columns/integer.cjs +0 -63
  742. package/cockroach-core/columns/integer.cjs.map +0 -1
  743. package/cockroach-core/columns/integer.d.cts +0 -18
  744. package/cockroach-core/columns/integer.d.ts +0 -18
  745. package/cockroach-core/columns/integer.js +0 -37
  746. package/cockroach-core/columns/integer.js.map +0 -1
  747. package/cockroach-core/columns/interval.cjs +0 -63
  748. package/cockroach-core/columns/interval.cjs.map +0 -1
  749. package/cockroach-core/columns/interval.d.cts +0 -28
  750. package/cockroach-core/columns/interval.d.ts +0 -28
  751. package/cockroach-core/columns/interval.js +0 -37
  752. package/cockroach-core/columns/interval.js.map +0 -1
  753. package/cockroach-core/columns/jsonb.cjs +0 -72
  754. package/cockroach-core/columns/jsonb.cjs.map +0 -1
  755. package/cockroach-core/columns/jsonb.d.cts +0 -20
  756. package/cockroach-core/columns/jsonb.d.ts +0 -20
  757. package/cockroach-core/columns/jsonb.js +0 -46
  758. package/cockroach-core/columns/jsonb.js.map +0 -1
  759. package/cockroach-core/columns/real.cjs +0 -66
  760. package/cockroach-core/columns/real.cjs.map +0 -1
  761. package/cockroach-core/columns/real.d.cts +0 -21
  762. package/cockroach-core/columns/real.d.ts +0 -21
  763. package/cockroach-core/columns/real.js +0 -40
  764. package/cockroach-core/columns/real.js.map +0 -1
  765. package/cockroach-core/columns/smallint.cjs +0 -68
  766. package/cockroach-core/columns/smallint.cjs.map +0 -1
  767. package/cockroach-core/columns/smallint.d.cts +0 -19
  768. package/cockroach-core/columns/smallint.d.ts +0 -19
  769. package/cockroach-core/columns/smallint.js +0 -41
  770. package/cockroach-core/columns/smallint.js.map +0 -1
  771. package/cockroach-core/columns/string.cjs +0 -66
  772. package/cockroach-core/columns/string.cjs.map +0 -1
  773. package/cockroach-core/columns/string.d.cts +0 -35
  774. package/cockroach-core/columns/string.d.ts +0 -35
  775. package/cockroach-core/columns/string.js +0 -39
  776. package/cockroach-core/columns/string.js.map +0 -1
  777. package/cockroach-core/columns/time.cjs +0 -70
  778. package/cockroach-core/columns/time.cjs.map +0 -1
  779. package/cockroach-core/columns/time.d.cts +0 -31
  780. package/cockroach-core/columns/time.d.ts +0 -31
  781. package/cockroach-core/columns/time.js +0 -44
  782. package/cockroach-core/columns/time.js.map +0 -1
  783. package/cockroach-core/columns/timestamp.cjs +0 -111
  784. package/cockroach-core/columns/timestamp.cjs.map +0 -1
  785. package/cockroach-core/columns/timestamp.d.cts +0 -52
  786. package/cockroach-core/columns/timestamp.d.ts +0 -52
  787. package/cockroach-core/columns/timestamp.js +0 -83
  788. package/cockroach-core/columns/timestamp.js.map +0 -1
  789. package/cockroach-core/columns/utils.cjs +0 -65
  790. package/cockroach-core/columns/utils.cjs.map +0 -1
  791. package/cockroach-core/columns/utils.d.cts +0 -1
  792. package/cockroach-core/columns/utils.d.ts +0 -1
  793. package/cockroach-core/columns/utils.js +0 -41
  794. package/cockroach-core/columns/utils.js.map +0 -1
  795. package/cockroach-core/columns/uuid.cjs +0 -63
  796. package/cockroach-core/columns/uuid.cjs.map +0 -1
  797. package/cockroach-core/columns/uuid.d.cts +0 -20
  798. package/cockroach-core/columns/uuid.d.ts +0 -20
  799. package/cockroach-core/columns/uuid.js +0 -37
  800. package/cockroach-core/columns/uuid.js.map +0 -1
  801. package/cockroach-core/columns/varbit.cjs +0 -59
  802. package/cockroach-core/columns/varbit.cjs.map +0 -1
  803. package/cockroach-core/columns/varbit.d.cts +0 -24
  804. package/cockroach-core/columns/varbit.d.ts +0 -24
  805. package/cockroach-core/columns/varbit.js +0 -33
  806. package/cockroach-core/columns/varbit.js.map +0 -1
  807. package/cockroach-core/columns/varchar.cjs +0 -61
  808. package/cockroach-core/columns/varchar.cjs.map +0 -1
  809. package/cockroach-core/columns/varchar.d.cts +0 -30
  810. package/cockroach-core/columns/varchar.d.ts +0 -30
  811. package/cockroach-core/columns/varchar.js +0 -35
  812. package/cockroach-core/columns/varchar.js.map +0 -1
  813. package/cockroach-core/columns/vector.cjs +0 -65
  814. package/cockroach-core/columns/vector.cjs.map +0 -1
  815. package/cockroach-core/columns/vector.d.cts +0 -26
  816. package/cockroach-core/columns/vector.d.ts +0 -26
  817. package/cockroach-core/columns/vector.js +0 -39
  818. package/cockroach-core/columns/vector.js.map +0 -1
  819. package/cockroach-core/db.cjs.map +0 -1
  820. package/cockroach-core/db.js.map +0 -1
  821. package/cockroach-core/dialect.cjs +0 -1146
  822. package/cockroach-core/dialect.cjs.map +0 -1
  823. package/cockroach-core/dialect.d.cts +0 -65
  824. package/cockroach-core/dialect.d.ts +0 -65
  825. package/cockroach-core/dialect.js +0 -1126
  826. package/cockroach-core/dialect.js.map +0 -1
  827. package/cockroach-core/expressions.cjs +0 -49
  828. package/cockroach-core/expressions.cjs.map +0 -1
  829. package/cockroach-core/expressions.d.cts +0 -8
  830. package/cockroach-core/expressions.d.ts +0 -8
  831. package/cockroach-core/expressions.js +0 -22
  832. package/cockroach-core/expressions.js.map +0 -1
  833. package/cockroach-core/foreign-keys.cjs +0 -92
  834. package/cockroach-core/foreign-keys.cjs.map +0 -1
  835. package/cockroach-core/foreign-keys.d.cts +0 -52
  836. package/cockroach-core/foreign-keys.d.ts +0 -52
  837. package/cockroach-core/foreign-keys.js +0 -66
  838. package/cockroach-core/foreign-keys.js.map +0 -1
  839. package/cockroach-core/index.cjs +0 -61
  840. package/cockroach-core/index.cjs.map +0 -1
  841. package/cockroach-core/index.d.cts +0 -20
  842. package/cockroach-core/index.d.ts +0 -20
  843. package/cockroach-core/index.js +0 -21
  844. package/cockroach-core/index.js.map +0 -1
  845. package/cockroach-core/indexes.cjs +0 -137
  846. package/cockroach-core/indexes.cjs.map +0 -1
  847. package/cockroach-core/indexes.d.cts +0 -64
  848. package/cockroach-core/indexes.d.ts +0 -64
  849. package/cockroach-core/indexes.js +0 -109
  850. package/cockroach-core/indexes.js.map +0 -1
  851. package/cockroach-core/policies.cjs +0 -58
  852. package/cockroach-core/policies.cjs.map +0 -1
  853. package/cockroach-core/policies.d.cts +0 -24
  854. package/cockroach-core/policies.d.ts +0 -24
  855. package/cockroach-core/policies.js +0 -33
  856. package/cockroach-core/policies.js.map +0 -1
  857. package/cockroach-core/primary-keys.cjs +0 -64
  858. package/cockroach-core/primary-keys.cjs.map +0 -1
  859. package/cockroach-core/primary-keys.d.cts +0 -23
  860. package/cockroach-core/primary-keys.d.ts +0 -23
  861. package/cockroach-core/primary-keys.js +0 -38
  862. package/cockroach-core/primary-keys.js.map +0 -1
  863. package/cockroach-core/query-builders/count.cjs +0 -79
  864. package/cockroach-core/query-builders/count.cjs.map +0 -1
  865. package/cockroach-core/query-builders/count.d.cts +0 -29
  866. package/cockroach-core/query-builders/count.d.ts +0 -29
  867. package/cockroach-core/query-builders/count.js +0 -55
  868. package/cockroach-core/query-builders/count.js.map +0 -1
  869. package/cockroach-core/query-builders/delete.cjs +0 -124
  870. package/cockroach-core/query-builders/delete.cjs.map +0 -1
  871. package/cockroach-core/query-builders/delete.d.cts +0 -103
  872. package/cockroach-core/query-builders/delete.d.ts +0 -103
  873. package/cockroach-core/query-builders/delete.js +0 -100
  874. package/cockroach-core/query-builders/delete.js.map +0 -1
  875. package/cockroach-core/query-builders/index.cjs +0 -35
  876. package/cockroach-core/query-builders/index.cjs.map +0 -1
  877. package/cockroach-core/query-builders/index.d.cts +0 -7
  878. package/cockroach-core/query-builders/index.d.ts +0 -7
  879. package/cockroach-core/query-builders/index.js +0 -8
  880. package/cockroach-core/query-builders/index.js.map +0 -1
  881. package/cockroach-core/query-builders/insert.cjs +0 -213
  882. package/cockroach-core/query-builders/insert.cjs.map +0 -1
  883. package/cockroach-core/query-builders/insert.d.cts +0 -168
  884. package/cockroach-core/query-builders/insert.d.ts +0 -168
  885. package/cockroach-core/query-builders/insert.js +0 -188
  886. package/cockroach-core/query-builders/insert.js.map +0 -1
  887. package/cockroach-core/query-builders/query-builder.cjs +0 -118
  888. package/cockroach-core/query-builders/query-builder.cjs.map +0 -1
  889. package/cockroach-core/query-builders/query-builder.d.cts +0 -37
  890. package/cockroach-core/query-builders/query-builder.d.ts +0 -37
  891. package/cockroach-core/query-builders/query-builder.js +0 -94
  892. package/cockroach-core/query-builders/query-builder.js.map +0 -1
  893. package/cockroach-core/query-builders/query.cjs +0 -145
  894. package/cockroach-core/query-builders/query.cjs.map +0 -1
  895. package/cockroach-core/query-builders/query.d.cts +0 -47
  896. package/cockroach-core/query-builders/query.d.ts +0 -47
  897. package/cockroach-core/query-builders/query.js +0 -122
  898. package/cockroach-core/query-builders/query.js.map +0 -1
  899. package/cockroach-core/query-builders/raw.cjs +0 -57
  900. package/cockroach-core/query-builders/raw.cjs.map +0 -1
  901. package/cockroach-core/query-builders/raw.d.cts +0 -22
  902. package/cockroach-core/query-builders/raw.d.ts +0 -22
  903. package/cockroach-core/query-builders/raw.js +0 -33
  904. package/cockroach-core/query-builders/raw.js.map +0 -1
  905. package/cockroach-core/query-builders/refresh-materialized-view.cjs +0 -83
  906. package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +0 -1
  907. package/cockroach-core/query-builders/refresh-materialized-view.d.cts +0 -28
  908. package/cockroach-core/query-builders/refresh-materialized-view.d.ts +0 -28
  909. package/cockroach-core/query-builders/refresh-materialized-view.js +0 -59
  910. package/cockroach-core/query-builders/refresh-materialized-view.js.map +0 -1
  911. package/cockroach-core/query-builders/select.cjs +0 -848
  912. package/cockroach-core/query-builders/select.cjs.map +0 -1
  913. package/cockroach-core/query-builders/select.d.cts +0 -787
  914. package/cockroach-core/query-builders/select.d.ts +0 -787
  915. package/cockroach-core/query-builders/select.js +0 -821
  916. package/cockroach-core/query-builders/select.js.map +0 -1
  917. package/cockroach-core/query-builders/select.types.cjs +0 -17
  918. package/cockroach-core/query-builders/select.types.cjs.map +0 -1
  919. package/cockroach-core/query-builders/select.types.d.cts +0 -140
  920. package/cockroach-core/query-builders/select.types.d.ts +0 -140
  921. package/cockroach-core/query-builders/select.types.js +0 -1
  922. package/cockroach-core/query-builders/select.types.js.map +0 -1
  923. package/cockroach-core/query-builders/update.cjs +0 -240
  924. package/cockroach-core/query-builders/update.cjs.map +0 -1
  925. package/cockroach-core/query-builders/update.d.cts +0 -170
  926. package/cockroach-core/query-builders/update.d.ts +0 -170
  927. package/cockroach-core/query-builders/update.js +0 -219
  928. package/cockroach-core/query-builders/update.js.map +0 -1
  929. package/cockroach-core/roles.cjs.map +0 -1
  930. package/cockroach-core/roles.d.cts +0 -12
  931. package/cockroach-core/roles.d.ts +0 -12
  932. package/cockroach-core/roles.js +0 -29
  933. package/cockroach-core/roles.js.map +0 -1
  934. package/cockroach-core/schema.cjs +0 -80
  935. package/cockroach-core/schema.cjs.map +0 -1
  936. package/cockroach-core/schema.d.cts +0 -22
  937. package/cockroach-core/schema.d.ts +0 -22
  938. package/cockroach-core/schema.js +0 -60
  939. package/cockroach-core/schema.js.map +0 -1
  940. package/cockroach-core/sequence.cjs +0 -52
  941. package/cockroach-core/sequence.cjs.map +0 -1
  942. package/cockroach-core/sequence.d.cts +0 -17
  943. package/cockroach-core/sequence.d.ts +0 -17
  944. package/cockroach-core/sequence.js +0 -25
  945. package/cockroach-core/sequence.js.map +0 -1
  946. package/cockroach-core/session.cjs +0 -120
  947. package/cockroach-core/session.cjs.map +0 -1
  948. package/cockroach-core/session.d.cts +0 -62
  949. package/cockroach-core/session.d.ts +0 -62
  950. package/cockroach-core/session.js +0 -94
  951. package/cockroach-core/session.js.map +0 -1
  952. package/cockroach-core/subquery.cjs +0 -17
  953. package/cockroach-core/subquery.cjs.map +0 -1
  954. package/cockroach-core/subquery.d.cts +0 -18
  955. package/cockroach-core/subquery.d.ts +0 -18
  956. package/cockroach-core/subquery.js +0 -1
  957. package/cockroach-core/subquery.js.map +0 -1
  958. package/cockroach-core/table.cjs +0 -100
  959. package/cockroach-core/table.cjs.map +0 -1
  960. package/cockroach-core/table.d.cts +0 -37
  961. package/cockroach-core/table.d.ts +0 -37
  962. package/cockroach-core/table.js +0 -73
  963. package/cockroach-core/table.js.map +0 -1
  964. package/cockroach-core/unique-constraint.cjs +0 -77
  965. package/cockroach-core/unique-constraint.cjs.map +0 -1
  966. package/cockroach-core/unique-constraint.d.cts +0 -23
  967. package/cockroach-core/unique-constraint.d.ts +0 -23
  968. package/cockroach-core/unique-constraint.js +0 -50
  969. package/cockroach-core/unique-constraint.js.map +0 -1
  970. package/cockroach-core/utils/array.cjs +0 -106
  971. package/cockroach-core/utils/array.cjs.map +0 -1
  972. package/cockroach-core/utils/array.d.cts +0 -3
  973. package/cockroach-core/utils/array.d.ts +0 -3
  974. package/cockroach-core/utils/array.js +0 -80
  975. package/cockroach-core/utils/array.js.map +0 -1
  976. package/cockroach-core/utils/index.cjs +0 -23
  977. package/cockroach-core/utils/index.cjs.map +0 -1
  978. package/cockroach-core/utils/index.d.cts +0 -1
  979. package/cockroach-core/utils/index.d.ts +0 -1
  980. package/cockroach-core/utils/index.js +0 -2
  981. package/cockroach-core/utils/index.js.map +0 -1
  982. package/cockroach-core/utils.cjs +0 -98
  983. package/cockroach-core/utils.cjs.map +0 -1
  984. package/cockroach-core/utils.d.cts +0 -47
  985. package/cockroach-core/utils.d.ts +0 -47
  986. package/cockroach-core/utils.js +0 -72
  987. package/cockroach-core/utils.js.map +0 -1
  988. package/cockroach-core/view-base.cjs +0 -33
  989. package/cockroach-core/view-base.cjs.map +0 -1
  990. package/cockroach-core/view-base.d.cts +0 -8
  991. package/cockroach-core/view-base.d.ts +0 -8
  992. package/cockroach-core/view-base.js +0 -9
  993. package/cockroach-core/view-base.js.map +0 -1
  994. package/cockroach-core/view.cjs +0 -271
  995. package/cockroach-core/view.cjs.map +0 -1
  996. package/cockroach-core/view.d.cts +0 -106
  997. package/cockroach-core/view.d.ts +0 -106
  998. package/cockroach-core/view.js +0 -233
  999. package/cockroach-core/view.js.map +0 -1
  1000. package/mssql-core/alias.cjs +0 -32
  1001. package/mssql-core/alias.cjs.map +0 -1
  1002. package/mssql-core/alias.d.cts +0 -4
  1003. package/mssql-core/alias.d.ts +0 -4
  1004. package/mssql-core/alias.js +0 -8
  1005. package/mssql-core/alias.js.map +0 -1
  1006. package/mssql-core/checks.cjs +0 -58
  1007. package/mssql-core/checks.cjs.map +0 -1
  1008. package/mssql-core/checks.d.cts +0 -18
  1009. package/mssql-core/checks.d.ts +0 -18
  1010. package/mssql-core/checks.js +0 -32
  1011. package/mssql-core/checks.js.map +0 -1
  1012. package/mssql-core/columns/all.cjs +0 -74
  1013. package/mssql-core/columns/all.cjs.map +0 -1
  1014. package/mssql-core/columns/all.d.cts +0 -45
  1015. package/mssql-core/columns/all.d.ts +0 -45
  1016. package/mssql-core/columns/all.js +0 -50
  1017. package/mssql-core/columns/all.js.map +0 -1
  1018. package/mssql-core/columns/bigint.cjs +0 -72
  1019. package/mssql-core/columns/bigint.cjs.map +0 -1
  1020. package/mssql-core/columns/bigint.d.cts +0 -25
  1021. package/mssql-core/columns/bigint.d.ts +0 -25
  1022. package/mssql-core/columns/bigint.js +0 -46
  1023. package/mssql-core/columns/bigint.js.map +0 -1
  1024. package/mssql-core/columns/binary.cjs +0 -57
  1025. package/mssql-core/columns/binary.cjs.map +0 -1
  1026. package/mssql-core/columns/binary.d.cts +0 -24
  1027. package/mssql-core/columns/binary.d.ts +0 -24
  1028. package/mssql-core/columns/binary.js +0 -31
  1029. package/mssql-core/columns/binary.js.map +0 -1
  1030. package/mssql-core/columns/bit.cjs +0 -54
  1031. package/mssql-core/columns/bit.cjs.map +0 -1
  1032. package/mssql-core/columns/bit.d.cts +0 -17
  1033. package/mssql-core/columns/bit.d.ts +0 -17
  1034. package/mssql-core/columns/bit.js +0 -28
  1035. package/mssql-core/columns/bit.js.map +0 -1
  1036. package/mssql-core/columns/char.cjs +0 -73
  1037. package/mssql-core/columns/char.cjs.map +0 -1
  1038. package/mssql-core/columns/char.d.cts +0 -29
  1039. package/mssql-core/columns/char.d.ts +0 -29
  1040. package/mssql-core/columns/char.js +0 -46
  1041. package/mssql-core/columns/char.js.map +0 -1
  1042. package/mssql-core/columns/common.cjs +0 -112
  1043. package/mssql-core/columns/common.cjs.map +0 -1
  1044. package/mssql-core/columns/common.d.cts +0 -57
  1045. package/mssql-core/columns/common.d.ts +0 -57
  1046. package/mssql-core/columns/common.js +0 -85
  1047. package/mssql-core/columns/common.js.map +0 -1
  1048. package/mssql-core/columns/custom.cjs +0 -105
  1049. package/mssql-core/columns/custom.cjs.map +0 -1
  1050. package/mssql-core/columns/custom.d.cts +0 -261
  1051. package/mssql-core/columns/custom.d.ts +0 -261
  1052. package/mssql-core/columns/custom.js +0 -79
  1053. package/mssql-core/columns/custom.js.map +0 -1
  1054. package/mssql-core/columns/date.cjs +0 -94
  1055. package/mssql-core/columns/date.cjs.map +0 -1
  1056. package/mssql-core/columns/date.common.cjs +0 -37
  1057. package/mssql-core/columns/date.common.cjs.map +0 -1
  1058. package/mssql-core/columns/date.common.d.cts +0 -12
  1059. package/mssql-core/columns/date.common.d.ts +0 -12
  1060. package/mssql-core/columns/date.common.js +0 -13
  1061. package/mssql-core/columns/date.common.js.map +0 -1
  1062. package/mssql-core/columns/date.d.cts +0 -39
  1063. package/mssql-core/columns/date.d.ts +0 -39
  1064. package/mssql-core/columns/date.js +0 -66
  1065. package/mssql-core/columns/date.js.map +0 -1
  1066. package/mssql-core/columns/datetime.cjs +0 -94
  1067. package/mssql-core/columns/datetime.cjs.map +0 -1
  1068. package/mssql-core/columns/datetime.d.cts +0 -38
  1069. package/mssql-core/columns/datetime.d.ts +0 -38
  1070. package/mssql-core/columns/datetime.js +0 -66
  1071. package/mssql-core/columns/datetime.js.map +0 -1
  1072. package/mssql-core/columns/datetime2.cjs +0 -102
  1073. package/mssql-core/columns/datetime2.cjs.map +0 -1
  1074. package/mssql-core/columns/datetime2.d.cts +0 -38
  1075. package/mssql-core/columns/datetime2.d.ts +0 -38
  1076. package/mssql-core/columns/datetime2.js +0 -74
  1077. package/mssql-core/columns/datetime2.js.map +0 -1
  1078. package/mssql-core/columns/datetimeoffset.cjs +0 -102
  1079. package/mssql-core/columns/datetimeoffset.cjs.map +0 -1
  1080. package/mssql-core/columns/datetimeoffset.d.cts +0 -39
  1081. package/mssql-core/columns/datetimeoffset.d.ts +0 -39
  1082. package/mssql-core/columns/datetimeoffset.js +0 -74
  1083. package/mssql-core/columns/datetimeoffset.js.map +0 -1
  1084. package/mssql-core/columns/decimal.cjs +0 -146
  1085. package/mssql-core/columns/decimal.cjs.map +0 -1
  1086. package/mssql-core/columns/decimal.d.cts +0 -58
  1087. package/mssql-core/columns/decimal.d.ts +0 -58
  1088. package/mssql-core/columns/decimal.js +0 -116
  1089. package/mssql-core/columns/decimal.js.map +0 -1
  1090. package/mssql-core/columns/float.cjs +0 -58
  1091. package/mssql-core/columns/float.cjs.map +0 -1
  1092. package/mssql-core/columns/float.d.cts +0 -21
  1093. package/mssql-core/columns/float.d.ts +0 -21
  1094. package/mssql-core/columns/float.js +0 -32
  1095. package/mssql-core/columns/float.js.map +0 -1
  1096. package/mssql-core/columns/index.cjs +0 -63
  1097. package/mssql-core/columns/index.cjs.map +0 -1
  1098. package/mssql-core/columns/index.d.cts +0 -21
  1099. package/mssql-core/columns/index.d.ts +0 -21
  1100. package/mssql-core/columns/index.js +0 -22
  1101. package/mssql-core/columns/index.js.map +0 -1
  1102. package/mssql-core/columns/int.cjs +0 -53
  1103. package/mssql-core/columns/int.cjs.map +0 -1
  1104. package/mssql-core/columns/int.d.cts +0 -16
  1105. package/mssql-core/columns/int.d.ts +0 -16
  1106. package/mssql-core/columns/int.js +0 -27
  1107. package/mssql-core/columns/int.js.map +0 -1
  1108. package/mssql-core/columns/numeric.cjs +0 -146
  1109. package/mssql-core/columns/numeric.cjs.map +0 -1
  1110. package/mssql-core/columns/numeric.d.cts +0 -58
  1111. package/mssql-core/columns/numeric.d.ts +0 -58
  1112. package/mssql-core/columns/numeric.js +0 -116
  1113. package/mssql-core/columns/numeric.js.map +0 -1
  1114. package/mssql-core/columns/real.cjs +0 -53
  1115. package/mssql-core/columns/real.cjs.map +0 -1
  1116. package/mssql-core/columns/real.d.cts +0 -16
  1117. package/mssql-core/columns/real.d.ts +0 -16
  1118. package/mssql-core/columns/real.js +0 -27
  1119. package/mssql-core/columns/real.js.map +0 -1
  1120. package/mssql-core/columns/smallint.cjs +0 -62
  1121. package/mssql-core/columns/smallint.cjs.map +0 -1
  1122. package/mssql-core/columns/smallint.d.cts +0 -17
  1123. package/mssql-core/columns/smallint.d.ts +0 -17
  1124. package/mssql-core/columns/smallint.js +0 -36
  1125. package/mssql-core/columns/smallint.js.map +0 -1
  1126. package/mssql-core/columns/text.cjs +0 -68
  1127. package/mssql-core/columns/text.cjs.map +0 -1
  1128. package/mssql-core/columns/text.d.cts +0 -36
  1129. package/mssql-core/columns/text.d.ts +0 -36
  1130. package/mssql-core/columns/text.js +0 -41
  1131. package/mssql-core/columns/text.js.map +0 -1
  1132. package/mssql-core/columns/time.cjs +0 -90
  1133. package/mssql-core/columns/time.cjs.map +0 -1
  1134. package/mssql-core/columns/time.d.cts +0 -37
  1135. package/mssql-core/columns/time.d.ts +0 -37
  1136. package/mssql-core/columns/time.js +0 -62
  1137. package/mssql-core/columns/time.js.map +0 -1
  1138. package/mssql-core/columns/tinyint.cjs +0 -62
  1139. package/mssql-core/columns/tinyint.cjs.map +0 -1
  1140. package/mssql-core/columns/tinyint.d.cts +0 -17
  1141. package/mssql-core/columns/tinyint.d.ts +0 -17
  1142. package/mssql-core/columns/tinyint.js +0 -36
  1143. package/mssql-core/columns/tinyint.js.map +0 -1
  1144. package/mssql-core/columns/varbinary.cjs +0 -61
  1145. package/mssql-core/columns/varbinary.cjs.map +0 -1
  1146. package/mssql-core/columns/varbinary.d.cts +0 -23
  1147. package/mssql-core/columns/varbinary.d.ts +0 -23
  1148. package/mssql-core/columns/varbinary.js +0 -35
  1149. package/mssql-core/columns/varbinary.js.map +0 -1
  1150. package/mssql-core/columns/varchar.cjs +0 -117
  1151. package/mssql-core/columns/varchar.cjs.map +0 -1
  1152. package/mssql-core/columns/varchar.d.cts +0 -59
  1153. package/mssql-core/columns/varchar.d.ts +0 -59
  1154. package/mssql-core/columns/varchar.js +0 -88
  1155. package/mssql-core/columns/varchar.js.map +0 -1
  1156. package/mssql-core/db.cjs +0 -254
  1157. package/mssql-core/db.cjs.map +0 -1
  1158. package/mssql-core/db.d.cts +0 -228
  1159. package/mssql-core/db.d.ts +0 -228
  1160. package/mssql-core/db.js +0 -235
  1161. package/mssql-core/db.js.map +0 -1
  1162. package/mssql-core/dialect.cjs +0 -633
  1163. package/mssql-core/dialect.cjs.map +0 -1
  1164. package/mssql-core/dialect.d.cts +0 -58
  1165. package/mssql-core/dialect.d.ts +0 -58
  1166. package/mssql-core/dialect.js +0 -599
  1167. package/mssql-core/dialect.js.map +0 -1
  1168. package/mssql-core/expressions.cjs +0 -49
  1169. package/mssql-core/expressions.cjs.map +0 -1
  1170. package/mssql-core/expressions.d.cts +0 -8
  1171. package/mssql-core/expressions.d.ts +0 -8
  1172. package/mssql-core/expressions.js +0 -22
  1173. package/mssql-core/expressions.js.map +0 -1
  1174. package/mssql-core/foreign-keys.cjs +0 -91
  1175. package/mssql-core/foreign-keys.cjs.map +0 -1
  1176. package/mssql-core/foreign-keys.d.cts +0 -51
  1177. package/mssql-core/foreign-keys.d.ts +0 -51
  1178. package/mssql-core/foreign-keys.js +0 -65
  1179. package/mssql-core/foreign-keys.js.map +0 -1
  1180. package/mssql-core/index.cjs +0 -55
  1181. package/mssql-core/index.cjs.map +0 -1
  1182. package/mssql-core/index.d.cts +0 -17
  1183. package/mssql-core/index.d.ts +0 -17
  1184. package/mssql-core/index.js +0 -18
  1185. package/mssql-core/index.js.map +0 -1
  1186. package/mssql-core/indexes.cjs +0 -80
  1187. package/mssql-core/indexes.cjs.map +0 -1
  1188. package/mssql-core/indexes.d.cts +0 -49
  1189. package/mssql-core/indexes.d.ts +0 -49
  1190. package/mssql-core/indexes.js +0 -52
  1191. package/mssql-core/indexes.js.map +0 -1
  1192. package/mssql-core/primary-keys.cjs +0 -64
  1193. package/mssql-core/primary-keys.cjs.map +0 -1
  1194. package/mssql-core/primary-keys.d.cts +0 -23
  1195. package/mssql-core/primary-keys.d.ts +0 -23
  1196. package/mssql-core/primary-keys.js +0 -38
  1197. package/mssql-core/primary-keys.js.map +0 -1
  1198. package/mssql-core/query-builders/delete.cjs +0 -107
  1199. package/mssql-core/query-builders/delete.cjs.map +0 -1
  1200. package/mssql-core/query-builders/delete.d.cts +0 -98
  1201. package/mssql-core/query-builders/delete.d.ts +0 -98
  1202. package/mssql-core/query-builders/delete.js +0 -83
  1203. package/mssql-core/query-builders/delete.js.map +0 -1
  1204. package/mssql-core/query-builders/index.cjs +0 -33
  1205. package/mssql-core/query-builders/index.cjs.map +0 -1
  1206. package/mssql-core/query-builders/index.d.cts +0 -6
  1207. package/mssql-core/query-builders/index.d.ts +0 -6
  1208. package/mssql-core/query-builders/index.js +0 -7
  1209. package/mssql-core/query-builders/index.js.map +0 -1
  1210. package/mssql-core/query-builders/insert.cjs +0 -105
  1211. package/mssql-core/query-builders/insert.cjs.map +0 -1
  1212. package/mssql-core/query-builders/insert.d.cts +0 -79
  1213. package/mssql-core/query-builders/insert.d.ts +0 -79
  1214. package/mssql-core/query-builders/insert.js +0 -80
  1215. package/mssql-core/query-builders/insert.js.map +0 -1
  1216. package/mssql-core/query-builders/query-builder.cjs +0 -95
  1217. package/mssql-core/query-builders/query-builder.cjs.map +0 -1
  1218. package/mssql-core/query-builders/query-builder.d.cts +0 -32
  1219. package/mssql-core/query-builders/query-builder.d.ts +0 -32
  1220. package/mssql-core/query-builders/query-builder.js +0 -71
  1221. package/mssql-core/query-builders/query-builder.js.map +0 -1
  1222. package/mssql-core/query-builders/query.cjs +0 -126
  1223. package/mssql-core/query-builders/query.cjs.map +0 -1
  1224. package/mssql-core/query-builders/query.d.cts +0 -42
  1225. package/mssql-core/query-builders/query.d.ts +0 -42
  1226. package/mssql-core/query-builders/query.js +0 -103
  1227. package/mssql-core/query-builders/query.js.map +0 -1
  1228. package/mssql-core/query-builders/select.cjs +0 -679
  1229. package/mssql-core/query-builders/select.cjs.map +0 -1
  1230. package/mssql-core/query-builders/select.d.cts +0 -549
  1231. package/mssql-core/query-builders/select.d.ts +0 -549
  1232. package/mssql-core/query-builders/select.js +0 -649
  1233. package/mssql-core/query-builders/select.js.map +0 -1
  1234. package/mssql-core/query-builders/select.types.cjs +0 -17
  1235. package/mssql-core/query-builders/select.types.cjs.map +0 -1
  1236. package/mssql-core/query-builders/select.types.d.cts +0 -142
  1237. package/mssql-core/query-builders/select.types.d.ts +0 -142
  1238. package/mssql-core/query-builders/select.types.js +0 -1
  1239. package/mssql-core/query-builders/select.types.js.map +0 -1
  1240. package/mssql-core/query-builders/update.cjs +0 -138
  1241. package/mssql-core/query-builders/update.cjs.map +0 -1
  1242. package/mssql-core/query-builders/update.d.cts +0 -142
  1243. package/mssql-core/query-builders/update.d.ts +0 -142
  1244. package/mssql-core/query-builders/update.js +0 -113
  1245. package/mssql-core/query-builders/update.js.map +0 -1
  1246. package/mssql-core/schema.cjs +0 -51
  1247. package/mssql-core/schema.cjs.map +0 -1
  1248. package/mssql-core/schema.d.cts +0 -22
  1249. package/mssql-core/schema.d.ts +0 -22
  1250. package/mssql-core/schema.js +0 -25
  1251. package/mssql-core/schema.js.map +0 -1
  1252. package/mssql-core/session.cjs +0 -74
  1253. package/mssql-core/session.cjs.map +0 -1
  1254. package/mssql-core/session.d.cts +0 -63
  1255. package/mssql-core/session.d.ts +0 -63
  1256. package/mssql-core/session.js +0 -48
  1257. package/mssql-core/session.js.map +0 -1
  1258. package/mssql-core/subquery.cjs +0 -17
  1259. package/mssql-core/subquery.cjs.map +0 -1
  1260. package/mssql-core/subquery.d.cts +0 -18
  1261. package/mssql-core/subquery.d.ts +0 -18
  1262. package/mssql-core/subquery.js +0 -1
  1263. package/mssql-core/subquery.js.map +0 -1
  1264. package/mssql-core/table.cjs +0 -81
  1265. package/mssql-core/table.cjs.map +0 -1
  1266. package/mssql-core/table.d.cts +0 -40
  1267. package/mssql-core/table.d.ts +0 -40
  1268. package/mssql-core/table.js +0 -55
  1269. package/mssql-core/table.js.map +0 -1
  1270. package/mssql-core/unique-constraint.cjs +0 -76
  1271. package/mssql-core/unique-constraint.cjs.map +0 -1
  1272. package/mssql-core/unique-constraint.d.cts +0 -23
  1273. package/mssql-core/unique-constraint.d.ts +0 -23
  1274. package/mssql-core/unique-constraint.js +0 -49
  1275. package/mssql-core/unique-constraint.js.map +0 -1
  1276. package/mssql-core/utils.cjs +0 -85
  1277. package/mssql-core/utils.cjs.map +0 -1
  1278. package/mssql-core/utils.d.cts +0 -31
  1279. package/mssql-core/utils.d.ts +0 -31
  1280. package/mssql-core/utils.js +0 -60
  1281. package/mssql-core/utils.js.map +0 -1
  1282. package/mssql-core/view-base.cjs +0 -33
  1283. package/mssql-core/view-base.cjs.map +0 -1
  1284. package/mssql-core/view-base.d.cts +0 -9
  1285. package/mssql-core/view-base.d.ts +0 -9
  1286. package/mssql-core/view-base.js +0 -9
  1287. package/mssql-core/view-base.js.map +0 -1
  1288. package/mssql-core/view-common.cjs +0 -29
  1289. package/mssql-core/view-common.cjs.map +0 -1
  1290. package/mssql-core/view-common.d.cts +0 -1
  1291. package/mssql-core/view-common.d.ts +0 -1
  1292. package/mssql-core/view-common.js +0 -5
  1293. package/mssql-core/view-common.js.map +0 -1
  1294. package/mssql-core/view.cjs +0 -154
  1295. package/mssql-core/view.cjs.map +0 -1
  1296. package/mssql-core/view.d.cts +0 -63
  1297. package/mssql-core/view.d.ts +0 -63
  1298. package/mssql-core/view.js +0 -125
  1299. package/mssql-core/view.js.map +0 -1
  1300. package/node-mssql/driver.cjs +0 -117
  1301. package/node-mssql/driver.cjs.map +0 -1
  1302. package/node-mssql/driver.d.cts +0 -46
  1303. package/node-mssql/driver.d.ts +0 -46
  1304. package/node-mssql/driver.js +0 -81
  1305. package/node-mssql/driver.js.map +0 -1
  1306. package/node-mssql/index.cjs +0 -25
  1307. package/node-mssql/index.cjs.map +0 -1
  1308. package/node-mssql/index.d.cts +0 -2
  1309. package/node-mssql/index.d.ts +0 -2
  1310. package/node-mssql/index.js +0 -3
  1311. package/node-mssql/index.js.map +0 -1
  1312. package/node-mssql/migrator.cjs +0 -33
  1313. package/node-mssql/migrator.cjs.map +0 -1
  1314. package/node-mssql/migrator.d.cts +0 -3
  1315. package/node-mssql/migrator.d.ts +0 -3
  1316. package/node-mssql/migrator.js +0 -9
  1317. package/node-mssql/migrator.js.map +0 -1
  1318. package/node-mssql/pool.cjs.map +0 -1
  1319. package/node-mssql/pool.d.cts +0 -8
  1320. package/node-mssql/pool.d.ts +0 -8
  1321. package/node-mssql/pool.js +0 -20
  1322. package/node-mssql/pool.js.map +0 -1
  1323. package/node-mssql/session.cjs +0 -256
  1324. package/node-mssql/session.cjs.map +0 -1
  1325. package/node-mssql/session.d.cts +0 -48
  1326. package/node-mssql/session.d.ts +0 -48
  1327. package/node-mssql/session.js +0 -224
  1328. package/node-mssql/session.js.map +0 -1
  1329. /package/{cockroach → effect/sqlite}/index.d.cts +0 -0
  1330. /package/{cockroach → effect/sqlite}/index.d.ts +0 -0
  1331. /package/{cockroach → effect/sqlite}/index.js +0 -0
@@ -29,7 +29,7 @@ export interface SingleStoreColumnWithAutoIncrementConfig {
29
29
  }
30
30
  export declare abstract class SingleStoreColumnBuilderWithAutoIncrement<T extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>, TRuntimeConfig extends object = object, TExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig> extends SingleStoreColumnBuilder<T, TRuntimeConfig & SingleStoreColumnWithAutoIncrementConfig, TExtraConfig> {
31
31
  static readonly [entityKind]: string;
32
- constructor(name: string, dataType: T['dataType'], columnType: string);
32
+ constructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: string);
33
33
  autoincrement(): IsAutoincrement<HasDefault<this>>;
34
34
  }
35
35
  export declare abstract class SingleStoreColumnWithAutoIncrement<T extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>, TRuntimeConfig extends object = object> extends SingleStoreColumn<T, SingleStoreColumnWithAutoIncrementConfig & TRuntimeConfig> {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport type SingleStoreColumns = Record<string, SingleStoreColumn<any>>;\n\nexport interface SingleStoreGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class SingleStoreColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumnBuilder';\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\t// TODO: Implement generated columns for SingleStore (https://docs.singlestore.com/cloud/create-a-database/using-persistent-computed-columns/)\n\tgeneratedAlwaysAs(\n\t\tas: SQL | (() => SQL) | this['_']['data'],\n\t\tconfig?: SingleStoreGeneratedColumnConfig,\n\t): HasGenerated<this, { type: 'always' }> {\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\tabstract build(table: SingleStoreTable): SingleStoreColumn;\n}\n\n// To understand how to use `SingleStoreColumn` and `AnySingleStoreColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class SingleStoreColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumn';\n\n\t/** @internal */\n\toverride readonly table: SingleStoreTable;\n\n\tconstructor(\n\t\ttable: SingleStoreTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type AnySingleStoreColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = SingleStoreColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport interface SingleStoreColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class SingleStoreColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends SingleStoreColumnBuilder<T, TRuntimeConfig & SingleStoreColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: string, dataType: T['dataType'], columnType: string) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): IsAutoincrement<HasDefault<this>> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as IsAutoincrement<HasDefault<this>>;\n\t}\n}\n\nexport abstract class SingleStoreColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends SingleStoreColumn<T, SingleStoreColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AASA,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAI3B,SAAS,qBAAqB;AAQvB,MAAe,iCAMZ,cAA+C;AAAA,EACxD,QAA0B,UAAU,IAAY;AAAA,EAEhD,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,kBACC,IACA,QACyC;AACzC,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAID;AAGO,MAAe,0BAGZ,OAA0B;AAAA,EACnC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAUO,MAAe,kDAIZ,yBAAqG;AAAA,EAC9G,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,UAAyB,YAAoB;AACtE,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAmD;AAClD,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,2CAGZ,kBAAgF;AAAA,EACzF,QAA0B,UAAU,IAAY;AAAA,EAEvC,gBAAyB,KAAK,OAAO;AAC/C;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnType,\n\tHasDefault,\n\tHasGenerated,\n\tIsAutoincrement,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport type SingleStoreColumns = Record<string, SingleStoreColumn<any>>;\n\nexport interface SingleStoreGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class SingleStoreColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumnBuilder';\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\t// TODO: Implement generated columns for SingleStore (https://docs.singlestore.com/cloud/create-a-database/using-persistent-computed-columns/)\n\tgeneratedAlwaysAs(\n\t\tas: SQL | (() => SQL) | this['_']['data'],\n\t\tconfig?: SingleStoreGeneratedColumnConfig,\n\t): HasGenerated<this, { type: 'always' }> {\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\tabstract build(table: SingleStoreTable): SingleStoreColumn;\n}\n\n// To understand how to use `SingleStoreColumn` and `AnySingleStoreColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class SingleStoreColumn<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = {},\n> extends Column<T, TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumn';\n\n\t/** @internal */\n\toverride readonly table: SingleStoreTable;\n\n\tconstructor(\n\t\ttable: SingleStoreTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data']> & TRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t\tthis.table = table;\n\t}\n}\n\nexport type AnySingleStoreColumn<TPartial extends Partial<ColumnBaseConfig<ColumnType>> = {}> = SingleStoreColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnType>, TPartial>>\n>;\n\nexport interface SingleStoreColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class SingleStoreColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnType> = ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends SingleStoreColumnBuilder<T, TRuntimeConfig & SingleStoreColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: string) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): IsAutoincrement<HasDefault<this>> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as IsAutoincrement<HasDefault<this>>;\n\t}\n}\n\nexport abstract class SingleStoreColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnType> = ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends SingleStoreColumn<T, SingleStoreColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AASA,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAI3B,SAAS,qBAAqB;AAQvB,MAAe,iCAMZ,cAA+C;AAAA,EACxD,QAA0B,UAAU,IAAY;AAAA,EAEhD,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,kBACC,IACA,QACyC;AACzC,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAID;AAGO,MAAe,0BAGZ,OAA0B;AAAA,EACnC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAG9B;AAAA,EAElB,YACC,OACA,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AACnB,SAAK,QAAQ;AAAA,EACd;AACD;AAUO,MAAe,kDAIZ,yBAAqG;AAAA,EAC9G,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAA8B,UAAyB,YAAoB;AACtF,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAmD;AAClD,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,2CAGZ,kBAAgF;AAAA,EACzF,QAA0B,UAAU,IAAY;AAAA,EAEvC,gBAAyB,KAAK,OAAO;AAC/C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SingleStoreCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SingleStoreCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'SingleStoreCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreCustomColumn<T extends ColumnBaseConfig<'custom'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary':\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom singlestore 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): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t(): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new SingleStoreCustomColumnBuilder(name, config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAA4D;AAerD,MAAM,uCACJ,uCAOT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,yBAAyB;AAC/C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,gCAAsE,gCAAqB;AAAA,EACvG,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC4D;AAC5D,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,+BAA+B,MAAM,QAAQ,gBAAgB;AAAA,EACzE;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: string;\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SingleStoreCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SingleStoreCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'SingleStoreCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreCustomColumn<T extends ColumnBaseConfig<'custom'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary':\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom singlestore 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): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t(): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new SingleStoreCustomColumnBuilder(name as ConvertCustomConfig<T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAA4D;AAgBrD,MAAM,uCACJ,uCAOT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,yBAAyB;AAC/C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,gCAAsE,gCAAqB;AAAA,EACvG,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC4D;AAC5D,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,+BAA+B,MAAwC,QAAQ,gBAAgB;AAAA,EAC3G;AACD;","names":[]}
@@ -6,6 +6,7 @@ import type { SQL, SQLGenerator } from "../../sql/sql.cjs";
6
6
  import { type Equal } from "../../utils.cjs";
7
7
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.cjs";
8
8
  export type ConvertCustomConfig<T extends Partial<CustomTypeValues>> = {
9
+ name: string;
9
10
  dataType: 'custom';
10
11
  data: T['data'];
11
12
  driverParam: T['driverData'];
@@ -6,6 +6,7 @@ import type { SQL, SQLGenerator } from "../../sql/sql.js";
6
6
  import { type Equal } from "../../utils.js";
7
7
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.js";
8
8
  export type ConvertCustomConfig<T extends Partial<CustomTypeValues>> = {
9
+ name: string;
9
10
  dataType: 'custom';
10
11
  data: T['data'];
11
12
  driverParam: T['driverData'];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SingleStoreCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SingleStoreCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'SingleStoreCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreCustomColumn<T extends ColumnBaseConfig<'custom'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary':\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom singlestore 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): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t(): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new SingleStoreCustomColumnBuilder(name, config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,mBAAmB,gCAAgC;AAerD,MAAM,uCACJ,yBAOT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,yBAAyB;AAC/C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,gCAAsE,kBAAqB;AAAA,EACvG,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC4D;AAC5D,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,+BAA+B,MAAM,QAAQ,gBAAgB;AAAA,EACzE;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL, SQLGenerator } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: string;\n\t\tdataType: 'custom';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SingleStoreCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SingleStoreCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'SingleStoreCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreCustomColumn(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreCustomColumn<T extends ColumnBaseConfig<'custom'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\tprivate mapJson?: (value: unknown) => T['data'];\n\tprivate forJsonSelect?: (name: SQL, sql: SQLGenerator) => SQL;\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t\tthis.mapJson = config.customTypeParams.fromJson;\n\t\tthis.forJsonSelect = config.customTypeParams.forJsonSelect;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\tmapFromJsonValue(value: unknown): T['data'] {\n\t\treturn typeof this.mapJson === 'function' ? this.mapJson(value) : this.mapFromDriverValue(value) as T['data'];\n\t}\n\n\tjsonSelectIdentifier(identifier: SQL, sql: SQLGenerator): SQL {\n\t\tif (typeof this.forJsonSelect === 'function') return this.forJsonSelect(identifier, sql);\n\n\t\tconst rawType = this.getSQLType().toLowerCase();\n\t\tconst parenPos = rawType.indexOf('(');\n\t\tconst type = (parenPos + 1) ? rawType.slice(0, parenPos) : rawType;\n\n\t\tswitch (type) {\n\t\t\tcase 'binary':\n\t\t\tcase 'varbinary':\n\t\t\tcase 'time':\n\t\t\tcase 'datetime':\n\t\t\tcase 'decimal':\n\t\t\tcase 'float':\n\t\t\tcase 'bigint': {\n\t\t\t\treturn sql`cast(${identifier} as char)`;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn identifier;\n\t\t\t}\n\t\t}\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport interface CustomTypeValues {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is returning for specific database data type\n\t *\n\t * Needed only in case driver's output and input for type differ\n\t *\n\t * Defaults to {@link driverData}\n\t */\n\tdriverOutput?: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * Type helper, that represents what type field returns after being aggregated to JSON\n\t */\n\tjsonData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n}\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, that is used to transform inputs from desired to be used in code format to one suitable for driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by driver to desired column's output format\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * }\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"2025-04-07 03:25:16.635\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: new Date(\"2025-04-07 03:25:16.635\");\n\t * }\n\t * ```\n\t */\n\tfromDriver?: (value: 'driverOutput' extends keyof T ? T['driverOutput'] : T['driverData']) => T['data'];\n\n\t/**\n\t * Optional mapping function, that is used for transforming data returned by transofmed to JSON in database data to desired format\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Defaults to {@link fromDriver} function\n\t * @example\n\t * For example, when querying bigint column via [RQB](https://orm.drizzle.team/docs/rqb-v2) or [JSON functions](https://orm.drizzle.team/docs/json-functions), the result field will be returned as it's string representation, as opposed to bigint from regular query\n\t * To handle that, we need a separate function to handle such field's mapping:\n\t * ```\n\t * fromJson(value: string): bigint {\n\t * \treturn BigInt(value);\n\t * },\n\t * ```\n\t *\n\t * It'll cause the returned data to change from:\n\t * ```\n\t * {\n\t * \tcustomField: \"5044565289845416380\";\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tcustomField: 5044565289845416380n;\n\t * }\n\t * ```\n\t */\n\tfromJson?: (value: T['jsonData']) => T['data'];\n\n\t/**\n\t * Optional selection modifier function, that is used for modifying selection of column inside [JSON functions](https://orm.drizzle.team/docs/json-functions)\n\t *\n\t * Additional mapping that could be required for such scenarios can be handled using {@link fromJson} function\n\t *\n\t * Used by [relational queries](https://orm.drizzle.team/docs/rqb-v2)\n\t *\n\t * Following types are being casted to text by default: `binary`, `varbinary`, `time`, `datetime`, `decimal`, `float`, `bigint`\n\t * @example\n\t * For example, when using bigint we need to cast field to text to preserve data integrity\n\t * ```\n\t * forJsonSelect(identifier: SQL, sql: SQLGenerator): SQL {\n\t * \treturn sql`cast(${identifier} as char)`\n\t * },\n\t * ```\n\t *\n\t * This will change query from:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\t`table`.`custom_bigint` AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t * to:\n\t * ```\n\t * SELECT\n\t * \tjson_build_object('bigint', `t`.`bigint`)\n\t * \tFROM\n\t * \t(\n\t * \t\tSELECT\n\t * \t\tcast(`table`.`custom_bigint` as char) AS `bigint`\n\t * \t\tFROM\n\t * \t\t`table`\n\t * \t) AS `t`\n\t * ```\n\t *\n\t * Returned by query object will change from:\n\t * ```\n\t * {\n\t * \tbigint: 5044565289845416000; // Partial data loss due to direct conversion to JSON format\n\t * }\n\t * ```\n\t * to:\n\t * ```\n\t * {\n\t * \tbigint: \"5044565289845416380\"; // Data is preserved due to conversion of field to text before JSON-ification\n\t * }\n\t * ```\n\t */\n\tforJsonSelect?: (identifier: SQL, sql: SQLGenerator) => SQL;\n}\n\n/**\n * Custom singlestore 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): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n\t: {\n\t\t(): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t\t(\n\t\t\tdbname: string,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>>;\n\t}\n{\n\treturn (\n\t\ta?: string | T['config'],\n\t\tb?: T['config'],\n\t): SingleStoreCustomColumnBuilder<ConvertCustomConfig<T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new SingleStoreCustomColumnBuilder(name as ConvertCustomConfig<T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,mBAAmB,gCAAgC;AAgBrD,MAAM,uCACJ,yBAOT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,yBAAyB;AAC/C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,gCAAsE,kBAAqB;AAAA,EACvG,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,UAAU,OAAO,iBAAiB;AACvC,SAAK,gBAAgB,OAAO,iBAAiB;AAAA,EAC9C;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,iBAAiB,OAA2B;AAC3C,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI,KAAK,mBAAmB,KAAK;AAAA,EAChG;AAAA,EAEA,qBAAqB,YAAiB,KAAwB;AAC7D,QAAI,OAAO,KAAK,kBAAkB,WAAY,QAAO,KAAK,cAAc,YAAY,GAAG;AAEvF,UAAM,UAAU,KAAK,WAAW,EAAE,YAAY;AAC9C,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,UAAM,OAAQ,WAAW,IAAK,QAAQ,MAAM,GAAG,QAAQ,IAAI;AAE3D,YAAQ,MAAM;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,UAAU;AACd,eAAO,WAAW,UAAU;AAAA,MAC7B;AAAA,MACA,SAAS;AACR,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAoOO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC4D;AAC5D,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,+BAA+B,MAAwC,QAAQ,gBAAgB;AAAA,EAC3G;AACD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport class SingleStoreDateBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDate(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDate<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDate';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class SingleStoreDateStringBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'SingleStoreDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateString<T extends ColumnBaseConfig<'string date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface SingleStoreDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder : SingleStoreDateBuilder;\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder\n\t: SingleStoreDateBuilder;\nexport function date(a?: string | SingleStoreDateConfig, b?: SingleStoreDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateStringBuilder(name);\n\t}\n\treturn new SingleStoreDateBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAA4D;AAErD,MAAM,+BAA+B,uCAIzC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,gCAAqB;AAAA,EACpG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,qCAAqC,uCAI/C;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,uBAAuB;AAAA,EACnD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BAAyE,gCAAqB;AAAA,EAC1G,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,GAAoC,GAA2B;AACnF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0D,GAAG,CAAC;AACvF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,6BAA6B,IAAI;AAAA,EAC7C;AACA,SAAO,IAAI,uBAAuB,IAAI;AACvC;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport class SingleStoreDateBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDate(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDate<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDate';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class SingleStoreDateStringBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'SingleStoreDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateString<T extends ColumnBaseConfig<'string date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface SingleStoreDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder : SingleStoreDateBuilder;\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder\n\t: SingleStoreDateBuilder;\nexport function date(a?: string | SingleStoreDateConfig, b?: SingleStoreDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateStringBuilder(name);\n\t}\n\treturn new SingleStoreDateBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAA4D;AAErD,MAAM,+BAA+B,uCAKzC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,gCAAqB;AAAA,EACpG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,qCAAqC,uCAK/C;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,uBAAuB;AAAA,EACnD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BAAyE,gCAAqB;AAAA,EAC1G,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,GAAoC,GAA2B;AACnF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0D,GAAG,CAAC;AACvF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,6BAA6B,IAAI;AAAA,EAC7C;AACA,SAAO,IAAI,uBAAuB,IAAI;AACvC;","names":[]}
@@ -4,6 +4,7 @@ import type { AnySingleStoreTable } from "../table.cjs";
4
4
  import { type Equal } from "../../utils.cjs";
5
5
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.cjs";
6
6
  export declare class SingleStoreDateBuilder extends SingleStoreColumnBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string | number;
@@ -20,6 +21,7 @@ export declare class SingleStoreDate<T extends ColumnBaseConfig<'object date'>>
20
21
  mapFromDriverValue(value: string): Date;
21
22
  }
22
23
  export declare class SingleStoreDateStringBuilder extends SingleStoreColumnBuilder<{
24
+ name: string;
23
25
  dataType: 'string date';
24
26
  data: string;
25
27
  driverParam: string | number;
@@ -4,6 +4,7 @@ import type { AnySingleStoreTable } from "../table.js";
4
4
  import { type Equal } from "../../utils.js";
5
5
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.js";
6
6
  export declare class SingleStoreDateBuilder extends SingleStoreColumnBuilder<{
7
+ name: string;
7
8
  dataType: 'object date';
8
9
  data: Date;
9
10
  driverParam: string | number;
@@ -20,6 +21,7 @@ export declare class SingleStoreDate<T extends ColumnBaseConfig<'object date'>>
20
21
  mapFromDriverValue(value: string): Date;
21
22
  }
22
23
  export declare class SingleStoreDateStringBuilder extends SingleStoreColumnBuilder<{
24
+ name: string;
23
25
  dataType: 'string date';
24
26
  data: string;
25
27
  driverParam: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport class SingleStoreDateBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDate(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDate<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDate';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class SingleStoreDateStringBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'SingleStoreDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateString<T extends ColumnBaseConfig<'string date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface SingleStoreDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder : SingleStoreDateBuilder;\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder\n\t: SingleStoreDateBuilder;\nexport function date(a?: string | SingleStoreDateConfig, b?: SingleStoreDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateStringBuilder(name);\n\t}\n\treturn new SingleStoreDateBuilder(name);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,mBAAmB,gCAAgC;AAErD,MAAM,+BAA+B,yBAIzC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,kBAAqB;AAAA,EACpG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,qCAAqC,yBAI/C;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,uBAAuB;AAAA,EACnD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BAAyE,kBAAqB;AAAA,EAC1G,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,GAAoC,GAA2B;AACnF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0D,GAAG,CAAC;AACvF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,6BAA6B,IAAI;AAAA,EAC7C;AACA,SAAO,IAAI,uBAAuB,IAAI;AACvC;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/date.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport class SingleStoreDateBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDate');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDate(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDate<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDate';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport class SingleStoreDateStringBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'string date';\n\tdata: string;\n\tdriverParam: string | number;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string date', 'SingleStoreDateString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateString<T extends ColumnBaseConfig<'string date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface SingleStoreDateConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder : SingleStoreDateBuilder;\nexport function date<TMode extends SingleStoreDateConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDateConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateStringBuilder\n\t: SingleStoreDateBuilder;\nexport function date(a?: string | SingleStoreDateConfig, b?: SingleStoreDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDateConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateStringBuilder(name);\n\t}\n\treturn new SingleStoreDateBuilder(name);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,mBAAmB,gCAAgC;AAErD,MAAM,+BAA+B,yBAKzC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,iBAAiB;AAAA,EAC7C;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAAmE,kBAAqB;AAAA,EACpG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAEO,MAAM,qCAAqC,yBAK/C;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,uBAAuB;AAAA,EACnD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BAAyE,kBAAqB;AAAA,EAC1G,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,GAAoC,GAA2B;AACnF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0D,GAAG,CAAC;AACvF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,6BAA6B,IAAI;AAAA,EAC7C;AACA,SAAO,IAAI,uBAAuB,IAAI;AACvC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/datetime.ts"],"sourcesContent":["import type { GeneratedColumnConfig, HasGenerated } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder, type SingleStoreGeneratedColumnConfig } from './common.ts';\n\nexport class SingleStoreDateTimeBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tas: SQL | (() => SQL) | this['_']['data'],\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tconfig?: SingleStoreGeneratedColumnConfig,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDateTime');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTime<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTime';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\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 class SingleStoreDateTimeStringBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t_as: SQL | (() => SQL) | this['_']['data'],\n\t\t_config?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string datetime', 'SingleStoreDateTimeString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\n\t}\n}\n\nexport interface SingleStoreDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime(a?: string | SingleStoreDatetimeConfig, b?: SingleStoreDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateTimeStringBuilder(name);\n\t}\n\treturn new SingleStoreDateTimeBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAAmG;AAE5F,MAAM,mCAAmC,uCAIlB;AAAA;AAAA,EAEpB,kBAER,IAEA,QACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,qBAAqB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAuE,gCAAqB;AAAA,EACxG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;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;AAEO,MAAM,yCAAyC,uCAIxB;AAAA;AAAA,EAEpB,kBACR,KACA,SACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,mBAAmB,2BAA2B;AAAA,EAC3D;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kCAAiF,gCAAqB;AAAA,EAClH,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,SAAS,GAAwC,GAA+B;AAC/F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8D,GAAG,CAAC;AAC3F,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,iCAAiC,IAAI;AAAA,EACjD;AACA,SAAO,IAAI,2BAA2B,IAAI;AAC3C;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/datetime.ts"],"sourcesContent":["import type { GeneratedColumnConfig, HasGenerated } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder, type SingleStoreGeneratedColumnConfig } from './common.ts';\n\nexport class SingleStoreDateTimeBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tas: SQL | (() => SQL) | this['_']['data'],\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tconfig?: SingleStoreGeneratedColumnConfig,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDateTime');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTime<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTime';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\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 class SingleStoreDateTimeStringBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t_as: SQL | (() => SQL) | this['_']['data'],\n\t\t_config?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string datetime', 'SingleStoreDateTimeString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\n\t}\n}\n\nexport interface SingleStoreDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime(a?: string | SingleStoreDatetimeConfig, b?: SingleStoreDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateTimeStringBuilder(name);\n\t}\n\treturn new SingleStoreDateTimeBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,mBAAmD;AACnD,oBAAmG;AAE5F,MAAM,mCAAmC,uCAKlB;AAAA;AAAA,EAEpB,kBAER,IAEA,QACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,qBAAqB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAuE,gCAAqB;AAAA,EACxG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;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;AAEO,MAAM,yCAAyC,uCAKxB;AAAA;AAAA,EAEpB,kBACR,KACA,SACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,mBAAmB,2BAA2B;AAAA,EAC3D;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kCAAiF,gCAAqB;AAAA,EAClH,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,SAAS,GAAwC,GAA+B;AAC/F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8D,GAAG,CAAC;AAC3F,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,iCAAiC,IAAI;AAAA,EACjD;AACA,SAAO,IAAI,2BAA2B,IAAI;AAC3C;","names":[]}
@@ -6,6 +6,7 @@ import type { SQL } from "../../sql/sql.cjs";
6
6
  import { type Equal } from "../../utils.cjs";
7
7
  import { SingleStoreColumn, SingleStoreColumnBuilder, type SingleStoreGeneratedColumnConfig } from "./common.cjs";
8
8
  export declare class SingleStoreDateTimeBuilder extends SingleStoreColumnBuilder<{
9
+ name: string;
9
10
  dataType: 'object date';
10
11
  data: Date;
11
12
  driverParam: string | number;
@@ -26,6 +27,7 @@ export declare class SingleStoreDateTime<T extends ColumnBaseConfig<'object date
26
27
  mapFromDriverValue(value: string): Date;
27
28
  }
28
29
  export declare class SingleStoreDateTimeStringBuilder extends SingleStoreColumnBuilder<{
30
+ name: string;
29
31
  dataType: 'string datetime';
30
32
  data: string;
31
33
  driverParam: string | number;
@@ -6,6 +6,7 @@ import type { SQL } from "../../sql/sql.js";
6
6
  import { type Equal } from "../../utils.js";
7
7
  import { SingleStoreColumn, SingleStoreColumnBuilder, type SingleStoreGeneratedColumnConfig } from "./common.js";
8
8
  export declare class SingleStoreDateTimeBuilder extends SingleStoreColumnBuilder<{
9
+ name: string;
9
10
  dataType: 'object date';
10
11
  data: Date;
11
12
  driverParam: string | number;
@@ -26,6 +27,7 @@ export declare class SingleStoreDateTime<T extends ColumnBaseConfig<'object date
26
27
  mapFromDriverValue(value: string): Date;
27
28
  }
28
29
  export declare class SingleStoreDateTimeStringBuilder extends SingleStoreColumnBuilder<{
30
+ name: string;
29
31
  dataType: 'string datetime';
30
32
  data: string;
31
33
  driverParam: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/datetime.ts"],"sourcesContent":["import type { GeneratedColumnConfig, HasGenerated } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder, type SingleStoreGeneratedColumnConfig } from './common.ts';\n\nexport class SingleStoreDateTimeBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tas: SQL | (() => SQL) | this['_']['data'],\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tconfig?: SingleStoreGeneratedColumnConfig,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDateTime');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTime<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTime';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\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 class SingleStoreDateTimeStringBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t_as: SQL | (() => SQL) | this['_']['data'],\n\t\t_config?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string datetime', 'SingleStoreDateTimeString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\n\t}\n}\n\nexport interface SingleStoreDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime(a?: string | SingleStoreDatetimeConfig, b?: SingleStoreDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateTimeStringBuilder(name);\n\t}\n\treturn new SingleStoreDateTimeBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,mBAAmB,gCAAuE;AAE5F,MAAM,mCAAmC,yBAIlB;AAAA;AAAA,EAEpB,kBAER,IAEA,QACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,qBAAqB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAuE,kBAAqB;AAAA,EACxG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;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;AAEO,MAAM,yCAAyC,yBAIxB;AAAA;AAAA,EAEpB,kBACR,KACA,SACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,mBAAmB,2BAA2B;AAAA,EAC3D;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kCAAiF,kBAAqB;AAAA,EAClH,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,SAAS,GAAwC,GAA+B;AAC/F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8D,GAAG,CAAC;AAC3F,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,iCAAiC,IAAI;AAAA,EACjD;AACA,SAAO,IAAI,2BAA2B,IAAI;AAC3C;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/datetime.ts"],"sourcesContent":["import type { GeneratedColumnConfig, HasGenerated } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder, type SingleStoreGeneratedColumnConfig } from './common.ts';\n\nexport class SingleStoreDateTimeBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tas: SQL | (() => SQL) | this['_']['data'],\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tconfig?: SingleStoreGeneratedColumnConfig,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object date', 'SingleStoreDateTime');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTime(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTime<T extends ColumnBaseConfig<'object date'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTime';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\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 class SingleStoreDateTimeStringBuilder extends SingleStoreColumnBuilder<{\n\tname: string;\n\tdataType: 'string datetime';\n\tdata: string;\n\tdriverParam: string | number;\n}, SingleStoreDatetimeConfig> {\n\t// TODO: we need to add a proper support for SingleStore\n\toverride generatedAlwaysAs(\n\t\t_as: SQL | (() => SQL) | this['_']['data'],\n\t\t_config?: Partial<GeneratedColumnConfig<unknown>>,\n\t): HasGenerated<this, { type: 'always' }> {\n\t\tthrow new Error('Method not implemented.');\n\t}\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeStringBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'string datetime', 'SingleStoreDateTimeString');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDateTimeString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateTimeString<T extends ColumnBaseConfig<'string datetime'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateTimeString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateTimeStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `datetime`;\n\t}\n}\n\nexport interface SingleStoreDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {\n\tmode?: TMode;\n}\n\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime<TMode extends SingleStoreDatetimeConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: SingleStoreDatetimeConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? SingleStoreDateTimeStringBuilder\n\t: SingleStoreDateTimeBuilder;\nexport function datetime(a?: string | SingleStoreDatetimeConfig, b?: SingleStoreDatetimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDatetimeConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateTimeStringBuilder(name);\n\t}\n\treturn new SingleStoreDateTimeBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,mBAAmB,gCAAuE;AAE5F,MAAM,mCAAmC,yBAKlB;AAAA;AAAA,EAEpB,kBAER,IAEA,QACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,qBAAqB;AAAA,EACjD;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BAAuE,kBAAqB;AAAA,EACxG,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;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;AAEO,MAAM,yCAAyC,yBAKxB;AAAA;AAAA,EAEpB,kBACR,KACA,SACyC;AACzC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAAA,EACA,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,mBAAmB,2BAA2B;AAAA,EAC3D;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,kCAAiF,kBAAqB;AAAA,EAClH,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,SAAS,GAAwC,GAA+B;AAC/F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8D,GAAG,CAAC;AAC3F,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,iCAAiC,IAAI;AAAA,EACjD;AACA,SAAO,IAAI,2BAA2B,IAAI;AAC3C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\n\nexport class SingleStoreDecimalBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'string unumeric' : 'string numeric';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'string unumeric' : 'string numeric' as any, 'SingleStoreDecimal');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimal(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimal<T extends ColumnBaseConfig<'string numeric' | 'string unumeric'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\t// For RQBv2\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalNumberBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number unsigned' : 'number';\n\t\tdata: number;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumberBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'number unsigned' : 'number' as any, 'SingleStoreDecimalNumber');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalNumber(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalNumber<T extends ColumnBaseConfig<'number' | 'number unsigned'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumber';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalBigIntBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';\n\t\tdata: bigint;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigIntBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'bigint uint64' : 'bigint int64' as any, 'SingleStoreDecimalBigInt');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalBigInt(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalBigInt<T extends ColumnBaseConfig<'bigint int64' | 'bigint uint64'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigInt';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport interface SingleStoreDecimalConfig<\n\tT extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint',\n\tTUnsigned extends boolean | undefined = boolean | undefined,\n> {\n\tprecision?: number;\n\tscale?: number;\n\tunsigned?: TUnsigned;\n\tmode?: T;\n}\n\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal(a?: string | SingleStoreDecimalConfig, b: SingleStoreDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDecimalConfig>(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new SingleStoreDecimalNumberBuilder(name, config)\n\t\t: mode === 'bigint'\n\t\t? new SingleStoreDecimalBigIntBuilder(name, config)\n\t\t: new SingleStoreDecimalBuilder(name, config);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\n\nexport class SingleStoreDecimalBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'string unumeric' : 'string numeric';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'string unumeric' : 'string numeric' as any, 'SingleStoreDecimal');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimal(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimal<T extends ColumnBaseConfig<'string numeric' | 'string unumeric'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\t// For RQBv2\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalNumberBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number unsigned' : 'number';\n\t\tdata: number;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumberBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'number unsigned' : 'number' as any, 'SingleStoreDecimalNumber');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalNumber(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalNumber<T extends ColumnBaseConfig<'number' | 'number unsigned'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumber';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalBigIntBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';\n\t\tdata: bigint;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigIntBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'bigint uint64' : 'bigint int64' as any, 'SingleStoreDecimalBigInt');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalBigInt(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalBigInt<T extends ColumnBaseConfig<'bigint int64' | 'bigint uint64'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigInt';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport interface SingleStoreDecimalConfig<\n\tT extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint',\n\tTUnsigned extends boolean | undefined = boolean | undefined,\n> {\n\tprecision?: number;\n\tscale?: number;\n\tunsigned?: TUnsigned;\n\tmode?: T;\n}\n\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal(a?: string | SingleStoreDecimalConfig, b: SingleStoreDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDecimalConfig>(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new SingleStoreDecimalNumberBuilder(name, config)\n\t\t: mode === 'bigint'\n\t\t? new SingleStoreDecimalBigIntBuilder(name, config)\n\t\t: new SingleStoreDecimalBuilder(name, config);\n}\n"],"mappings":"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","names":[]}
@@ -3,6 +3,7 @@ import { entityKind } from "../../entity.cjs";
3
3
  import { type Equal } from "../../utils.cjs";
4
4
  import { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from "./common.cjs";
5
5
  export declare class SingleStoreDecimalBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
6
+ name: string;
6
7
  dataType: Equal<TUnsigned, true> extends true ? 'string unumeric' : 'string numeric';
7
8
  data: string;
8
9
  driverParam: string;
@@ -19,6 +20,7 @@ export declare class SingleStoreDecimal<T extends ColumnBaseConfig<'string numer
19
20
  getSQLType(): string;
20
21
  }
21
22
  export declare class SingleStoreDecimalNumberBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
23
+ name: string;
22
24
  dataType: Equal<TUnsigned, true> extends true ? 'number unsigned' : 'number';
23
25
  data: number;
24
26
  driverParam: string;
@@ -36,6 +38,7 @@ export declare class SingleStoreDecimalNumber<T extends ColumnBaseConfig<'number
36
38
  getSQLType(): string;
37
39
  }
38
40
  export declare class SingleStoreDecimalBigIntBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
41
+ name: string;
39
42
  dataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';
40
43
  data: bigint;
41
44
  driverParam: string;
@@ -3,6 +3,7 @@ import { entityKind } from "../../entity.js";
3
3
  import { type Equal } from "../../utils.js";
4
4
  import { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from "./common.js";
5
5
  export declare class SingleStoreDecimalBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
6
+ name: string;
6
7
  dataType: Equal<TUnsigned, true> extends true ? 'string unumeric' : 'string numeric';
7
8
  data: string;
8
9
  driverParam: string;
@@ -19,6 +20,7 @@ export declare class SingleStoreDecimal<T extends ColumnBaseConfig<'string numer
19
20
  getSQLType(): string;
20
21
  }
21
22
  export declare class SingleStoreDecimalNumberBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
23
+ name: string;
22
24
  dataType: Equal<TUnsigned, true> extends true ? 'number unsigned' : 'number';
23
25
  data: number;
24
26
  driverParam: string;
@@ -36,6 +38,7 @@ export declare class SingleStoreDecimalNumber<T extends ColumnBaseConfig<'number
36
38
  getSQLType(): string;
37
39
  }
38
40
  export declare class SingleStoreDecimalBigIntBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
41
+ name: string;
39
42
  dataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';
40
43
  data: bigint;
41
44
  driverParam: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\n\nexport class SingleStoreDecimalBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'string unumeric' : 'string numeric';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'string unumeric' : 'string numeric' as any, 'SingleStoreDecimal');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimal(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimal<T extends ColumnBaseConfig<'string numeric' | 'string unumeric'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\t// For RQBv2\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalNumberBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number unsigned' : 'number';\n\t\tdata: number;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumberBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'number unsigned' : 'number' as any, 'SingleStoreDecimalNumber');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalNumber(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalNumber<T extends ColumnBaseConfig<'number' | 'number unsigned'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumber';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalBigIntBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';\n\t\tdata: bigint;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigIntBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'bigint uint64' : 'bigint int64' as any, 'SingleStoreDecimalBigInt');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalBigInt(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalBigInt<T extends ColumnBaseConfig<'bigint int64' | 'bigint uint64'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigInt';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport interface SingleStoreDecimalConfig<\n\tT extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint',\n\tTUnsigned extends boolean | undefined = boolean | undefined,\n> {\n\tprecision?: number;\n\tscale?: number;\n\tunsigned?: TUnsigned;\n\tmode?: T;\n}\n\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal(a?: string | SingleStoreDecimalConfig, b: SingleStoreDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDecimalConfig>(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new SingleStoreDecimalNumberBuilder(name, config)\n\t\t: mode === 'bigint'\n\t\t? new SingleStoreDecimalBigIntBuilder(name, config)\n\t\t: new SingleStoreDecimalBuilder(name, config);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/decimal.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\n\nexport class SingleStoreDecimalBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'string unumeric' : 'string numeric';\n\t\tdata: string;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'string unumeric' : 'string numeric' as any, 'SingleStoreDecimal');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimal(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimal<T extends ColumnBaseConfig<'string numeric' | 'string unumeric'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimal';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\t// For RQBv2\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalNumberBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number unsigned' : 'number';\n\t\tdata: number;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumberBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'number unsigned' : 'number' as any, 'SingleStoreDecimalNumber');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalNumber(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalNumber<T extends ColumnBaseConfig<'number' | 'number unsigned'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalNumber';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport class SingleStoreDecimalBigIntBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'bigint uint64' : 'bigint int64';\n\t\tdata: bigint;\n\t\tdriverParam: string;\n\t}, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigIntBuilder';\n\n\tconstructor(name: string, config: SingleStoreDecimalConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'bigint uint64' : 'bigint int64' as any, 'SingleStoreDecimalBigInt');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDecimalBigInt(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDecimalBigInt<T extends ColumnBaseConfig<'bigint int64' | 'bigint uint64'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDecimalConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDecimalBigInt';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `decimal(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'decimal';\n\t\t} else {\n\t\t\ttype += `decimal(${this.precision})`;\n\t\t}\n\t\ttype = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport interface SingleStoreDecimalConfig<\n\tT extends 'string' | 'number' | 'bigint' = 'string' | 'number' | 'bigint',\n\tTUnsigned extends boolean | undefined = boolean | undefined,\n> {\n\tprecision?: number;\n\tscale?: number;\n\tunsigned?: TUnsigned;\n\tmode?: T;\n}\n\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal<TMode extends 'string' | 'number' | 'bigint', TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreDecimalConfig<TMode, TUnsigned>,\n): Equal<TMode, 'number'> extends true ? SingleStoreDecimalNumberBuilder<TUnsigned>\n\t: Equal<TMode, 'bigint'> extends true ? SingleStoreDecimalBigIntBuilder<TUnsigned>\n\t: SingleStoreDecimalBuilder<TUnsigned>;\nexport function decimal(a?: string | SingleStoreDecimalConfig, b: SingleStoreDecimalConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDecimalConfig>(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new SingleStoreDecimalNumberBuilder(name, config)\n\t\t: mode === 'bigint'\n\t\t? new SingleStoreDecimalBigIntBuilder(name, config)\n\t\t: new SingleStoreDecimalBuilder(name, config);\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/double.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\n\nexport class SingleStoreDoubleBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number udouble' : 'number double';\n\t\tdata: number;\n\t\tdriverParam: number | string;\n\t}, SingleStoreDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDoubleBuilder';\n\n\tconstructor(name: string, config: SingleStoreDoubleConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'number udouble' : 'number double' as any, 'SingleStoreDouble');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDouble(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDouble<T extends ColumnBaseConfig<'number double' | 'number udouble'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDouble';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `double(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'double';\n\t\t} else {\n\t\t\ttype += `double(${this.precision})`;\n\t\t}\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport interface SingleStoreDoubleConfig<TUnsigned extends boolean | undefined = boolean | undefined> {\n\tprecision?: number;\n\tscale?: number;\n\tunsigned?: TUnsigned;\n}\n\nexport function double<TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreDoubleConfig<TUnsigned>,\n): SingleStoreDoubleBuilder<TUnsigned>;\nexport function double<TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreDoubleConfig<TUnsigned>,\n): SingleStoreDoubleBuilder<TUnsigned>;\nexport function double(a?: string | SingleStoreDoubleConfig, b?: SingleStoreDoubleConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDoubleConfig>(a, b);\n\treturn new SingleStoreDoubleBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAA8F;AAEvF,MAAM,iCACJ,wDAKT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA6C;AACtE,UAAM,MAAM,QAAQ,WAAW,mBAAmB,iBAAwB,mBAAmB;AAC7F,SAAK,OAAO,YAAY,QAAQ;AAChC,SAAK,OAAO,QAAQ,QAAQ;AAC5B,SAAK,OAAO,WAAW,QAAQ;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BACJ,iDACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EACxC,WAAgC,KAAK,OAAO;AAAA,EAErD,aAAqB;AACpB,QAAI,OAAO;AACX,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,cAAQ,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC/C,WAAW,KAAK,cAAc,QAAW;AACxC,cAAQ;AAAA,IACT,OAAO;AACN,cAAQ,UAAU,KAAK,SAAS;AAAA,IACjC;AACA,WAAO,KAAK,WAAW,GAAG,IAAI,cAAc;AAAA,EAC7C;AACD;AAeO,SAAS,OAAO,GAAsC,GAA6B;AACzF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAgD,GAAG,CAAC;AAC7E,SAAO,IAAI,yBAAyB,MAAM,MAAM;AACjD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/double.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\n\nexport class SingleStoreDoubleBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tname: string;\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number udouble' : 'number double';\n\t\tdata: number;\n\t\tdriverParam: number | string;\n\t}, SingleStoreDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDoubleBuilder';\n\n\tconstructor(name: string, config: SingleStoreDoubleConfig | undefined) {\n\t\tsuper(name, config?.unsigned ? 'number udouble' : 'number double' as any, 'SingleStoreDouble');\n\t\tthis.config.precision = config?.precision;\n\t\tthis.config.scale = config?.scale;\n\t\tthis.config.unsigned = config?.unsigned;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreDouble(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDouble<T extends ColumnBaseConfig<'number double' | 'number udouble'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreDoubleConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDouble';\n\n\treadonly precision: number | undefined = this.config.precision;\n\treadonly scale: number | undefined = this.config.scale;\n\treadonly unsigned: boolean | undefined = this.config.unsigned;\n\n\tgetSQLType(): string {\n\t\tlet type = '';\n\t\tif (this.precision !== undefined && this.scale !== undefined) {\n\t\t\ttype += `double(${this.precision},${this.scale})`;\n\t\t} else if (this.precision === undefined) {\n\t\t\ttype += 'double';\n\t\t} else {\n\t\t\ttype += `double(${this.precision})`;\n\t\t}\n\t\treturn this.unsigned ? `${type} unsigned` : type;\n\t}\n}\n\nexport interface SingleStoreDoubleConfig<TUnsigned extends boolean | undefined = boolean | undefined> {\n\tprecision?: number;\n\tscale?: number;\n\tunsigned?: TUnsigned;\n}\n\nexport function double<TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreDoubleConfig<TUnsigned>,\n): SingleStoreDoubleBuilder<TUnsigned>;\nexport function double<TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreDoubleConfig<TUnsigned>,\n): SingleStoreDoubleBuilder<TUnsigned>;\nexport function double(a?: string | SingleStoreDoubleConfig, b?: SingleStoreDoubleConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreDoubleConfig>(a, b);\n\treturn new SingleStoreDoubleBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAA8F;AAEvF,MAAM,iCACJ,wDAMT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA6C;AACtE,UAAM,MAAM,QAAQ,WAAW,mBAAmB,iBAAwB,mBAAmB;AAC7F,SAAK,OAAO,YAAY,QAAQ;AAChC,SAAK,OAAO,QAAQ,QAAQ;AAC5B,SAAK,OAAO,WAAW,QAAQ;AAAA,EAChC;AAAA;AAAA,EAGS,MAAM,OAAyB;AACvC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,0BACJ,iDACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,YAAgC,KAAK,OAAO;AAAA,EAC5C,QAA4B,KAAK,OAAO;AAAA,EACxC,WAAgC,KAAK,OAAO;AAAA,EAErD,aAAqB;AACpB,QAAI,OAAO;AACX,QAAI,KAAK,cAAc,UAAa,KAAK,UAAU,QAAW;AAC7D,cAAQ,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,IAC/C,WAAW,KAAK,cAAc,QAAW;AACxC,cAAQ;AAAA,IACT,OAAO;AACN,cAAQ,UAAU,KAAK,SAAS;AAAA,IACjC;AACA,WAAO,KAAK,WAAW,GAAG,IAAI,cAAc;AAAA,EAC7C;AACD;AAeO,SAAS,OAAO,GAAsC,GAA6B;AACzF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAgD,GAAG,CAAC;AAC7E,SAAO,IAAI,yBAAyB,MAAM,MAAM;AACjD;","names":[]}
@@ -3,6 +3,7 @@ import { entityKind } from "../../entity.cjs";
3
3
  import { type Equal } from "../../utils.cjs";
4
4
  import { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from "./common.cjs";
5
5
  export declare class SingleStoreDoubleBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
6
+ name: string;
6
7
  dataType: Equal<TUnsigned, true> extends true ? 'number udouble' : 'number double';
7
8
  data: number;
8
9
  driverParam: number | string;
@@ -3,6 +3,7 @@ import { entityKind } from "../../entity.js";
3
3
  import { type Equal } from "../../utils.js";
4
4
  import { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from "./common.js";
5
5
  export declare class SingleStoreDoubleBuilder<TUnsigned extends boolean | undefined> extends SingleStoreColumnBuilderWithAutoIncrement<{
6
+ name: string;
6
7
  dataType: Equal<TUnsigned, true> extends true ? 'number udouble' : 'number double';
7
8
  data: number;
8
9
  driverParam: number | string;