drizzle-orm 0.34.0-8dece56 → 0.34.0-b75016b

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 (727) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/driver.cjs +9 -8
  4. package/aws-data-api/pg/driver.cjs.map +1 -1
  5. package/aws-data-api/pg/driver.d.cts +1 -1
  6. package/aws-data-api/pg/driver.d.ts +1 -1
  7. package/aws-data-api/pg/driver.js +3 -2
  8. package/aws-data-api/pg/driver.js.map +1 -1
  9. package/better-sqlite3/driver.cjs +1 -1
  10. package/better-sqlite3/driver.cjs.map +1 -1
  11. package/better-sqlite3/driver.js +1 -1
  12. package/better-sqlite3/driver.js.map +1 -1
  13. package/bun-sqlite/driver.cjs +1 -1
  14. package/bun-sqlite/driver.cjs.map +1 -1
  15. package/bun-sqlite/driver.js +1 -1
  16. package/bun-sqlite/driver.js.map +1 -1
  17. package/casing.cjs +85 -0
  18. package/casing.cjs.map +1 -0
  19. package/casing.d.cts +14 -0
  20. package/casing.d.ts +14 -0
  21. package/casing.js +59 -0
  22. package/casing.js.map +1 -0
  23. package/column-builder.cjs +7 -0
  24. package/column-builder.cjs.map +1 -1
  25. package/column-builder.d.cts +7 -2
  26. package/column-builder.d.ts +7 -2
  27. package/column-builder.js +7 -0
  28. package/column-builder.js.map +1 -1
  29. package/column.cjs +3 -0
  30. package/column.cjs.map +1 -1
  31. package/column.js +3 -0
  32. package/column.js.map +1 -1
  33. package/connect.cjs +25 -0
  34. package/connect.cjs.map +1 -0
  35. package/connect.d.cts +2 -0
  36. package/connect.d.ts +2 -0
  37. package/connect.js +3 -0
  38. package/connect.js.map +1 -0
  39. package/d1/driver.cjs +1 -1
  40. package/d1/driver.cjs.map +1 -1
  41. package/d1/driver.js +1 -1
  42. package/d1/driver.js.map +1 -1
  43. package/expo-sqlite/driver.cjs +1 -1
  44. package/expo-sqlite/driver.cjs.map +1 -1
  45. package/expo-sqlite/driver.js +1 -1
  46. package/expo-sqlite/driver.js.map +1 -1
  47. package/expo-sqlite/query.cjs +8 -6
  48. package/expo-sqlite/query.cjs.map +1 -1
  49. package/expo-sqlite/query.js +3 -1
  50. package/expo-sqlite/query.js.map +1 -1
  51. package/index.cjs +0 -4
  52. package/index.cjs.map +1 -1
  53. package/index.d.cts +0 -2
  54. package/index.d.ts +0 -2
  55. package/index.js +0 -2
  56. package/index.js.map +1 -1
  57. package/libsql/driver.cjs +1 -1
  58. package/libsql/driver.cjs.map +1 -1
  59. package/libsql/driver.js +1 -1
  60. package/libsql/driver.js.map +1 -1
  61. package/monodriver.cjs +1 -1
  62. package/monodriver.cjs.map +1 -1
  63. package/monodriver.d.cts +1 -1
  64. package/monodriver.d.ts +1 -1
  65. package/monodriver.js +1 -1
  66. package/monodriver.js.map +1 -1
  67. package/mysql-core/columns/all.cjs +80 -0
  68. package/mysql-core/columns/all.cjs.map +1 -0
  69. package/mysql-core/columns/all.d.cts +51 -0
  70. package/mysql-core/columns/all.d.ts +51 -0
  71. package/mysql-core/columns/all.js +56 -0
  72. package/mysql-core/columns/all.js.map +1 -0
  73. package/mysql-core/columns/bigint.cjs +3 -1
  74. package/mysql-core/columns/bigint.cjs.map +1 -1
  75. package/mysql-core/columns/bigint.d.cts +2 -2
  76. package/mysql-core/columns/bigint.d.ts +2 -2
  77. package/mysql-core/columns/bigint.js +3 -1
  78. package/mysql-core/columns/bigint.js.map +1 -1
  79. package/mysql-core/columns/binary.cjs +3 -1
  80. package/mysql-core/columns/binary.cjs.map +1 -1
  81. package/mysql-core/columns/binary.d.cts +2 -0
  82. package/mysql-core/columns/binary.d.ts +2 -0
  83. package/mysql-core/columns/binary.js +3 -1
  84. package/mysql-core/columns/binary.js.map +1 -1
  85. package/mysql-core/columns/boolean.cjs +1 -1
  86. package/mysql-core/columns/boolean.cjs.map +1 -1
  87. package/mysql-core/columns/boolean.d.cts +1 -0
  88. package/mysql-core/columns/boolean.d.ts +1 -0
  89. package/mysql-core/columns/boolean.js +1 -1
  90. package/mysql-core/columns/boolean.js.map +1 -1
  91. package/mysql-core/columns/char.cjs +3 -1
  92. package/mysql-core/columns/char.cjs.map +1 -1
  93. package/mysql-core/columns/char.d.cts +4 -2
  94. package/mysql-core/columns/char.d.ts +4 -2
  95. package/mysql-core/columns/char.js +3 -1
  96. package/mysql-core/columns/char.js.map +1 -1
  97. package/mysql-core/columns/custom.cjs +4 -2
  98. package/mysql-core/columns/custom.cjs.map +1 -1
  99. package/mysql-core/columns/custom.d.cts +10 -3
  100. package/mysql-core/columns/custom.d.ts +10 -3
  101. package/mysql-core/columns/custom.js +4 -2
  102. package/mysql-core/columns/custom.js.map +1 -1
  103. package/mysql-core/columns/date.cjs +4 -2
  104. package/mysql-core/columns/date.cjs.map +1 -1
  105. package/mysql-core/columns/date.d.cts +3 -1
  106. package/mysql-core/columns/date.d.ts +3 -1
  107. package/mysql-core/columns/date.js +4 -2
  108. package/mysql-core/columns/date.js.map +1 -1
  109. package/mysql-core/columns/datetime.cjs +4 -2
  110. package/mysql-core/columns/datetime.cjs.map +1 -1
  111. package/mysql-core/columns/datetime.d.cts +3 -1
  112. package/mysql-core/columns/datetime.d.ts +3 -1
  113. package/mysql-core/columns/datetime.js +4 -2
  114. package/mysql-core/columns/datetime.js.map +1 -1
  115. package/mysql-core/columns/decimal.cjs +3 -1
  116. package/mysql-core/columns/decimal.cjs.map +1 -1
  117. package/mysql-core/columns/decimal.d.cts +2 -0
  118. package/mysql-core/columns/decimal.d.ts +2 -0
  119. package/mysql-core/columns/decimal.js +3 -1
  120. package/mysql-core/columns/decimal.js.map +1 -1
  121. package/mysql-core/columns/double.cjs +3 -1
  122. package/mysql-core/columns/double.cjs.map +1 -1
  123. package/mysql-core/columns/double.d.cts +2 -0
  124. package/mysql-core/columns/double.d.ts +2 -0
  125. package/mysql-core/columns/double.js +3 -1
  126. package/mysql-core/columns/double.js.map +1 -1
  127. package/mysql-core/columns/enum.cjs +3 -1
  128. package/mysql-core/columns/enum.cjs.map +1 -1
  129. package/mysql-core/columns/enum.d.cts +2 -1
  130. package/mysql-core/columns/enum.d.ts +2 -1
  131. package/mysql-core/columns/enum.js +3 -1
  132. package/mysql-core/columns/enum.js.map +1 -1
  133. package/mysql-core/columns/float.cjs +1 -1
  134. package/mysql-core/columns/float.cjs.map +1 -1
  135. package/mysql-core/columns/float.d.cts +1 -0
  136. package/mysql-core/columns/float.d.ts +1 -0
  137. package/mysql-core/columns/float.js +1 -1
  138. package/mysql-core/columns/float.js.map +1 -1
  139. package/mysql-core/columns/int.cjs +3 -1
  140. package/mysql-core/columns/int.cjs.map +1 -1
  141. package/mysql-core/columns/int.d.cts +2 -0
  142. package/mysql-core/columns/int.d.ts +2 -0
  143. package/mysql-core/columns/int.js +3 -1
  144. package/mysql-core/columns/int.js.map +1 -1
  145. package/mysql-core/columns/json.cjs +1 -1
  146. package/mysql-core/columns/json.cjs.map +1 -1
  147. package/mysql-core/columns/json.d.cts +1 -0
  148. package/mysql-core/columns/json.d.ts +1 -0
  149. package/mysql-core/columns/json.js +1 -1
  150. package/mysql-core/columns/json.js.map +1 -1
  151. package/mysql-core/columns/mediumint.cjs +3 -1
  152. package/mysql-core/columns/mediumint.cjs.map +1 -1
  153. package/mysql-core/columns/mediumint.d.cts +2 -0
  154. package/mysql-core/columns/mediumint.d.ts +2 -0
  155. package/mysql-core/columns/mediumint.js +3 -1
  156. package/mysql-core/columns/mediumint.js.map +1 -1
  157. package/mysql-core/columns/real.cjs +3 -1
  158. package/mysql-core/columns/real.cjs.map +1 -1
  159. package/mysql-core/columns/real.d.cts +2 -0
  160. package/mysql-core/columns/real.d.ts +2 -0
  161. package/mysql-core/columns/real.js +3 -1
  162. package/mysql-core/columns/real.js.map +1 -1
  163. package/mysql-core/columns/serial.cjs +1 -1
  164. package/mysql-core/columns/serial.cjs.map +1 -1
  165. package/mysql-core/columns/serial.d.cts +1 -0
  166. package/mysql-core/columns/serial.d.ts +1 -0
  167. package/mysql-core/columns/serial.js +1 -1
  168. package/mysql-core/columns/serial.js.map +1 -1
  169. package/mysql-core/columns/smallint.cjs +3 -1
  170. package/mysql-core/columns/smallint.cjs.map +1 -1
  171. package/mysql-core/columns/smallint.d.cts +2 -0
  172. package/mysql-core/columns/smallint.d.ts +2 -0
  173. package/mysql-core/columns/smallint.js +3 -1
  174. package/mysql-core/columns/smallint.js.map +1 -1
  175. package/mysql-core/columns/text.cjs +9 -4
  176. package/mysql-core/columns/text.cjs.map +1 -1
  177. package/mysql-core/columns/text.d.cts +10 -2
  178. package/mysql-core/columns/text.d.ts +10 -2
  179. package/mysql-core/columns/text.js +9 -4
  180. package/mysql-core/columns/text.js.map +1 -1
  181. package/mysql-core/columns/time.cjs +3 -1
  182. package/mysql-core/columns/time.cjs.map +1 -1
  183. package/mysql-core/columns/time.d.cts +2 -0
  184. package/mysql-core/columns/time.d.ts +2 -0
  185. package/mysql-core/columns/time.js +3 -1
  186. package/mysql-core/columns/time.js.map +1 -1
  187. package/mysql-core/columns/timestamp.cjs +4 -2
  188. package/mysql-core/columns/timestamp.cjs.map +1 -1
  189. package/mysql-core/columns/timestamp.d.cts +3 -1
  190. package/mysql-core/columns/timestamp.d.ts +3 -1
  191. package/mysql-core/columns/timestamp.js +4 -2
  192. package/mysql-core/columns/timestamp.js.map +1 -1
  193. package/mysql-core/columns/tinyint.cjs +3 -1
  194. package/mysql-core/columns/tinyint.cjs.map +1 -1
  195. package/mysql-core/columns/tinyint.d.cts +2 -0
  196. package/mysql-core/columns/tinyint.d.ts +2 -0
  197. package/mysql-core/columns/tinyint.js +3 -1
  198. package/mysql-core/columns/tinyint.js.map +1 -1
  199. package/mysql-core/columns/varbinary.cjs +4 -2
  200. package/mysql-core/columns/varbinary.cjs.map +1 -1
  201. package/mysql-core/columns/varbinary.d.cts +2 -1
  202. package/mysql-core/columns/varbinary.d.ts +2 -1
  203. package/mysql-core/columns/varbinary.js +4 -2
  204. package/mysql-core/columns/varbinary.js.map +1 -1
  205. package/mysql-core/columns/varchar.cjs +3 -1
  206. package/mysql-core/columns/varchar.cjs.map +1 -1
  207. package/mysql-core/columns/varchar.d.cts +3 -2
  208. package/mysql-core/columns/varchar.d.ts +3 -2
  209. package/mysql-core/columns/varchar.js +3 -1
  210. package/mysql-core/columns/varchar.js.map +1 -1
  211. package/mysql-core/columns/year.cjs +1 -1
  212. package/mysql-core/columns/year.cjs.map +1 -1
  213. package/mysql-core/columns/year.d.cts +1 -0
  214. package/mysql-core/columns/year.d.ts +1 -0
  215. package/mysql-core/columns/year.js +1 -1
  216. package/mysql-core/columns/year.js.map +1 -1
  217. package/mysql-core/db.cjs +2 -1
  218. package/mysql-core/db.cjs.map +1 -1
  219. package/mysql-core/db.js +2 -1
  220. package/mysql-core/db.js.map +1 -1
  221. package/mysql-core/dialect.cjs +14 -7
  222. package/mysql-core/dialect.cjs.map +1 -1
  223. package/mysql-core/dialect.d.cts +5 -1
  224. package/mysql-core/dialect.d.ts +5 -1
  225. package/mysql-core/dialect.js +14 -7
  226. package/mysql-core/dialect.js.map +1 -1
  227. package/mysql-core/foreign-keys.cjs +3 -3
  228. package/mysql-core/foreign-keys.cjs.map +1 -1
  229. package/mysql-core/foreign-keys.d.cts +1 -1
  230. package/mysql-core/foreign-keys.d.ts +1 -1
  231. package/mysql-core/foreign-keys.js +3 -3
  232. package/mysql-core/foreign-keys.js.map +1 -1
  233. package/mysql-core/query-builders/count.cjs +4 -4
  234. package/mysql-core/query-builders/count.cjs.map +1 -1
  235. package/mysql-core/query-builders/count.d.cts +2 -3
  236. package/mysql-core/query-builders/count.d.ts +2 -3
  237. package/mysql-core/query-builders/count.js +2 -2
  238. package/mysql-core/query-builders/count.js.map +1 -1
  239. package/mysql-core/query-builders/query-builder.cjs +6 -1
  240. package/mysql-core/query-builders/query-builder.cjs.map +1 -1
  241. package/mysql-core/query-builders/query-builder.d.cts +4 -0
  242. package/mysql-core/query-builders/query-builder.d.ts +4 -0
  243. package/mysql-core/query-builders/query-builder.js +7 -2
  244. package/mysql-core/query-builders/query-builder.js.map +1 -1
  245. package/mysql-core/table.cjs +4 -1
  246. package/mysql-core/table.cjs.map +1 -1
  247. package/mysql-core/table.d.cts +8 -1
  248. package/mysql-core/table.d.ts +8 -1
  249. package/mysql-core/table.js +4 -1
  250. package/mysql-core/table.js.map +1 -1
  251. package/mysql-core/unique-constraint.cjs +2 -2
  252. package/mysql-core/unique-constraint.cjs.map +1 -1
  253. package/mysql-core/unique-constraint.d.cts +1 -1
  254. package/mysql-core/unique-constraint.d.ts +1 -1
  255. package/mysql-core/unique-constraint.js +2 -2
  256. package/mysql-core/unique-constraint.js.map +1 -1
  257. package/mysql-proxy/driver.cjs +1 -1
  258. package/mysql-proxy/driver.cjs.map +1 -1
  259. package/mysql-proxy/driver.js +1 -1
  260. package/mysql-proxy/driver.js.map +1 -1
  261. package/mysql2/driver.cjs +3 -3
  262. package/mysql2/driver.cjs.map +1 -1
  263. package/mysql2/driver.js +2 -2
  264. package/mysql2/driver.js.map +1 -1
  265. package/neon/index.cjs +23 -0
  266. package/neon/index.cjs.map +1 -0
  267. package/neon/index.d.cts +1 -0
  268. package/neon/index.d.ts +1 -0
  269. package/neon/index.js +2 -0
  270. package/neon/index.js.map +1 -0
  271. package/neon/rls.cjs +81 -0
  272. package/neon/rls.cjs.map +1 -0
  273. package/neon/rls.d.cts +13 -0
  274. package/neon/rls.d.ts +13 -0
  275. package/neon/rls.js +54 -0
  276. package/neon/rls.js.map +1 -0
  277. package/neon-http/driver.cjs +1 -1
  278. package/neon-http/driver.cjs.map +1 -1
  279. package/neon-http/driver.js +1 -1
  280. package/neon-http/driver.js.map +1 -1
  281. package/neon-serverless/driver.cjs +1 -1
  282. package/neon-serverless/driver.cjs.map +1 -1
  283. package/neon-serverless/driver.js +1 -1
  284. package/neon-serverless/driver.js.map +1 -1
  285. package/node-postgres/driver.cjs +1 -1
  286. package/node-postgres/driver.cjs.map +1 -1
  287. package/node-postgres/driver.js +1 -1
  288. package/node-postgres/driver.js.map +1 -1
  289. package/op-sqlite/driver.cjs +1 -1
  290. package/op-sqlite/driver.cjs.map +1 -1
  291. package/op-sqlite/driver.js +1 -1
  292. package/op-sqlite/driver.js.map +1 -1
  293. package/package.json +123 -3
  294. package/pg-core/columns/all.cjs +96 -0
  295. package/pg-core/columns/all.cjs.map +1 -0
  296. package/pg-core/columns/all.d.cts +67 -0
  297. package/pg-core/columns/all.d.ts +67 -0
  298. package/pg-core/columns/all.js +72 -0
  299. package/pg-core/columns/all.js.map +1 -0
  300. package/pg-core/columns/bigint.cjs +3 -1
  301. package/pg-core/columns/bigint.cjs.map +1 -1
  302. package/pg-core/columns/bigint.d.cts +2 -2
  303. package/pg-core/columns/bigint.d.ts +2 -2
  304. package/pg-core/columns/bigint.js +3 -1
  305. package/pg-core/columns/bigint.js.map +1 -1
  306. package/pg-core/columns/bigserial.cjs +4 -2
  307. package/pg-core/columns/bigserial.cjs.map +1 -1
  308. package/pg-core/columns/bigserial.d.cts +2 -2
  309. package/pg-core/columns/bigserial.d.ts +2 -2
  310. package/pg-core/columns/bigserial.js +4 -2
  311. package/pg-core/columns/bigserial.js.map +1 -1
  312. package/pg-core/columns/boolean.cjs +1 -1
  313. package/pg-core/columns/boolean.cjs.map +1 -1
  314. package/pg-core/columns/boolean.d.cts +1 -0
  315. package/pg-core/columns/boolean.d.ts +1 -0
  316. package/pg-core/columns/boolean.js +1 -1
  317. package/pg-core/columns/boolean.js.map +1 -1
  318. package/pg-core/columns/char.cjs +3 -1
  319. package/pg-core/columns/char.cjs.map +1 -1
  320. package/pg-core/columns/char.d.cts +5 -3
  321. package/pg-core/columns/char.d.ts +5 -3
  322. package/pg-core/columns/char.js +3 -1
  323. package/pg-core/columns/char.js.map +1 -1
  324. package/pg-core/columns/cidr.cjs +1 -1
  325. package/pg-core/columns/cidr.cjs.map +1 -1
  326. package/pg-core/columns/cidr.d.cts +1 -0
  327. package/pg-core/columns/cidr.d.ts +1 -0
  328. package/pg-core/columns/cidr.js +1 -1
  329. package/pg-core/columns/cidr.js.map +1 -1
  330. package/pg-core/columns/common.cjs.map +1 -1
  331. package/pg-core/columns/common.d.cts +1 -1
  332. package/pg-core/columns/common.d.ts +1 -1
  333. package/pg-core/columns/common.js.map +1 -1
  334. package/pg-core/columns/custom.cjs +4 -2
  335. package/pg-core/columns/custom.cjs.map +1 -1
  336. package/pg-core/columns/custom.d.cts +10 -3
  337. package/pg-core/columns/custom.d.ts +10 -3
  338. package/pg-core/columns/custom.js +4 -2
  339. package/pg-core/columns/custom.js.map +1 -1
  340. package/pg-core/columns/date.cjs +3 -1
  341. package/pg-core/columns/date.cjs.map +1 -1
  342. package/pg-core/columns/date.d.cts +7 -6
  343. package/pg-core/columns/date.d.ts +7 -6
  344. package/pg-core/columns/date.js +3 -1
  345. package/pg-core/columns/date.js.map +1 -1
  346. package/pg-core/columns/double-precision.cjs +1 -1
  347. package/pg-core/columns/double-precision.cjs.map +1 -1
  348. package/pg-core/columns/double-precision.d.cts +1 -0
  349. package/pg-core/columns/double-precision.d.ts +1 -0
  350. package/pg-core/columns/double-precision.js +1 -1
  351. package/pg-core/columns/double-precision.js.map +1 -1
  352. package/pg-core/columns/enum.cjs +1 -1
  353. package/pg-core/columns/enum.cjs.map +1 -1
  354. package/pg-core/columns/enum.d.cts +3 -1
  355. package/pg-core/columns/enum.d.ts +3 -1
  356. package/pg-core/columns/enum.js +1 -1
  357. package/pg-core/columns/enum.js.map +1 -1
  358. package/pg-core/columns/index.cjs +2 -0
  359. package/pg-core/columns/index.cjs.map +1 -1
  360. package/pg-core/columns/index.d.cts +1 -0
  361. package/pg-core/columns/index.d.ts +1 -0
  362. package/pg-core/columns/index.js +1 -0
  363. package/pg-core/columns/index.js.map +1 -1
  364. package/pg-core/columns/inet.cjs +1 -1
  365. package/pg-core/columns/inet.cjs.map +1 -1
  366. package/pg-core/columns/inet.d.cts +1 -0
  367. package/pg-core/columns/inet.d.ts +1 -0
  368. package/pg-core/columns/inet.js +1 -1
  369. package/pg-core/columns/inet.js.map +1 -1
  370. package/pg-core/columns/integer.cjs +1 -1
  371. package/pg-core/columns/integer.cjs.map +1 -1
  372. package/pg-core/columns/integer.d.cts +1 -0
  373. package/pg-core/columns/integer.d.ts +1 -0
  374. package/pg-core/columns/integer.js +1 -1
  375. package/pg-core/columns/integer.js.map +1 -1
  376. package/pg-core/columns/interval.cjs +3 -1
  377. package/pg-core/columns/interval.cjs.map +1 -1
  378. package/pg-core/columns/interval.d.cts +2 -0
  379. package/pg-core/columns/interval.d.ts +2 -0
  380. package/pg-core/columns/interval.js +3 -1
  381. package/pg-core/columns/interval.js.map +1 -1
  382. package/pg-core/columns/json.cjs +1 -1
  383. package/pg-core/columns/json.cjs.map +1 -1
  384. package/pg-core/columns/json.d.cts +1 -0
  385. package/pg-core/columns/json.d.ts +1 -0
  386. package/pg-core/columns/json.js +1 -1
  387. package/pg-core/columns/json.js.map +1 -1
  388. package/pg-core/columns/jsonb.cjs +1 -1
  389. package/pg-core/columns/jsonb.cjs.map +1 -1
  390. package/pg-core/columns/jsonb.d.cts +1 -0
  391. package/pg-core/columns/jsonb.d.ts +1 -0
  392. package/pg-core/columns/jsonb.js +1 -1
  393. package/pg-core/columns/jsonb.js.map +1 -1
  394. package/pg-core/columns/line.cjs +3 -1
  395. package/pg-core/columns/line.cjs.map +1 -1
  396. package/pg-core/columns/line.d.cts +3 -1
  397. package/pg-core/columns/line.d.ts +3 -1
  398. package/pg-core/columns/line.js +3 -1
  399. package/pg-core/columns/line.js.map +1 -1
  400. package/pg-core/columns/macaddr.cjs +1 -1
  401. package/pg-core/columns/macaddr.cjs.map +1 -1
  402. package/pg-core/columns/macaddr.d.cts +1 -0
  403. package/pg-core/columns/macaddr.d.ts +1 -0
  404. package/pg-core/columns/macaddr.js +1 -1
  405. package/pg-core/columns/macaddr.js.map +1 -1
  406. package/pg-core/columns/macaddr8.cjs +1 -1
  407. package/pg-core/columns/macaddr8.cjs.map +1 -1
  408. package/pg-core/columns/macaddr8.d.cts +1 -0
  409. package/pg-core/columns/macaddr8.d.ts +1 -0
  410. package/pg-core/columns/macaddr8.js +1 -1
  411. package/pg-core/columns/macaddr8.js.map +1 -1
  412. package/pg-core/columns/numeric.cjs +3 -1
  413. package/pg-core/columns/numeric.cjs.map +1 -1
  414. package/pg-core/columns/numeric.d.cts +6 -3
  415. package/pg-core/columns/numeric.d.ts +6 -3
  416. package/pg-core/columns/numeric.js +3 -1
  417. package/pg-core/columns/numeric.js.map +1 -1
  418. package/pg-core/columns/point.cjs +3 -1
  419. package/pg-core/columns/point.cjs.map +1 -1
  420. package/pg-core/columns/point.d.cts +5 -3
  421. package/pg-core/columns/point.d.ts +5 -3
  422. package/pg-core/columns/point.js +3 -1
  423. package/pg-core/columns/point.js.map +1 -1
  424. package/pg-core/columns/postgis_extension/geometry.cjs +6 -4
  425. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  426. package/pg-core/columns/postgis_extension/geometry.d.cts +4 -3
  427. package/pg-core/columns/postgis_extension/geometry.d.ts +4 -3
  428. package/pg-core/columns/postgis_extension/geometry.js +3 -1
  429. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  430. package/pg-core/columns/real.cjs +1 -1
  431. package/pg-core/columns/real.cjs.map +1 -1
  432. package/pg-core/columns/real.d.cts +2 -1
  433. package/pg-core/columns/real.d.ts +2 -1
  434. package/pg-core/columns/real.js +1 -1
  435. package/pg-core/columns/real.js.map +1 -1
  436. package/pg-core/columns/serial.cjs +1 -1
  437. package/pg-core/columns/serial.cjs.map +1 -1
  438. package/pg-core/columns/serial.d.cts +2 -1
  439. package/pg-core/columns/serial.d.ts +2 -1
  440. package/pg-core/columns/serial.js +1 -1
  441. package/pg-core/columns/serial.js.map +1 -1
  442. package/pg-core/columns/smallint.cjs +1 -1
  443. package/pg-core/columns/smallint.cjs.map +1 -1
  444. package/pg-core/columns/smallint.d.cts +1 -0
  445. package/pg-core/columns/smallint.d.ts +1 -0
  446. package/pg-core/columns/smallint.js +1 -1
  447. package/pg-core/columns/smallint.js.map +1 -1
  448. package/pg-core/columns/smallserial.cjs +1 -1
  449. package/pg-core/columns/smallserial.cjs.map +1 -1
  450. package/pg-core/columns/smallserial.d.cts +2 -1
  451. package/pg-core/columns/smallserial.d.ts +2 -1
  452. package/pg-core/columns/smallserial.js +1 -1
  453. package/pg-core/columns/smallserial.js.map +1 -1
  454. package/pg-core/columns/text.cjs +3 -1
  455. package/pg-core/columns/text.cjs.map +1 -1
  456. package/pg-core/columns/text.d.cts +4 -2
  457. package/pg-core/columns/text.d.ts +4 -2
  458. package/pg-core/columns/text.js +3 -1
  459. package/pg-core/columns/text.js.map +1 -1
  460. package/pg-core/columns/time.cjs +3 -1
  461. package/pg-core/columns/time.cjs.map +1 -1
  462. package/pg-core/columns/time.d.cts +2 -0
  463. package/pg-core/columns/time.d.ts +2 -0
  464. package/pg-core/columns/time.js +3 -1
  465. package/pg-core/columns/time.js.map +1 -1
  466. package/pg-core/columns/timestamp.cjs +5 -3
  467. package/pg-core/columns/timestamp.cjs.map +1 -1
  468. package/pg-core/columns/timestamp.d.cts +5 -3
  469. package/pg-core/columns/timestamp.d.ts +5 -3
  470. package/pg-core/columns/timestamp.js +5 -3
  471. package/pg-core/columns/timestamp.js.map +1 -1
  472. package/pg-core/columns/uuid.cjs +1 -1
  473. package/pg-core/columns/uuid.cjs.map +1 -1
  474. package/pg-core/columns/uuid.d.cts +1 -0
  475. package/pg-core/columns/uuid.d.ts +1 -0
  476. package/pg-core/columns/uuid.js +1 -1
  477. package/pg-core/columns/uuid.js.map +1 -1
  478. package/pg-core/columns/varchar.cjs +3 -1
  479. package/pg-core/columns/varchar.cjs.map +1 -1
  480. package/pg-core/columns/varchar.d.cts +5 -3
  481. package/pg-core/columns/varchar.d.ts +5 -3
  482. package/pg-core/columns/varchar.js +3 -1
  483. package/pg-core/columns/varchar.js.map +1 -1
  484. package/pg-core/columns/vector_extension/bit.cjs +3 -1
  485. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  486. package/pg-core/columns/vector_extension/bit.d.cts +1 -0
  487. package/pg-core/columns/vector_extension/bit.d.ts +1 -0
  488. package/pg-core/columns/vector_extension/bit.js +3 -1
  489. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  490. package/pg-core/columns/vector_extension/halfvec.cjs +3 -1
  491. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  492. package/pg-core/columns/vector_extension/halfvec.d.cts +1 -0
  493. package/pg-core/columns/vector_extension/halfvec.d.ts +1 -0
  494. package/pg-core/columns/vector_extension/halfvec.js +3 -1
  495. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  496. package/pg-core/columns/vector_extension/sparsevec.cjs +3 -1
  497. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  498. package/pg-core/columns/vector_extension/sparsevec.d.cts +1 -0
  499. package/pg-core/columns/vector_extension/sparsevec.d.ts +1 -0
  500. package/pg-core/columns/vector_extension/sparsevec.js +3 -1
  501. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  502. package/pg-core/columns/vector_extension/vector.cjs +3 -1
  503. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  504. package/pg-core/columns/vector_extension/vector.d.cts +1 -0
  505. package/pg-core/columns/vector_extension/vector.d.ts +1 -0
  506. package/pg-core/columns/vector_extension/vector.js +3 -1
  507. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  508. package/pg-core/db.cjs +2 -1
  509. package/pg-core/db.cjs.map +1 -1
  510. package/pg-core/db.js +2 -1
  511. package/pg-core/db.js.map +1 -1
  512. package/pg-core/dialect.cjs +13 -4
  513. package/pg-core/dialect.cjs.map +1 -1
  514. package/pg-core/dialect.d.cts +5 -1
  515. package/pg-core/dialect.d.ts +5 -1
  516. package/pg-core/dialect.js +13 -4
  517. package/pg-core/dialect.js.map +1 -1
  518. package/pg-core/foreign-keys.cjs +3 -3
  519. package/pg-core/foreign-keys.cjs.map +1 -1
  520. package/pg-core/foreign-keys.d.cts +1 -1
  521. package/pg-core/foreign-keys.d.ts +1 -1
  522. package/pg-core/foreign-keys.js +3 -3
  523. package/pg-core/foreign-keys.js.map +1 -1
  524. package/pg-core/index.cjs +4 -0
  525. package/pg-core/index.cjs.map +1 -1
  526. package/pg-core/index.d.cts +2 -0
  527. package/pg-core/index.d.ts +2 -0
  528. package/pg-core/index.js +2 -0
  529. package/pg-core/index.js.map +1 -1
  530. package/pg-core/policies.cjs +52 -0
  531. package/pg-core/policies.cjs.map +1 -0
  532. package/pg-core/policies.d.cts +22 -0
  533. package/pg-core/policies.d.ts +22 -0
  534. package/pg-core/policies.js +27 -0
  535. package/pg-core/policies.js.map +1 -0
  536. package/pg-core/query-builders/count.cjs +4 -4
  537. package/pg-core/query-builders/count.cjs.map +1 -1
  538. package/pg-core/query-builders/count.d.cts +2 -3
  539. package/pg-core/query-builders/count.d.ts +2 -3
  540. package/pg-core/query-builders/count.js +2 -2
  541. package/pg-core/query-builders/count.js.map +1 -1
  542. package/pg-core/query-builders/insert.cjs +2 -2
  543. package/pg-core/query-builders/insert.cjs.map +1 -1
  544. package/pg-core/query-builders/insert.js +2 -2
  545. package/pg-core/query-builders/insert.js.map +1 -1
  546. package/pg-core/query-builders/query-builder.cjs +6 -1
  547. package/pg-core/query-builders/query-builder.cjs.map +1 -1
  548. package/pg-core/query-builders/query-builder.d.cts +4 -0
  549. package/pg-core/query-builders/query-builder.d.ts +4 -0
  550. package/pg-core/query-builders/query-builder.js +7 -2
  551. package/pg-core/query-builders/query-builder.js.map +1 -1
  552. package/pg-core/roles.cjs +57 -0
  553. package/pg-core/roles.cjs.map +1 -0
  554. package/pg-core/roles.d.cts +13 -0
  555. package/pg-core/roles.d.ts +13 -0
  556. package/pg-core/roles.js +32 -0
  557. package/pg-core/roles.js.map +1 -0
  558. package/pg-core/table.cjs +6 -2
  559. package/pg-core/table.cjs.map +1 -1
  560. package/pg-core/table.d.cts +9 -1
  561. package/pg-core/table.d.ts +9 -1
  562. package/pg-core/table.js +6 -2
  563. package/pg-core/table.js.map +1 -1
  564. package/pg-core/unique-constraint.cjs +2 -2
  565. package/pg-core/unique-constraint.cjs.map +1 -1
  566. package/pg-core/unique-constraint.d.cts +1 -1
  567. package/pg-core/unique-constraint.d.ts +1 -1
  568. package/pg-core/unique-constraint.js +2 -2
  569. package/pg-core/unique-constraint.js.map +1 -1
  570. package/pg-core/utils.cjs +23 -2
  571. package/pg-core/utils.cjs.map +1 -1
  572. package/pg-core/utils.d.cts +2 -0
  573. package/pg-core/utils.d.ts +2 -0
  574. package/pg-core/utils.js +23 -2
  575. package/pg-core/utils.js.map +1 -1
  576. package/pg-proxy/driver.cjs +1 -1
  577. package/pg-proxy/driver.cjs.map +1 -1
  578. package/pg-proxy/driver.js +1 -1
  579. package/pg-proxy/driver.js.map +1 -1
  580. package/pglite/driver.cjs +1 -1
  581. package/pglite/driver.cjs.map +1 -1
  582. package/pglite/driver.js +1 -1
  583. package/pglite/driver.js.map +1 -1
  584. package/planetscale-serverless/driver.cjs +1 -1
  585. package/planetscale-serverless/driver.cjs.map +1 -1
  586. package/planetscale-serverless/driver.js +1 -1
  587. package/planetscale-serverless/driver.js.map +1 -1
  588. package/postgres-js/driver.cjs +1 -1
  589. package/postgres-js/driver.cjs.map +1 -1
  590. package/postgres-js/driver.js +1 -1
  591. package/postgres-js/driver.js.map +1 -1
  592. package/sql/functions/vector.cjs.map +1 -1
  593. package/sql/functions/vector.d.cts +1 -1
  594. package/sql/functions/vector.d.ts +1 -1
  595. package/sql/functions/vector.js.map +1 -1
  596. package/sql/sql.cjs +4 -2
  597. package/sql/sql.cjs.map +1 -1
  598. package/sql/sql.d.cts +2 -0
  599. package/sql/sql.d.ts +2 -0
  600. package/sql/sql.js +4 -2
  601. package/sql/sql.js.map +1 -1
  602. package/sql-js/driver.cjs +1 -1
  603. package/sql-js/driver.cjs.map +1 -1
  604. package/sql-js/driver.js +1 -1
  605. package/sql-js/driver.js.map +1 -1
  606. package/sqlite-core/columns/all.cjs +44 -0
  607. package/sqlite-core/columns/all.cjs.map +1 -0
  608. package/sqlite-core/columns/all.d.cts +15 -0
  609. package/sqlite-core/columns/all.d.ts +15 -0
  610. package/sqlite-core/columns/all.js +20 -0
  611. package/sqlite-core/columns/all.js.map +1 -0
  612. package/sqlite-core/columns/blob.cjs +3 -1
  613. package/sqlite-core/columns/blob.cjs.map +1 -1
  614. package/sqlite-core/columns/blob.d.cts +3 -1
  615. package/sqlite-core/columns/blob.d.ts +3 -1
  616. package/sqlite-core/columns/blob.js +3 -1
  617. package/sqlite-core/columns/blob.js.map +1 -1
  618. package/sqlite-core/columns/custom.cjs +5 -3
  619. package/sqlite-core/columns/custom.cjs.map +1 -1
  620. package/sqlite-core/columns/custom.d.cts +10 -3
  621. package/sqlite-core/columns/custom.d.ts +10 -3
  622. package/sqlite-core/columns/custom.js +5 -3
  623. package/sqlite-core/columns/custom.js.map +1 -1
  624. package/sqlite-core/columns/integer.cjs +3 -1
  625. package/sqlite-core/columns/integer.cjs.map +1 -1
  626. package/sqlite-core/columns/integer.d.cts +3 -1
  627. package/sqlite-core/columns/integer.d.ts +3 -1
  628. package/sqlite-core/columns/integer.js +3 -1
  629. package/sqlite-core/columns/integer.js.map +1 -1
  630. package/sqlite-core/columns/numeric.cjs +1 -1
  631. package/sqlite-core/columns/numeric.cjs.map +1 -1
  632. package/sqlite-core/columns/numeric.d.cts +1 -0
  633. package/sqlite-core/columns/numeric.d.ts +1 -0
  634. package/sqlite-core/columns/numeric.js +1 -1
  635. package/sqlite-core/columns/numeric.js.map +1 -1
  636. package/sqlite-core/columns/real.cjs +1 -1
  637. package/sqlite-core/columns/real.cjs.map +1 -1
  638. package/sqlite-core/columns/real.d.cts +1 -0
  639. package/sqlite-core/columns/real.d.ts +1 -0
  640. package/sqlite-core/columns/real.js +1 -1
  641. package/sqlite-core/columns/real.js.map +1 -1
  642. package/sqlite-core/columns/text.cjs +7 -2
  643. package/sqlite-core/columns/text.cjs.map +1 -1
  644. package/sqlite-core/columns/text.d.cts +4 -2
  645. package/sqlite-core/columns/text.d.ts +4 -2
  646. package/sqlite-core/columns/text.js +7 -2
  647. package/sqlite-core/columns/text.js.map +1 -1
  648. package/sqlite-core/db.cjs +2 -1
  649. package/sqlite-core/db.cjs.map +1 -1
  650. package/sqlite-core/db.js +2 -1
  651. package/sqlite-core/db.js.map +1 -1
  652. package/sqlite-core/dialect.cjs +14 -8
  653. package/sqlite-core/dialect.cjs.map +1 -1
  654. package/sqlite-core/dialect.d.cts +5 -1
  655. package/sqlite-core/dialect.d.ts +5 -1
  656. package/sqlite-core/dialect.js +14 -8
  657. package/sqlite-core/dialect.js.map +1 -1
  658. package/sqlite-core/foreign-keys.cjs +3 -3
  659. package/sqlite-core/foreign-keys.cjs.map +1 -1
  660. package/sqlite-core/foreign-keys.d.cts +1 -1
  661. package/sqlite-core/foreign-keys.d.ts +1 -1
  662. package/sqlite-core/foreign-keys.js +3 -3
  663. package/sqlite-core/foreign-keys.js.map +1 -1
  664. package/sqlite-core/query-builders/count.cjs +4 -4
  665. package/sqlite-core/query-builders/count.cjs.map +1 -1
  666. package/sqlite-core/query-builders/count.d.cts +2 -3
  667. package/sqlite-core/query-builders/count.d.ts +2 -3
  668. package/sqlite-core/query-builders/count.js +2 -2
  669. package/sqlite-core/query-builders/count.js.map +1 -1
  670. package/sqlite-core/query-builders/query-builder.cjs +6 -1
  671. package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
  672. package/sqlite-core/query-builders/query-builder.d.cts +4 -0
  673. package/sqlite-core/query-builders/query-builder.d.ts +4 -0
  674. package/sqlite-core/query-builders/query-builder.js +8 -3
  675. package/sqlite-core/query-builders/query-builder.js.map +1 -1
  676. package/sqlite-core/query-builders/raw.cjs.map +1 -1
  677. package/sqlite-core/query-builders/raw.d.cts +2 -2
  678. package/sqlite-core/query-builders/raw.d.ts +2 -2
  679. package/sqlite-core/query-builders/raw.js.map +1 -1
  680. package/sqlite-core/table.cjs +4 -1
  681. package/sqlite-core/table.cjs.map +1 -1
  682. package/sqlite-core/table.d.cts +7 -0
  683. package/sqlite-core/table.d.ts +7 -0
  684. package/sqlite-core/table.js +4 -1
  685. package/sqlite-core/table.js.map +1 -1
  686. package/sqlite-core/unique-constraint.cjs +2 -2
  687. package/sqlite-core/unique-constraint.cjs.map +1 -1
  688. package/sqlite-core/unique-constraint.d.cts +1 -1
  689. package/sqlite-core/unique-constraint.d.ts +1 -1
  690. package/sqlite-core/unique-constraint.js +2 -2
  691. package/sqlite-core/unique-constraint.js.map +1 -1
  692. package/sqlite-proxy/driver.cjs +1 -1
  693. package/sqlite-proxy/driver.cjs.map +1 -1
  694. package/sqlite-proxy/driver.js +1 -1
  695. package/sqlite-proxy/driver.js.map +1 -1
  696. package/table.cjs +6 -8
  697. package/table.cjs.map +1 -1
  698. package/table.js +1 -2
  699. package/table.js.map +1 -1
  700. package/table.utils.cjs +29 -0
  701. package/table.utils.cjs.map +1 -0
  702. package/table.utils.d.cts +1 -0
  703. package/table.utils.d.ts +1 -0
  704. package/table.utils.js +5 -0
  705. package/table.utils.js.map +1 -0
  706. package/tidb-serverless/driver.cjs +1 -1
  707. package/tidb-serverless/driver.cjs.map +1 -1
  708. package/tidb-serverless/driver.js +1 -1
  709. package/tidb-serverless/driver.js.map +1 -1
  710. package/utils.cjs +8 -0
  711. package/utils.cjs.map +1 -1
  712. package/utils.d.cts +2 -0
  713. package/utils.d.ts +2 -0
  714. package/utils.js +7 -0
  715. package/utils.js.map +1 -1
  716. package/vercel-postgres/driver.cjs +1 -1
  717. package/vercel-postgres/driver.cjs.map +1 -1
  718. package/vercel-postgres/driver.js +1 -1
  719. package/vercel-postgres/driver.js.map +1 -1
  720. package/version.cjs +1 -1
  721. package/version.d.cts +1 -1
  722. package/version.d.ts +1 -1
  723. package/version.js +1 -1
  724. package/xata-http/driver.cjs +1 -1
  725. package/xata-http/driver.cjs.map +1 -1
  726. package/xata-http/driver.js +1 -1
  727. package/xata-http/driver.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Equal } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'SQLiteCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SQLiteCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SQLiteCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'SQLiteCustomColumn'>>\n\textends SQLiteColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tsqliteColumnBuilderBrand: 'SQLiteCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'SQLiteCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteCustomColumn<T extends ColumnBaseConfig<'custom', 'SQLiteCustomColumn'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: unknown;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n};\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, between user input and driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is responsible for data mapping from database to JS/TS code\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * },\n\t * ```\n\t */\n\tfromDriver?: (value: T['driverData']) => T['data'];\n}\n\n/**\n * Custom sqlite database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? <TName extends string>(\n\t\tdbName: TName,\n\t\tfieldConfig: T['config'],\n\t) => SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>\n\t: <TName extends string>(\n\t\tdbName: TName,\n\t\tfieldConfig?: T['config'],\n\t) => SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>\n{\n\treturn <TName extends string>(\n\t\tdbName: TName,\n\t\tfieldConfig?: T['config'],\n\t): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\treturn new SQLiteCustomColumnBuilder(\n\t\t\tdbName as ConvertCustomConfig<TName, T>['name'],\n\t\t\tfieldConfig,\n\t\t\tcustomTypeParams,\n\t\t);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAI3B,SAAS,cAAc,2BAA2B;AAmB3C,MAAM,kCACJ,oBAUT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGA,MACC,OACsD;AACtD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BAAuF,aAAgB;AAAA,EACnH,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AAAA,EACxC;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBASD;AACC,SAAO,CACN,QACA,gBAC8D;AAC9D,WAAO,IAAI;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/custom.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'SQLiteCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SQLiteCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SQLiteCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'SQLiteCustomColumn'>>\n\textends SQLiteColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tsqliteColumnBuilderBrand: 'SQLiteCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'SQLiteCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteCustomColumn<T extends ColumnBaseConfig<'custom', 'SQLiteCustomColumn'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n};\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, between user input and driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is responsible for data mapping from database to JS/TS code\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * },\n\t * ```\n\t */\n\tfromDriver?: (value: T['driverData']) => T['data'];\n}\n\n/**\n * Custom sqlite 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): SQLiteCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): SQLiteCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SQLiteCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): SQLiteCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new SQLiteCustomColumnBuilder(\n\t\t\tname as ConvertCustomConfig<TName, T>['name'],\n\t\t\tconfig,\n\t\t\tcustomTypeParams,\n\t\t);\n\t};\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAqB,8BAA8B;AACnD,SAAS,cAAc,2BAA2B;AAmB3C,MAAM,kCACJ,oBAUT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGA,MACC,OACsD;AACtD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BAAuF,aAAgB;AAAA,EACnH,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AAAA,EACxC;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MAC8D;AAC9D,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -32,6 +32,7 @@ __export(integer_exports, {
32
32
  module.exports = __toCommonJS(integer_exports);
33
33
  var import_entity = require("../../entity.cjs");
34
34
  var import_sql = require("../../sql/sql.cjs");
35
+ var import_utils = require("../../utils.cjs");
35
36
  var import_common = require("./common.cjs");
36
37
  class SQLiteBaseIntegerBuilder extends import_common.SQLiteColumnBuilder {
37
38
  static [import_entity.entityKind] = "SQLiteBaseIntegerBuilder";
@@ -130,7 +131,8 @@ class SQLiteBoolean extends SQLiteBaseInteger {
130
131
  return value ? 1 : 0;
131
132
  }
132
133
  }
133
- function integer(name, config) {
134
+ function integer(a, b) {
135
+ const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
134
136
  if (config?.mode === "timestamp" || config?.mode === "timestamp_ms") {
135
137
  return new SQLiteTimestampBuilder(name, config.mode);
136
138
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/integer.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tIsPrimaryKey,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { OnConflict } from '~/sqlite-core/utils.ts';\nimport type { Equal, Or } from '~/utils.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport interface PrimaryKeyConfig {\n\tautoIncrement?: boolean;\n\tonConflict?: OnConflict;\n}\n\nexport abstract class SQLiteBaseIntegerBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumnBuilder<\n\tT,\n\tTRuntimeConfig & { autoIncrement: boolean },\n\t{},\n\t{ primaryKeyHasDefault: true }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseIntegerBuilder';\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\toverride primaryKey(config?: PrimaryKeyConfig): IsPrimaryKey<HasDefault<NotNull<this>>> {\n\t\tif (config?.autoIncrement) {\n\t\t\tthis.config.autoIncrement = true;\n\t\t}\n\t\tthis.config.hasDefault = true;\n\t\treturn super.primaryKey() as IsPrimaryKey<HasDefault<NotNull<this>>>;\n\t}\n\n\t/** @internal */\n\tabstract override build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBaseInteger<MakeColumnConfig<T, TTableName>>;\n}\n\nexport abstract class SQLiteBaseInteger<\n\tT extends ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumn<T, TRuntimeConfig & { autoIncrement: boolean }> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseInteger';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n}\n\nexport type SQLiteIntegerBuilderInitial<TName extends string> = SQLiteIntegerBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteInteger';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteIntegerBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteInteger'>>\n\textends SQLiteBaseIntegerBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteIntegerBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteInteger');\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteInteger<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteInteger<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteInteger<T extends ColumnBaseConfig<'number', 'SQLiteInteger'>> extends SQLiteBaseInteger<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteInteger';\n}\n\nexport type SQLiteTimestampBuilderInitial<TName extends string> = SQLiteTimestampBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SQLiteTimestamp';\n\tdata: Date;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTimestampBuilder<T extends ColumnBuilderBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestampBuilder';\n\n\tconstructor(name: T['name'], mode: 'timestamp' | 'timestamp_ms') {\n\t\tsuper(name, 'date', 'SQLiteTimestamp');\n\t\tthis.config.mode = mode;\n\t}\n\n\t/**\n\t * @deprecated Use `default()` with your own expression instead.\n\t *\n\t * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n\t */\n\tdefaultNow(): HasDefault<this> {\n\t\treturn this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`) as any;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTimestamp<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTimestamp<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTimestamp<T extends ColumnBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseInteger<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestamp';\n\n\treadonly mode: 'timestamp' | 'timestamp_ms' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): Date {\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn new Date(value * 1000);\n\t\t}\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): number {\n\t\tconst unix = value.getTime();\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn Math.floor(unix / 1000);\n\t\t}\n\t\treturn unix;\n\t}\n}\n\nexport type SQLiteBooleanBuilderInitial<TName extends string> = SQLiteBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'SQLiteBoolean';\n\tdata: boolean;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBooleanBuilder';\n\n\tconstructor(name: T['name'], mode: 'boolean') {\n\t\tsuper(name, 'boolean', 'SQLiteBoolean');\n\t\tthis.config.mode = mode;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteBoolean<T extends ColumnBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseInteger<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBoolean';\n\n\treadonly mode: 'boolean' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): boolean {\n\t\treturn Number(value) === 1;\n\t}\n\n\toverride mapToDriverValue(value: boolean): number {\n\t\treturn value ? 1 : 0;\n\t}\n}\n\nexport interface IntegerConfig<\n\tTMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' =\n\t\t| 'number'\n\t\t| 'timestamp'\n\t\t| 'timestamp_ms'\n\t\t| 'boolean',\n> {\n\tmode: TMode;\n}\n\nexport function integer<TName extends string, TMode extends IntegerConfig['mode']>(\n\tname: TName,\n\tconfig?: IntegerConfig<TMode>,\n): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<TName>\n\t: Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<TName>\n\t: SQLiteIntegerBuilderInitial<TName>;\nexport function integer(name: string, config?: IntegerConfig) {\n\tif (config?.mode === 'timestamp' || config?.mode === 'timestamp_ms') {\n\t\treturn new SQLiteTimestampBuilder(name, config.mode);\n\t}\n\tif (config?.mode === 'boolean') {\n\t\treturn new SQLiteBooleanBuilder(name, config.mode);\n\t}\n\treturn new SQLiteIntegerBuilder(name);\n}\n\nexport const int = integer;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/integer.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tIsPrimaryKey,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { OnConflict } from '~/sqlite-core/utils.ts';\nimport { type Equal, getColumnNameAndConfig, type Or } from '~/utils.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport interface PrimaryKeyConfig {\n\tautoIncrement?: boolean;\n\tonConflict?: OnConflict;\n}\n\nexport abstract class SQLiteBaseIntegerBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumnBuilder<\n\tT,\n\tTRuntimeConfig & { autoIncrement: boolean },\n\t{},\n\t{ primaryKeyHasDefault: true }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseIntegerBuilder';\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\toverride primaryKey(config?: PrimaryKeyConfig): IsPrimaryKey<HasDefault<NotNull<this>>> {\n\t\tif (config?.autoIncrement) {\n\t\t\tthis.config.autoIncrement = true;\n\t\t}\n\t\tthis.config.hasDefault = true;\n\t\treturn super.primaryKey() as IsPrimaryKey<HasDefault<NotNull<this>>>;\n\t}\n\n\t/** @internal */\n\tabstract override build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBaseInteger<MakeColumnConfig<T, TTableName>>;\n}\n\nexport abstract class SQLiteBaseInteger<\n\tT extends ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumn<T, TRuntimeConfig & { autoIncrement: boolean }> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseInteger';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n}\n\nexport type SQLiteIntegerBuilderInitial<TName extends string> = SQLiteIntegerBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteInteger';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteIntegerBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteInteger'>>\n\textends SQLiteBaseIntegerBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteIntegerBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteInteger');\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteInteger<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteInteger<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteInteger<T extends ColumnBaseConfig<'number', 'SQLiteInteger'>> extends SQLiteBaseInteger<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteInteger';\n}\n\nexport type SQLiteTimestampBuilderInitial<TName extends string> = SQLiteTimestampBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SQLiteTimestamp';\n\tdata: Date;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTimestampBuilder<T extends ColumnBuilderBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestampBuilder';\n\n\tconstructor(name: T['name'], mode: 'timestamp' | 'timestamp_ms') {\n\t\tsuper(name, 'date', 'SQLiteTimestamp');\n\t\tthis.config.mode = mode;\n\t}\n\n\t/**\n\t * @deprecated Use `default()` with your own expression instead.\n\t *\n\t * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n\t */\n\tdefaultNow(): HasDefault<this> {\n\t\treturn this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`) as any;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTimestamp<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTimestamp<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTimestamp<T extends ColumnBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseInteger<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestamp';\n\n\treadonly mode: 'timestamp' | 'timestamp_ms' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): Date {\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn new Date(value * 1000);\n\t\t}\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): number {\n\t\tconst unix = value.getTime();\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn Math.floor(unix / 1000);\n\t\t}\n\t\treturn unix;\n\t}\n}\n\nexport type SQLiteBooleanBuilderInitial<TName extends string> = SQLiteBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'SQLiteBoolean';\n\tdata: boolean;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBooleanBuilder';\n\n\tconstructor(name: T['name'], mode: 'boolean') {\n\t\tsuper(name, 'boolean', 'SQLiteBoolean');\n\t\tthis.config.mode = mode;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteBoolean<T extends ColumnBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseInteger<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBoolean';\n\n\treadonly mode: 'boolean' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): boolean {\n\t\treturn Number(value) === 1;\n\t}\n\n\toverride mapToDriverValue(value: boolean): number {\n\t\treturn value ? 1 : 0;\n\t}\n}\n\nexport interface IntegerConfig<\n\tTMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' =\n\t\t| 'number'\n\t\t| 'timestamp'\n\t\t| 'timestamp_ms'\n\t\t| 'boolean',\n> {\n\tmode: TMode;\n}\n\nexport function integer(): SQLiteIntegerBuilderInitial<''>;\nexport function integer<TMode extends IntegerConfig['mode']>(\n\tconfig?: IntegerConfig<TMode>,\n): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<''>\n\t: Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<''>\n\t: SQLiteIntegerBuilderInitial<''>;\nexport function integer<TName extends string, TMode extends IntegerConfig['mode']>(\n\tname: TName,\n\tconfig?: IntegerConfig<TMode>,\n): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<TName>\n\t: Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<TName>\n\t: SQLiteIntegerBuilderInitial<TName>;\nexport function integer(a?: string | IntegerConfig, b?: IntegerConfig) {\n\tconst { name, config } = getColumnNameAndConfig<IntegerConfig | undefined>(a, b);\n\tif (config?.mode === 'timestamp' || config?.mode === 'timestamp_ms') {\n\t\treturn new SQLiteTimestampBuilder(name, config.mode);\n\t}\n\tif (config?.mode === 'boolean') {\n\t\treturn new SQLiteBooleanBuilder(name, config.mode);\n\t}\n\treturn new SQLiteIntegerBuilder(name);\n}\n\nexport const int = integer;\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@ import type { ColumnBuilderBaseConfig, ColumnDataType, HasDefault, IsPrimaryKey,
2
2
  import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
4
  import type { OnConflict } from "../utils.cjs";
5
- import type { Equal, Or } from "../../utils.cjs";
5
+ import { type Equal, type Or } from "../../utils.cjs";
6
6
  import type { AnySQLiteTable } from "../table.cjs";
7
7
  import { SQLiteColumn, SQLiteColumnBuilder } from "./common.cjs";
8
8
  export interface PrimaryKeyConfig {
@@ -105,5 +105,7 @@ export declare class SQLiteBoolean<T extends ColumnBaseConfig<'boolean', 'SQLite
105
105
  export interface IntegerConfig<TMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' = 'number' | 'timestamp' | 'timestamp_ms' | 'boolean'> {
106
106
  mode: TMode;
107
107
  }
108
+ export declare function integer(): SQLiteIntegerBuilderInitial<''>;
109
+ export declare function integer<TMode extends IntegerConfig['mode']>(config?: IntegerConfig<TMode>): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<''> : Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<''> : SQLiteIntegerBuilderInitial<''>;
108
110
  export declare function integer<TName extends string, TMode extends IntegerConfig['mode']>(name: TName, config?: IntegerConfig<TMode>): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<TName> : Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<TName> : SQLiteIntegerBuilderInitial<TName>;
109
111
  export declare const int: typeof integer;
@@ -2,7 +2,7 @@ import type { ColumnBuilderBaseConfig, ColumnDataType, HasDefault, IsPrimaryKey,
2
2
  import type { ColumnBaseConfig } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
4
  import type { OnConflict } from "../utils.js";
5
- import type { Equal, Or } from "../../utils.js";
5
+ import { type Equal, type Or } from "../../utils.js";
6
6
  import type { AnySQLiteTable } from "../table.js";
7
7
  import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";
8
8
  export interface PrimaryKeyConfig {
@@ -105,5 +105,7 @@ export declare class SQLiteBoolean<T extends ColumnBaseConfig<'boolean', 'SQLite
105
105
  export interface IntegerConfig<TMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' = 'number' | 'timestamp' | 'timestamp_ms' | 'boolean'> {
106
106
  mode: TMode;
107
107
  }
108
+ export declare function integer(): SQLiteIntegerBuilderInitial<''>;
109
+ export declare function integer<TMode extends IntegerConfig['mode']>(config?: IntegerConfig<TMode>): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<''> : Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<''> : SQLiteIntegerBuilderInitial<''>;
108
110
  export declare function integer<TName extends string, TMode extends IntegerConfig['mode']>(name: TName, config?: IntegerConfig<TMode>): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<TName> : Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<TName> : SQLiteIntegerBuilderInitial<TName>;
109
111
  export declare const int: typeof integer;
@@ -1,5 +1,6 @@
1
1
  import { entityKind } from "../../entity.js";
2
2
  import { sql } from "../../sql/sql.js";
3
+ import { getColumnNameAndConfig } from "../../utils.js";
3
4
  import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";
4
5
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
5
6
  static [entityKind] = "SQLiteBaseIntegerBuilder";
@@ -98,7 +99,8 @@ class SQLiteBoolean extends SQLiteBaseInteger {
98
99
  return value ? 1 : 0;
99
100
  }
100
101
  }
101
- function integer(name, config) {
102
+ function integer(a, b) {
103
+ const { name, config } = getColumnNameAndConfig(a, b);
102
104
  if (config?.mode === "timestamp" || config?.mode === "timestamp_ms") {
103
105
  return new SQLiteTimestampBuilder(name, config.mode);
104
106
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/integer.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tIsPrimaryKey,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { OnConflict } from '~/sqlite-core/utils.ts';\nimport type { Equal, Or } from '~/utils.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport interface PrimaryKeyConfig {\n\tautoIncrement?: boolean;\n\tonConflict?: OnConflict;\n}\n\nexport abstract class SQLiteBaseIntegerBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumnBuilder<\n\tT,\n\tTRuntimeConfig & { autoIncrement: boolean },\n\t{},\n\t{ primaryKeyHasDefault: true }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseIntegerBuilder';\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\toverride primaryKey(config?: PrimaryKeyConfig): IsPrimaryKey<HasDefault<NotNull<this>>> {\n\t\tif (config?.autoIncrement) {\n\t\t\tthis.config.autoIncrement = true;\n\t\t}\n\t\tthis.config.hasDefault = true;\n\t\treturn super.primaryKey() as IsPrimaryKey<HasDefault<NotNull<this>>>;\n\t}\n\n\t/** @internal */\n\tabstract override build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBaseInteger<MakeColumnConfig<T, TTableName>>;\n}\n\nexport abstract class SQLiteBaseInteger<\n\tT extends ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumn<T, TRuntimeConfig & { autoIncrement: boolean }> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseInteger';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n}\n\nexport type SQLiteIntegerBuilderInitial<TName extends string> = SQLiteIntegerBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteInteger';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteIntegerBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteInteger'>>\n\textends SQLiteBaseIntegerBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteIntegerBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteInteger');\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteInteger<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteInteger<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteInteger<T extends ColumnBaseConfig<'number', 'SQLiteInteger'>> extends SQLiteBaseInteger<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteInteger';\n}\n\nexport type SQLiteTimestampBuilderInitial<TName extends string> = SQLiteTimestampBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SQLiteTimestamp';\n\tdata: Date;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTimestampBuilder<T extends ColumnBuilderBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestampBuilder';\n\n\tconstructor(name: T['name'], mode: 'timestamp' | 'timestamp_ms') {\n\t\tsuper(name, 'date', 'SQLiteTimestamp');\n\t\tthis.config.mode = mode;\n\t}\n\n\t/**\n\t * @deprecated Use `default()` with your own expression instead.\n\t *\n\t * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n\t */\n\tdefaultNow(): HasDefault<this> {\n\t\treturn this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`) as any;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTimestamp<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTimestamp<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTimestamp<T extends ColumnBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseInteger<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestamp';\n\n\treadonly mode: 'timestamp' | 'timestamp_ms' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): Date {\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn new Date(value * 1000);\n\t\t}\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): number {\n\t\tconst unix = value.getTime();\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn Math.floor(unix / 1000);\n\t\t}\n\t\treturn unix;\n\t}\n}\n\nexport type SQLiteBooleanBuilderInitial<TName extends string> = SQLiteBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'SQLiteBoolean';\n\tdata: boolean;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBooleanBuilder';\n\n\tconstructor(name: T['name'], mode: 'boolean') {\n\t\tsuper(name, 'boolean', 'SQLiteBoolean');\n\t\tthis.config.mode = mode;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteBoolean<T extends ColumnBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseInteger<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBoolean';\n\n\treadonly mode: 'boolean' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): boolean {\n\t\treturn Number(value) === 1;\n\t}\n\n\toverride mapToDriverValue(value: boolean): number {\n\t\treturn value ? 1 : 0;\n\t}\n}\n\nexport interface IntegerConfig<\n\tTMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' =\n\t\t| 'number'\n\t\t| 'timestamp'\n\t\t| 'timestamp_ms'\n\t\t| 'boolean',\n> {\n\tmode: TMode;\n}\n\nexport function integer<TName extends string, TMode extends IntegerConfig['mode']>(\n\tname: TName,\n\tconfig?: IntegerConfig<TMode>,\n): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<TName>\n\t: Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<TName>\n\t: SQLiteIntegerBuilderInitial<TName>;\nexport function integer(name: string, config?: IntegerConfig) {\n\tif (config?.mode === 'timestamp' || config?.mode === 'timestamp_ms') {\n\t\treturn new SQLiteTimestampBuilder(name, config.mode);\n\t}\n\tif (config?.mode === 'boolean') {\n\t\treturn new SQLiteBooleanBuilder(name, config.mode);\n\t}\n\treturn new SQLiteIntegerBuilder(name);\n}\n\nexport const int = integer;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/integer.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tIsPrimaryKey,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { OnConflict } from '~/sqlite-core/utils.ts';\nimport { type Equal, getColumnNameAndConfig, type Or } from '~/utils.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport interface PrimaryKeyConfig {\n\tautoIncrement?: boolean;\n\tonConflict?: OnConflict;\n}\n\nexport abstract class SQLiteBaseIntegerBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumnBuilder<\n\tT,\n\tTRuntimeConfig & { autoIncrement: boolean },\n\t{},\n\t{ primaryKeyHasDefault: true }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseIntegerBuilder';\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\toverride primaryKey(config?: PrimaryKeyConfig): IsPrimaryKey<HasDefault<NotNull<this>>> {\n\t\tif (config?.autoIncrement) {\n\t\t\tthis.config.autoIncrement = true;\n\t\t}\n\t\tthis.config.hasDefault = true;\n\t\treturn super.primaryKey() as IsPrimaryKey<HasDefault<NotNull<this>>>;\n\t}\n\n\t/** @internal */\n\tabstract override build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBaseInteger<MakeColumnConfig<T, TTableName>>;\n}\n\nexport abstract class SQLiteBaseInteger<\n\tT extends ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumn<T, TRuntimeConfig & { autoIncrement: boolean }> {\n\tstatic readonly [entityKind]: string = 'SQLiteBaseInteger';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n}\n\nexport type SQLiteIntegerBuilderInitial<TName extends string> = SQLiteIntegerBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteInteger';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteIntegerBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteInteger'>>\n\textends SQLiteBaseIntegerBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteIntegerBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteInteger');\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteInteger<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteInteger<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteInteger<T extends ColumnBaseConfig<'number', 'SQLiteInteger'>> extends SQLiteBaseInteger<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteInteger';\n}\n\nexport type SQLiteTimestampBuilderInitial<TName extends string> = SQLiteTimestampBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SQLiteTimestamp';\n\tdata: Date;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTimestampBuilder<T extends ColumnBuilderBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestampBuilder';\n\n\tconstructor(name: T['name'], mode: 'timestamp' | 'timestamp_ms') {\n\t\tsuper(name, 'date', 'SQLiteTimestamp');\n\t\tthis.config.mode = mode;\n\t}\n\n\t/**\n\t * @deprecated Use `default()` with your own expression instead.\n\t *\n\t * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n\t */\n\tdefaultNow(): HasDefault<this> {\n\t\treturn this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`) as any;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTimestamp<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTimestamp<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTimestamp<T extends ColumnBaseConfig<'date', 'SQLiteTimestamp'>>\n\textends SQLiteBaseInteger<T, { mode: 'timestamp' | 'timestamp_ms' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTimestamp';\n\n\treadonly mode: 'timestamp' | 'timestamp_ms' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): Date {\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn new Date(value * 1000);\n\t\t}\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): number {\n\t\tconst unix = value.getTime();\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn Math.floor(unix / 1000);\n\t\t}\n\t\treturn unix;\n\t}\n}\n\nexport type SQLiteBooleanBuilderInitial<TName extends string> = SQLiteBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'SQLiteBoolean';\n\tdata: boolean;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseIntegerBuilder<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBooleanBuilder';\n\n\tconstructor(name: T['name'], mode: 'boolean') {\n\t\tsuper(name, 'boolean', 'SQLiteBoolean');\n\t\tthis.config.mode = mode;\n\t}\n\n\tbuild<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBoolean<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBoolean<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteBoolean<T extends ColumnBaseConfig<'boolean', 'SQLiteBoolean'>>\n\textends SQLiteBaseInteger<T, { mode: 'boolean' }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteBoolean';\n\n\treadonly mode: 'boolean' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): boolean {\n\t\treturn Number(value) === 1;\n\t}\n\n\toverride mapToDriverValue(value: boolean): number {\n\t\treturn value ? 1 : 0;\n\t}\n}\n\nexport interface IntegerConfig<\n\tTMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' =\n\t\t| 'number'\n\t\t| 'timestamp'\n\t\t| 'timestamp_ms'\n\t\t| 'boolean',\n> {\n\tmode: TMode;\n}\n\nexport function integer(): SQLiteIntegerBuilderInitial<''>;\nexport function integer<TMode extends IntegerConfig['mode']>(\n\tconfig?: IntegerConfig<TMode>,\n): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<''>\n\t: Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<''>\n\t: SQLiteIntegerBuilderInitial<''>;\nexport function integer<TName extends string, TMode extends IntegerConfig['mode']>(\n\tname: TName,\n\tconfig?: IntegerConfig<TMode>,\n): Or<Equal<TMode, 'timestamp'>, Equal<TMode, 'timestamp_ms'>> extends true ? SQLiteTimestampBuilderInitial<TName>\n\t: Equal<TMode, 'boolean'> extends true ? SQLiteBooleanBuilderInitial<TName>\n\t: SQLiteIntegerBuilderInitial<TName>;\nexport function integer(a?: string | IntegerConfig, b?: IntegerConfig) {\n\tconst { name, config } = getColumnNameAndConfig<IntegerConfig | undefined>(a, b);\n\tif (config?.mode === 'timestamp' || config?.mode === 'timestamp_ms') {\n\t\treturn new SQLiteTimestampBuilder(name, config.mode);\n\t}\n\tif (config?.mode === 'boolean') {\n\t\treturn new SQLiteBooleanBuilder(name, config.mode);\n\t}\n\treturn new SQLiteIntegerBuilder(name);\n}\n\nexport const int = integer;\n"],"mappings":"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","names":[]}
@@ -45,7 +45,7 @@ class SQLiteNumeric extends import_common.SQLiteColumn {
45
45
  }
46
46
  }
47
47
  function numeric(name) {
48
- return new SQLiteNumericBuilder(name);
48
+ return new SQLiteNumericBuilder(name ?? "");
49
49
  }
50
50
  // Annotate the CommonJS export names for ESM import in node:
51
51
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/numeric.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteNumericBuilderInitial<TName extends string> = SQLiteNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteNumeric'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteNumericBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SQLiteNumeric');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumeric<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteNumeric<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteNumeric'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteNumeric';\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport function numeric<TName extends string>(name: TName): SQLiteNumericBuilderInitial<TName> {\n\treturn new SQLiteNumericBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAAkD;AAY3C,MAAM,6BACJ,kCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,eAAe;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,2BAAgB;AAAA,EACzG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,QAA8B,MAAiD;AAC9F,SAAO,IAAI,qBAAqB,IAAI;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/numeric.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteNumericBuilderInitial<TName extends string> = SQLiteNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteNumeric'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteNumericBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SQLiteNumeric');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumeric<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteNumeric<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteNumeric'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteNumeric';\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport function numeric(): SQLiteNumericBuilderInitial<''>;\nexport function numeric<TName extends string>(name: TName): SQLiteNumericBuilderInitial<TName>;\nexport function numeric(name?: string) {\n\treturn new SQLiteNumericBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAAkD;AAY3C,MAAM,6BACJ,kCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,eAAe;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,2BAAgB;AAAA,EACzG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,qBAAqB,QAAQ,EAAE;AAC3C;","names":[]}
@@ -19,4 +19,5 @@ export declare class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteN
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function numeric(): SQLiteNumericBuilderInitial<''>;
22
23
  export declare function numeric<TName extends string>(name: TName): SQLiteNumericBuilderInitial<TName>;
@@ -19,4 +19,5 @@ export declare class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteN
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function numeric(): SQLiteNumericBuilderInitial<''>;
22
23
  export declare function numeric<TName extends string>(name: TName): SQLiteNumericBuilderInitial<TName>;
@@ -20,7 +20,7 @@ class SQLiteNumeric extends SQLiteColumn {
20
20
  }
21
21
  }
22
22
  function numeric(name) {
23
- return new SQLiteNumericBuilder(name);
23
+ return new SQLiteNumericBuilder(name ?? "");
24
24
  }
25
25
  export {
26
26
  SQLiteNumeric,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/numeric.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteNumericBuilderInitial<TName extends string> = SQLiteNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteNumeric'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteNumericBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SQLiteNumeric');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumeric<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteNumeric<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteNumeric'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteNumeric';\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport function numeric<TName extends string>(name: TName): SQLiteNumericBuilderInitial<TName> {\n\treturn new SQLiteNumericBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,cAAc,2BAA2B;AAY3C,MAAM,6BACJ,oBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,eAAe;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,aAAgB;AAAA,EACzG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,QAA8B,MAAiD;AAC9F,SAAO,IAAI,qBAAqB,IAAI;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/numeric.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteNumericBuilderInitial<TName extends string> = SQLiteNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteNumericBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteNumeric'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteNumericBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SQLiteNumeric');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumeric<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteNumeric<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumeric<T extends ColumnBaseConfig<'string', 'SQLiteNumeric'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteNumeric';\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport function numeric(): SQLiteNumericBuilderInitial<''>;\nexport function numeric<TName extends string>(name: TName): SQLiteNumericBuilderInitial<TName>;\nexport function numeric(name?: string) {\n\treturn new SQLiteNumericBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,cAAc,2BAA2B;AAY3C,MAAM,6BACJ,oBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,eAAe;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA6E,aAAgB;AAAA,EACzG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,QAAQ,MAAe;AACtC,SAAO,IAAI,qBAAqB,QAAQ,EAAE;AAC3C;","names":[]}
@@ -42,7 +42,7 @@ class SQLiteReal extends import_common.SQLiteColumn {
42
42
  }
43
43
  }
44
44
  function real(name) {
45
- return new SQLiteRealBuilder(name);
45
+ return new SQLiteRealBuilder(name ?? "");
46
46
  }
47
47
  // Annotate the CommonJS export names for ESM import in node:
48
48
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/real.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteRealBuilderInitial<TName extends string> = SQLiteRealBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteReal';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteRealBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteReal'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteRealBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteReal');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteReal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteReal<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteReal<T extends ColumnBaseConfig<'number', 'SQLiteReal'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteReal';\n\n\tgetSQLType(): string {\n\t\treturn 'real';\n\t}\n}\n\nexport function real<TName extends string>(name: TName): SQLiteRealBuilderInitial<TName> {\n\treturn new SQLiteRealBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAAkD;AAY3C,MAAM,0BACJ,kCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBAAuE,2BAAgB;AAAA,EACnG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAA2B,MAA8C;AACxF,SAAO,IAAI,kBAAkB,IAAI;AAClC;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/real.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteRealBuilderInitial<TName extends string> = SQLiteRealBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteReal';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteRealBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteReal'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteRealBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteReal');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteReal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteReal<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteReal<T extends ColumnBaseConfig<'number', 'SQLiteReal'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteReal';\n\n\tgetSQLType(): string {\n\t\treturn 'real';\n\t}\n}\n\nexport function real(): SQLiteRealBuilderInitial<''>;\nexport function real<TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;\nexport function real(name?: string) {\n\treturn new SQLiteRealBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,oBAAkD;AAY3C,MAAM,0BACJ,kCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBAAuE,2BAAgB;AAAA,EACnG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,KAAK,MAAe;AACnC,SAAO,IAAI,kBAAkB,QAAQ,EAAE;AACxC;","names":[]}
@@ -19,4 +19,5 @@ export declare class SQLiteReal<T extends ColumnBaseConfig<'number', 'SQLiteReal
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function real(): SQLiteRealBuilderInitial<''>;
22
23
  export declare function real<TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
@@ -19,4 +19,5 @@ export declare class SQLiteReal<T extends ColumnBaseConfig<'number', 'SQLiteReal
19
19
  static readonly [entityKind]: string;
20
20
  getSQLType(): string;
21
21
  }
22
+ export declare function real(): SQLiteRealBuilderInitial<''>;
22
23
  export declare function real<TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;
@@ -17,7 +17,7 @@ class SQLiteReal extends SQLiteColumn {
17
17
  }
18
18
  }
19
19
  function real(name) {
20
- return new SQLiteRealBuilder(name);
20
+ return new SQLiteRealBuilder(name ?? "");
21
21
  }
22
22
  export {
23
23
  SQLiteReal,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/real.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteRealBuilderInitial<TName extends string> = SQLiteRealBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteReal';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteRealBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteReal'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteRealBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteReal');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteReal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteReal<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteReal<T extends ColumnBaseConfig<'number', 'SQLiteReal'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteReal';\n\n\tgetSQLType(): string {\n\t\treturn 'real';\n\t}\n}\n\nexport function real<TName extends string>(name: TName): SQLiteRealBuilderInitial<TName> {\n\treturn new SQLiteRealBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,cAAc,2BAA2B;AAY3C,MAAM,0BACJ,oBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBAAuE,aAAgB;AAAA,EACnG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAA2B,MAA8C;AACxF,SAAO,IAAI,kBAAkB,IAAI;AAClC;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/real.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteRealBuilderInitial<TName extends string> = SQLiteRealBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteReal';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteRealBuilder<T extends ColumnBuilderBaseConfig<'number', 'SQLiteReal'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteRealBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteReal');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteReal<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteReal<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteReal<T extends ColumnBaseConfig<'number', 'SQLiteReal'>> extends SQLiteColumn<T> {\n\tstatic readonly [entityKind]: string = 'SQLiteReal';\n\n\tgetSQLType(): string {\n\t\treturn 'real';\n\t}\n}\n\nexport function real(): SQLiteRealBuilderInitial<''>;\nexport function real<TName extends string>(name: TName): SQLiteRealBuilderInitial<TName>;\nexport function real(name?: string) {\n\treturn new SQLiteRealBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,cAAc,2BAA2B;AAY3C,MAAM,0BACJ,oBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,YAAY;AAAA,EACnC;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBAAuE,aAAgB;AAAA,EACnG,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,KAAK,MAAe;AACnC,SAAO,IAAI,kBAAkB,QAAQ,EAAE;AACxC;","names":[]}
@@ -26,6 +26,7 @@ __export(text_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(text_exports);
28
28
  var import_entity = require("../../entity.cjs");
29
+ var import_utils = require("../../utils.cjs");
29
30
  var import_common = require("./common.cjs");
30
31
  class SQLiteTextBuilder extends import_common.SQLiteColumnBuilder {
31
32
  static [import_entity.entityKind] = "SQLiteTextBuilder";
@@ -75,8 +76,12 @@ class SQLiteTextJson extends import_common.SQLiteColumn {
75
76
  return JSON.stringify(value);
76
77
  }
77
78
  }
78
- function text(name, config = {}) {
79
- return config.mode === "json" ? new SQLiteTextJsonBuilder(name) : new SQLiteTextBuilder(name, config);
79
+ function text(a, b = {}) {
80
+ const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
81
+ if (config.mode === "json") {
82
+ return new SQLiteTextJsonBuilder(name);
83
+ }
84
+ return new SQLiteTextBuilder(name, config);
80
85
  }
81
86
  // Annotate the CommonJS export names for ESM import in node:
82
87
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/text.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Equal, Writable } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SQLiteTextBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteText';\n\tdata: TEnum[number];\n\tdriverParam: string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteText'>> extends SQLiteColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteTextBuilder';\n\n\tconstructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues']>) {\n\t\tsuper(name, 'string', 'SQLiteText');\n\t\tthis.config.enumValues = config.enum;\n\t\tthis.config.length = config.length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteText<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteText<T extends ColumnBaseConfig<'string', 'SQLiteText'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteText';\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\treadonly length: number | undefined = this.config.length;\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteTextBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `text${this.config.length ? `(${this.config.length})` : ''}`;\n\t}\n}\n\nexport type SQLiteTextJsonBuilderInitial<TName extends string> = SQLiteTextJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteTextJson';\n\tdata: unknown;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteTextJson');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTextJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTextJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJson';\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type SQLiteTextConfig<\n\tTMode extends 'text' | 'json',\n\tTEnum extends readonly string[] | string[] | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: number;\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t};\n\nexport function text<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig: SQLiteTextConfig<TMode, T | Writable<T>> = {} as SQLiteTextConfig<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName>\n\t: SQLiteTextBuilderInitial<TName, Writable<T>>\n{\n\treturn (config.mode === 'json'\n\t\t? new SQLiteTextJsonBuilder(name)\n\t\t: new SQLiteTextBuilder(name, config as SQLiteTextConfig<'text', Writable<T>>)) as Equal<TMode, 'json'> extends true\n\t\t\t? SQLiteTextJsonBuilderInitial<TName>\n\t\t\t: SQLiteTextBuilderInitial<TName, Writable<T>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,oBAAkD;AAY3C,MAAM,0BAAqF,kCAGhG;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAmD;AAC/E,UAAM,MAAM,UAAU,YAAY;AAClC,SAAK,OAAO,aAAa,OAAO;AAChC,SAAK,OAAO,SAAS,OAAO;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBACJ,2BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAErB,aAAa,KAAK,OAAO;AAAA,EAElC,SAA6B,KAAK,OAAO;AAAA,EAElD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,OAAO,KAAK,OAAO,SAAS,IAAI,KAAK,OAAO,MAAM,MAAM,EAAE;AAAA,EAClE;AACD;AAYO,MAAM,8BACJ,kCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,gBAAgB;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,2BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA0B;AACrD,WAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AACD;AAcO,SAAS,KAMf,MACA,SAAmD,CAAC,GAGrD;AACC,SAAQ,OAAO,SAAS,SACrB,IAAI,sBAAsB,IAAI,IAC9B,IAAI,kBAAkB,MAAM,MAA+C;AAG/E;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/text.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SQLiteTextBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteText';\n\tdata: TEnum[number];\n\tdriverParam: string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteText'>> extends SQLiteColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteTextBuilder';\n\n\tconstructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues']>) {\n\t\tsuper(name, 'string', 'SQLiteText');\n\t\tthis.config.enumValues = config.enum;\n\t\tthis.config.length = config.length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteText<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteText<T extends ColumnBaseConfig<'string', 'SQLiteText'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteText';\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\treadonly length: number | undefined = this.config.length;\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteTextBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `text${this.config.length ? `(${this.config.length})` : ''}`;\n\t}\n}\n\nexport type SQLiteTextJsonBuilderInitial<TName extends string> = SQLiteTextJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteTextJson';\n\tdata: unknown;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteTextJson');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTextJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTextJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJson';\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type SQLiteTextConfig<\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: number;\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t};\n\nexport function text(): SQLiteTextBuilderInitial<'', [string, ...string[]]>;\nexport function text<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tconfig?: SQLiteTextConfig<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<''>\n\t: SQLiteTextBuilderInitial<'', Writable<T>>;\nexport function text<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig?: SQLiteTextConfig<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName>\n\t: SQLiteTextBuilderInitial<TName, Writable<T>>;\nexport function text(a?: string | SQLiteTextConfig, b: SQLiteTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SQLiteTextConfig>(a, b);\n\tif (config.mode === 'json') {\n\t\treturn new SQLiteTextJsonBuilder(name);\n\t}\n\treturn new SQLiteTextBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAkE;AAClE,oBAAkD;AAY3C,MAAM,0BAAqF,kCAGhG;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAmD;AAC/E,UAAM,MAAM,UAAU,YAAY;AAClC,SAAK,OAAO,aAAa,OAAO;AAChC,SAAK,OAAO,SAAS,OAAO;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBACJ,2BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAErB,aAAa,KAAK,OAAO;AAAA,EAElC,SAA6B,KAAK,OAAO;AAAA,EAElD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,OAAO,KAAK,OAAO,SAAS,IAAI,KAAK,OAAO,MAAM,MAAM,EAAE;AAAA,EAClE;AACD;AAYO,MAAM,8BACJ,kCACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,gBAAgB;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,2BACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA0B;AACrD,WAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AACD;AAiCO,SAAS,KAAK,GAA+B,IAAsB,CAAC,GAAQ;AAClF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAyC,GAAG,CAAC;AACtE,MAAI,OAAO,SAAS,QAAQ;AAC3B,WAAO,IAAI,sBAAsB,IAAI;AAAA,EACtC;AACA,SAAO,IAAI,kBAAkB,MAAM,MAAa;AACjD;","names":[]}
@@ -2,7 +2,7 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
2
2
  import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
4
  import type { AnySQLiteTable } from "../table.cjs";
5
- import type { Equal, Writable } from "../../utils.cjs";
5
+ import { type Equal, type Writable } from "../../utils.cjs";
6
6
  import { SQLiteColumn, SQLiteColumnBuilder } from "./common.cjs";
7
7
  export type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SQLiteTextBuilder<{
8
8
  name: TName;
@@ -54,11 +54,13 @@ export declare class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTe
54
54
  mapFromDriverValue(value: string): T['data'];
55
55
  mapToDriverValue(value: T['data']): string;
56
56
  }
57
- export type SQLiteTextConfig<TMode extends 'text' | 'json', TEnum extends readonly string[] | string[] | undefined> = TMode extends 'text' ? {
57
+ export type SQLiteTextConfig<TMode extends 'text' | 'json' = 'text' | 'json', TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined> = TMode extends 'text' ? {
58
58
  mode?: TMode;
59
59
  length?: number;
60
60
  enum?: TEnum;
61
61
  } : {
62
62
  mode?: TMode;
63
63
  };
64
+ export declare function text(): SQLiteTextBuilderInitial<'', [string, ...string[]]>;
65
+ export declare function text<U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(config?: SQLiteTextConfig<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<''> : SQLiteTextBuilderInitial<'', Writable<T>>;
64
66
  export declare function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(name: TName, config?: SQLiteTextConfig<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName> : SQLiteTextBuilderInitial<TName, Writable<T>>;
@@ -2,7 +2,7 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
2
2
  import type { ColumnBaseConfig } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
4
  import type { AnySQLiteTable } from "../table.js";
5
- import type { Equal, Writable } from "../../utils.js";
5
+ import { type Equal, type Writable } from "../../utils.js";
6
6
  import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";
7
7
  export type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SQLiteTextBuilder<{
8
8
  name: TName;
@@ -54,11 +54,13 @@ export declare class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTe
54
54
  mapFromDriverValue(value: string): T['data'];
55
55
  mapToDriverValue(value: T['data']): string;
56
56
  }
57
- export type SQLiteTextConfig<TMode extends 'text' | 'json', TEnum extends readonly string[] | string[] | undefined> = TMode extends 'text' ? {
57
+ export type SQLiteTextConfig<TMode extends 'text' | 'json' = 'text' | 'json', TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined> = TMode extends 'text' ? {
58
58
  mode?: TMode;
59
59
  length?: number;
60
60
  enum?: TEnum;
61
61
  } : {
62
62
  mode?: TMode;
63
63
  };
64
+ export declare function text(): SQLiteTextBuilderInitial<'', [string, ...string[]]>;
65
+ export declare function text<U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(config?: SQLiteTextConfig<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<''> : SQLiteTextBuilderInitial<'', Writable<T>>;
64
66
  export declare function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(name: TName, config?: SQLiteTextConfig<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName> : SQLiteTextBuilderInitial<TName, Writable<T>>;
@@ -1,4 +1,5 @@
1
1
  import { entityKind } from "../../entity.js";
2
+ import { getColumnNameAndConfig } from "../../utils.js";
2
3
  import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";
3
4
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
4
5
  static [entityKind] = "SQLiteTextBuilder";
@@ -48,8 +49,12 @@ class SQLiteTextJson extends SQLiteColumn {
48
49
  return JSON.stringify(value);
49
50
  }
50
51
  }
51
- function text(name, config = {}) {
52
- return config.mode === "json" ? new SQLiteTextJsonBuilder(name) : new SQLiteTextBuilder(name, config);
52
+ function text(a, b = {}) {
53
+ const { name, config } = getColumnNameAndConfig(a, b);
54
+ if (config.mode === "json") {
55
+ return new SQLiteTextJsonBuilder(name);
56
+ }
57
+ return new SQLiteTextBuilder(name, config);
53
58
  }
54
59
  export {
55
60
  SQLiteText,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/text.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Equal, Writable } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SQLiteTextBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteText';\n\tdata: TEnum[number];\n\tdriverParam: string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteText'>> extends SQLiteColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteTextBuilder';\n\n\tconstructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues']>) {\n\t\tsuper(name, 'string', 'SQLiteText');\n\t\tthis.config.enumValues = config.enum;\n\t\tthis.config.length = config.length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteText<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteText<T extends ColumnBaseConfig<'string', 'SQLiteText'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteText';\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\treadonly length: number | undefined = this.config.length;\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteTextBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `text${this.config.length ? `(${this.config.length})` : ''}`;\n\t}\n}\n\nexport type SQLiteTextJsonBuilderInitial<TName extends string> = SQLiteTextJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteTextJson';\n\tdata: unknown;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteTextJson');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTextJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTextJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJson';\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type SQLiteTextConfig<\n\tTMode extends 'text' | 'json',\n\tTEnum extends readonly string[] | string[] | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: number;\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t};\n\nexport function text<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig: SQLiteTextConfig<TMode, T | Writable<T>> = {} as SQLiteTextConfig<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName>\n\t: SQLiteTextBuilderInitial<TName, Writable<T>>\n{\n\treturn (config.mode === 'json'\n\t\t? new SQLiteTextJsonBuilder(name)\n\t\t: new SQLiteTextBuilder(name, config as SQLiteTextConfig<'text', Writable<T>>)) as Equal<TMode, 'json'> extends true\n\t\t\t? SQLiteTextJsonBuilderInitial<TName>\n\t\t\t: SQLiteTextBuilderInitial<TName, Writable<T>>;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAS,cAAc,2BAA2B;AAY3C,MAAM,0BAAqF,oBAGhG;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAmD;AAC/E,UAAM,MAAM,UAAU,YAAY;AAClC,SAAK,OAAO,aAAa,OAAO;AAChC,SAAK,OAAO,SAAS,OAAO;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBACJ,aACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAErB,aAAa,KAAK,OAAO;AAAA,EAElC,SAA6B,KAAK,OAAO;AAAA,EAElD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,OAAO,KAAK,OAAO,SAAS,IAAI,KAAK,OAAO,MAAM,MAAM,EAAE;AAAA,EAClE;AACD;AAYO,MAAM,8BACJ,oBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,gBAAgB;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,aACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA0B;AACrD,WAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AACD;AAcO,SAAS,KAMf,MACA,SAAmD,CAAC,GAGrD;AACC,SAAQ,OAAO,SAAS,SACrB,IAAI,sBAAsB,IAAI,IAC9B,IAAI,kBAAkB,MAAM,MAA+C;AAG/E;","names":[]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/text.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SQLiteTextBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteText';\n\tdata: TEnum[number];\n\tdriverParam: string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteText'>> extends SQLiteColumnBuilder<\n\tT,\n\t{ length: number | undefined; enumValues: T['enumValues'] }\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteTextBuilder';\n\n\tconstructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues']>) {\n\t\tsuper(name, 'string', 'SQLiteText');\n\t\tthis.config.enumValues = config.enum;\n\t\tthis.config.length = config.length;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteText<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any, any>);\n\t}\n}\n\nexport class SQLiteText<T extends ColumnBaseConfig<'string', 'SQLiteText'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteText';\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\treadonly length: number | undefined = this.config.length;\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteTextBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `text${this.config.length ? `(${this.config.length})` : ''}`;\n\t}\n}\n\nexport type SQLiteTextJsonBuilderInitial<TName extends string> = SQLiteTextJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteTextJson';\n\tdata: unknown;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteTextJson');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTextJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteTextJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTextJson'>>\n\textends SQLiteColumn<T, { length: number | undefined; enumValues: T['enumValues'] }>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteTextJson';\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type SQLiteTextConfig<\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: number;\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t};\n\nexport function text(): SQLiteTextBuilderInitial<'', [string, ...string[]]>;\nexport function text<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tconfig?: SQLiteTextConfig<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<''>\n\t: SQLiteTextBuilderInitial<'', Writable<T>>;\nexport function text<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig?: SQLiteTextConfig<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName>\n\t: SQLiteTextBuilderInitial<TName, Writable<T>>;\nexport function text(a?: string | SQLiteTextConfig, b: SQLiteTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SQLiteTextConfig>(a, b);\n\tif (config.mode === 'json') {\n\t\treturn new SQLiteTextJsonBuilder(name);\n\t}\n\treturn new SQLiteTextBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA6C;AAClE,SAAS,cAAc,2BAA2B;AAY3C,MAAM,0BAAqF,oBAGhG;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB,QAAmD;AAC/E,UAAM,MAAM,UAAU,YAAY;AAClC,SAAK,OAAO,aAAa,OAAO;AAChC,SAAK,OAAO,SAAS,OAAO;AAAA,EAC7B;AAAA;AAAA,EAGS,MACR,OAC8C;AAC9C,WAAO,IAAI,WAA4C,OAAO,KAAK,MAA8C;AAAA,EAClH;AACD;AAEO,MAAM,mBACJ,aACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAErB,aAAa,KAAK,OAAO;AAAA,EAElC,SAA6B,KAAK,OAAO;AAAA,EAElD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,OAAO,KAAK,OAAO,SAAS,IAAI,KAAK,OAAO,MAAM,MAAM,EAAE;AAAA,EAClE;AACD;AAYO,MAAM,8BACJ,oBACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,gBAAgB;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,aACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAA0B;AACrD,WAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AACD;AAiCO,SAAS,KAAK,GAA+B,IAAsB,CAAC,GAAQ;AAClF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAyC,GAAG,CAAC;AACtE,MAAI,OAAO,SAAS,QAAQ;AAC3B,WAAO,IAAI,sBAAsB,IAAI;AAAA,EACtC;AACA,SAAO,IAAI,kBAAkB,MAAM,MAAa;AACjD;","names":[]}
@@ -96,10 +96,11 @@ class BaseSQLiteDatabase {
96
96
  * ```
97
97
  */
98
98
  $with(alias) {
99
+ const self = this;
99
100
  return {
100
101
  as(qb) {
101
102
  if (typeof qb === "function") {
102
- qb = qb(new import_query_builders.QueryBuilder());
103
+ qb = qb(new import_query_builders.QueryBuilder(self.dialect));
103
104
  }
104
105
  return new Proxy(
105
106
  new import_subquery.WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),