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/mysql-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/mysql-core/subquery.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { MySqlSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlQueryBuilder';\n\n\tprivate dialect: MySqlDialect | undefined;\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new MySqlDialect();\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAG7B,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAG5B,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EAER,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,aAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9G;AAAA,EAMA,eACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,aAAa;AAAA,IACjC;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/query-builders/query-builder.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { MySqlDialectConfig } from '~/mysql-core/dialect.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { WithSubqueryWithSelection } from '~/mysql-core/subquery.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { MySqlSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlQueryBuilder';\n\n\tprivate dialect: MySqlDialect | undefined;\n\tprivate dialectConfig: MySqlDialectConfig | undefined;\n\n\tconstructor(dialect?: MySqlDialect | MySqlDialectConfig) {\n\t\tthis.dialect = is(dialect, MySqlDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, MySqlDialect) ? undefined : dialect;\n\t}\n\n\t$with<TAlias extends string>(alias: TAlias) {\n\t\tconst queryBuilder = this;\n\n\t\treturn {\n\t\t\tas<TSelection extends ColumnsSelection>(\n\t\t\t\tqb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),\n\t\t\t): WithSubqueryWithSelection<TSelection, TAlias> {\n\t\t\t\tif (typeof qb === 'function') {\n\t\t\t\t\tqb = qb(queryBuilder);\n\t\t\t\t}\n\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tnew WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),\n\t\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t\t) as WithSubqueryWithSelection<TSelection, TAlias>;\n\t\t\t},\n\t\t};\n\t}\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction select<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields: TSelection,\n\t\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\t\tfunction selectDistinct<TSelection extends SelectedFields>(\n\t\t\tfields?: TSelection,\n\t\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\t\treturn new MySqlSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselect<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields: TSelection,\n\t): MySqlSelectBuilder<TSelection, never, 'qb'>;\n\tselectDistinct<TSelection extends SelectedFields>(\n\t\tfields?: TSelection,\n\t): MySqlSelectBuilder<TSelection | undefined, never, 'qb'> {\n\t\treturn new MySqlSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new MySqlDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAE/B,SAAS,oBAAoB;AAG7B,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAG5B,MAAM,aAAa;AAAA,EACzB,QAAiB,UAAU,IAAY;AAAA,EAE/B;AAAA,EACA;AAAA,EAER,YAAY,SAA6C;AACxD,SAAK,UAAU,GAAG,SAAS,YAAY,IAAI,UAAU;AACrD,SAAK,gBAAgB,GAAG,SAAS,YAAY,IAAI,SAAY;AAAA,EAC9D;AAAA,EAEA,MAA6B,OAAe;AAC3C,UAAM,eAAe;AAErB,WAAO;AAAA,MACN,GACC,IACgD;AAChD,YAAI,OAAO,OAAO,YAAY;AAC7B,eAAK,GAAG,YAAY;AAAA,QACrB;AAEA,eAAO,IAAI;AAAA,UACV,IAAI,aAAa,GAAG,OAAO,GAAG,GAAG,kBAAkB,GAAqB,OAAO,IAAI;AAAA,UACnF,IAAI,sBAAsB,EAAE,OAAO,oBAAoB,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,SAAyB;AAChC,UAAM,OAAO;AAMb,aAAS,OACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAMA,aAAS,eACR,QAC0D;AAC1D,aAAO,IAAI,mBAAmB;AAAA,QAC7B,QAAQ,UAAU;AAAA,QAClB,SAAS;AAAA,QACT,SAAS,KAAK,WAAW;AAAA,QACzB,UAAU;AAAA,QACV,UAAU;AAAA,MACX,CAAC;AAAA,IACF;AAEA,WAAO,EAAE,QAAQ,eAAe;AAAA,EACjC;AAAA,EAIA,OACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB,EAAE,QAAQ,UAAU,QAAW,SAAS,QAAW,SAAS,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9G;AAAA,EAMA,eACC,QAC0D;AAC1D,WAAO,IAAI,mBAAmB;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB,SAAS;AAAA,MACT,SAAS,KAAK,WAAW;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA;AAAA,EAGQ,aAAa;AACpB,QAAI,CAAC,KAAK,SAAS;AAClB,WAAK,UAAU,IAAI,aAAa,KAAK,aAAa;AAAA,IACnD;AAEA,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -27,6 +27,7 @@ __export(table_exports, {
27
27
  module.exports = __toCommonJS(table_exports);
28
28
  var import_entity = require("../entity.cjs");
29
29
  var import_table = require("../table.cjs");
30
+ var import_all = require("./columns/all.cjs");
30
31
  const InlineForeignKeys = Symbol.for("drizzle:MySqlInlineForeignKeys");
31
32
  class MySqlTable extends import_table.Table {
32
33
  static [import_entity.entityKind] = "MySqlTable";
@@ -43,9 +44,11 @@ class MySqlTable extends import_table.Table {
43
44
  }
44
45
  function mysqlTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
45
46
  const rawTable = new MySqlTable(name, schema, baseName);
47
+ const parsedColumns = typeof columns === "function" ? columns((0, import_all.getMySqlColumnBuilders)()) : columns;
46
48
  const builtColumns = Object.fromEntries(
47
- Object.entries(columns).map(([name2, colBuilderBase]) => {
49
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
48
50
  const colBuilder = colBuilderBase;
51
+ colBuilder.setName(name2);
49
52
  const column = colBuilder.build(rawTable);
50
53
  rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));
51
54
  return [name2, column];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap,\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(columns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAoB5E,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,mBAAS;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AACvD,YAAM,aAAa;AACnB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAkBO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
1
+ {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getMySqlColumnBuilders, type MySqlColumnBuilders } from './columns/all.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap),\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getMySqlColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: MySqlColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAEnF,iBAAiE;AAmB1D,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,mBAAS;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,mCAAuB,CAAC,IAAI;AAEvG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAgCO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
@@ -2,6 +2,7 @@ import type { BuildColumns } from "../column-builder.cjs";
2
2
  import { entityKind } from "../entity.cjs";
3
3
  import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from "../table.cjs";
4
4
  import type { CheckBuilder } from "./checks.cjs";
5
+ import { type MySqlColumnBuilders } from "./columns/all.cjs";
5
6
  import type { MySqlColumn, MySqlColumnBuilderBase } from "./columns/common.cjs";
6
7
  import type { ForeignKeyBuilder } from "./foreign-keys.cjs";
7
8
  import type { AnyIndexBuilder } from "./indexes.cjs";
@@ -17,7 +18,7 @@ export type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTab
17
18
  export type MySqlTableWithColumns<T extends TableConfig> = MySqlTable<T> & {
18
19
  [Key in keyof T['columns']]: T['columns'][Key];
19
20
  };
20
- export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
+ export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap), extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
22
  name: TTableName;
22
23
  schema: TSchemaName;
23
24
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
@@ -30,6 +31,12 @@ export interface MySqlTableFn<TSchemaName extends string | undefined = undefined
30
31
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
31
32
  dialect: 'mysql';
32
33
  }>;
34
+ <TTableName extends string, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: (columnTypes: MySqlColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig): MySqlTableWithColumns<{
35
+ name: TTableName;
36
+ schema: TSchemaName;
37
+ columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
38
+ dialect: 'mysql';
39
+ }>;
33
40
  }
34
41
  export declare const mysqlTable: MySqlTableFn;
35
42
  export declare function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn;
@@ -2,6 +2,7 @@ import type { BuildColumns } from "../column-builder.js";
2
2
  import { entityKind } from "../entity.js";
3
3
  import { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from "../table.js";
4
4
  import type { CheckBuilder } from "./checks.js";
5
+ import { type MySqlColumnBuilders } from "./columns/all.js";
5
6
  import type { MySqlColumn, MySqlColumnBuilderBase } from "./columns/common.js";
6
7
  import type { ForeignKeyBuilder } from "./foreign-keys.js";
7
8
  import type { AnyIndexBuilder } from "./indexes.js";
@@ -17,7 +18,7 @@ export type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTab
17
18
  export type MySqlTableWithColumns<T extends TableConfig> = MySqlTable<T> & {
18
19
  [Key in keyof T['columns']]: T['columns'][Key];
19
20
  };
20
- export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
+ export declare function mysqlTableWithSchema<TTableName extends string, TSchemaName extends string | undefined, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap), extraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined, schema: TSchemaName, baseName?: TTableName): MySqlTableWithColumns<{
21
22
  name: TTableName;
22
23
  schema: TSchemaName;
23
24
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
@@ -30,6 +31,12 @@ export interface MySqlTableFn<TSchemaName extends string | undefined = undefined
30
31
  columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
31
32
  dialect: 'mysql';
32
33
  }>;
34
+ <TTableName extends string, TColumnsMap extends Record<string, MySqlColumnBuilderBase>>(name: TTableName, columns: (columnTypes: MySqlColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig): MySqlTableWithColumns<{
35
+ name: TTableName;
36
+ schema: TSchemaName;
37
+ columns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;
38
+ dialect: 'mysql';
39
+ }>;
33
40
  }
34
41
  export declare const mysqlTable: MySqlTableFn;
35
42
  export declare function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn;
@@ -1,5 +1,6 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import { Table } from "../table.js";
3
+ import { getMySqlColumnBuilders } from "./columns/all.js";
3
4
  const InlineForeignKeys = Symbol.for("drizzle:MySqlInlineForeignKeys");
4
5
  class MySqlTable extends Table {
5
6
  static [entityKind] = "MySqlTable";
@@ -16,9 +17,11 @@ class MySqlTable extends Table {
16
17
  }
17
18
  function mysqlTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
18
19
  const rawTable = new MySqlTable(name, schema, baseName);
20
+ const parsedColumns = typeof columns === "function" ? columns(getMySqlColumnBuilders()) : columns;
19
21
  const builtColumns = Object.fromEntries(
20
- Object.entries(columns).map(([name2, colBuilderBase]) => {
22
+ Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {
21
23
  const colBuilder = colBuilderBase;
24
+ colBuilder.setName(name2);
22
25
  const column = colBuilder.build(rawTable);
23
26
  rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));
24
27
  return [name2, column];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap,\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(columns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAoB5E,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,MAAS;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AACvD,YAAM,aAAa;AACnB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAkBO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
1
+ {"version":3,"sources":["../../src/mysql-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getMySqlColumnBuilders, type MySqlColumnBuilders } from './columns/all.ts';\nimport type { MySqlColumn, MySqlColumnBuilder, MySqlColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type MySqlTableExtraConfig = Record<\n\tstring,\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n>;\n\nexport type TableConfig = TableConfigBase<MySqlColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:MySqlInlineForeignKeys');\n\nexport class MySqlTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic readonly [entityKind]: string = 'MySqlTable';\n\n\tdeclare protected $columns: T['columns'];\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, MySqlColumn>) => MySqlTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnyMySqlTable<TPartial extends Partial<TableConfig> = {}> = MySqlTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type MySqlTableWithColumns<T extends TableConfig> =\n\t& MySqlTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport function mysqlTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: MySqlColumnBuilders) => TColumnsMap),\n\textraConfig: ((self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig) | undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): MySqlTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\tdialect: 'mysql';\n}> {\n\tconst rawTable = new MySqlTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getMySqlColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as MySqlColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'mysql'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[MySqlTable.Symbol.ExtraConfigBuilder] = extraConfig as unknown as (\n\t\t\tself: Record<string, MySqlColumn>,\n\t\t) => MySqlTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport interface MySqlTableFn<TSchemaName extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, MySqlColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: MySqlColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'mysql'>) => MySqlTableExtraConfig,\n\t): MySqlTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'mysql'>;\n\t\tdialect: 'mysql';\n\t}>;\n}\n\nexport const mysqlTable: MySqlTableFn = (name, columns, extraConfig) => {\n\treturn mysqlTableWithSchema(name, columns, extraConfig, undefined, name);\n};\n\nexport function mysqlTableCreator(customizeTableName: (name: string) => string): MySqlTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn mysqlTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAEnF,SAAS,8BAAwD;AAmB1D,MAAM,oBAAoB,OAAO,IAAI,gCAAgC;AAErE,MAAM,mBAAwD,MAAS;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAKvC,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAYO,SAAS,qBAKf,MACA,SACA,aACA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,WAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,uBAAuB,CAAC,IAAI;AAEvG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,WAAW,OAAO,kBAAkB,IAAI;AAAA,EAG/C;AAEA,SAAO;AACR;AAgCO,MAAM,aAA2B,CAAC,MAAM,SAAS,gBAAgB;AACvE,SAAO,qBAAqB,MAAM,SAAS,aAAa,QAAW,IAAI;AACxE;AAEO,SAAS,kBAAkB,oBAA4D;AAC7F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,qBAAqB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC3G;AACD;","names":["name"]}
@@ -26,12 +26,12 @@ __export(unique_constraint_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(unique_constraint_exports);
28
28
  var import_entity = require("../entity.cjs");
29
- var import_table = require("./table.cjs");
29
+ var import_table_utils = require("../table.utils.cjs");
30
30
  function unique(name) {
31
31
  return new UniqueOnConstraintBuilder(name);
32
32
  }
33
33
  function uniqueKeyName(table, columns) {
34
- return `${table[import_table.MySqlTable.Symbol.Name]}_${columns.join("_")}_unique`;
34
+ return `${table[import_table_utils.TableName]}_${columns.join("_")}_unique`;
35
35
  }
36
36
  class UniqueConstraintBuilder {
37
37
  constructor(columns, name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[MySqlTable.Symbol.Name]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,mBAA2B;AAEpB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,wBAAW,OAAO,IAAI,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAC7D;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,yBAA0B;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,4BAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { entityKind } from "../entity.cjs";
2
2
  import type { MySqlColumn } from "./columns/index.cjs";
3
- import { MySqlTable } from "./table.cjs";
3
+ import type { MySqlTable } from "./table.cjs";
4
4
  export declare function unique(name?: string): UniqueOnConstraintBuilder;
5
5
  export declare function uniqueKeyName(table: MySqlTable, columns: string[]): string;
6
6
  export declare class UniqueConstraintBuilder {
@@ -1,6 +1,6 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  import type { MySqlColumn } from "./columns/index.js";
3
- import { MySqlTable } from "./table.js";
3
+ import type { MySqlTable } from "./table.js";
4
4
  export declare function unique(name?: string): UniqueOnConstraintBuilder;
5
5
  export declare function uniqueKeyName(table: MySqlTable, columns: string[]): string;
6
6
  export declare class UniqueConstraintBuilder {
@@ -1,10 +1,10 @@
1
1
  import { entityKind } from "../entity.js";
2
- import { MySqlTable } from "./table.js";
2
+ import { TableName } from "../table.utils.js";
3
3
  function unique(name) {
4
4
  return new UniqueOnConstraintBuilder(name);
5
5
  }
6
6
  function uniqueKeyName(table, columns) {
7
- return `${table[MySqlTable.Symbol.Name]}_${columns.join("_")}_unique`;
7
+ return `${table[TableName]}_${columns.join("_")}_unique`;
8
8
  }
9
9
  class UniqueConstraintBuilder {
10
10
  constructor(columns, name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[MySqlTable.Symbol.Name]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,kBAAkB;AAEpB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,WAAW,OAAO,IAAI,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAC7D;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/unique-constraint.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: MySqlTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [MySqlColumn, ...MySqlColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'MySqlUniqueConstraint';\n\n\treadonly columns: MySqlColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAInB,SAAS,OAAO,MAA0C;AAChE,SAAO,IAAI,0BAA0B,IAAI;AAC1C;AAEO,SAAS,cAAc,OAAmB,SAAmB;AACnE,SAAO,GAAG,MAAM,SAAS,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;AAChD;AAEO,MAAM,wBAAwB;AAAA,EAMpC,YACC,SACQ,MACP;AADO;AAER,SAAK,UAAU;AAAA,EAChB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAUA,MAAM,OAAqC;AAC1C,WAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3D;AACD;AAEO,MAAM,0BAA0B;AAAA,EACtC,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA,EAEA,YACC,MACC;AACD,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,MAAM,SAA0C;AAC/C,WAAO,IAAI,wBAAwB,SAAS,KAAK,IAAI;AAAA,EACtD;AACD;AAEO,MAAM,iBAAiB;AAAA,EAO7B,YAAqB,OAAmB,SAAwB,MAAe;AAA1D;AACpB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC;AAAA,EACxF;AAAA,EATA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA,mBAA4B;AAAA,EAOrC,UAAU;AACT,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -32,7 +32,7 @@ class MySqlRemoteDatabase extends import_db.MySqlDatabase {
32
32
  static [import_entity.entityKind] = "MySqlRemoteDatabase";
33
33
  }
34
34
  function drizzle(callback, config = {}) {
35
- const dialect = new import_dialect.MySqlDialect();
35
+ const dialect = new import_dialect.MySqlDialect({ casing: config.casing });
36
36
  let logger;
37
37
  if (config.logger === true) {
38
38
  logger = new import_logger.DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema> = {},\n): MySqlRemoteDatabase<TSchema> {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new MySqlRemoteSession(callback, dialect, schema, { logger });\n\treturn new MySqlRemoteDatabase(dialect, session, schema as any, 'default') as MySqlRemoteDatabase<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AAEP,qBAAqG;AAE9F,MAAM,4BAEH,wBAA+E;AAAA,EACxF,QAAiB,wBAAU,IAAY;AACxC;AAQO,SAAS,QACf,UACA,SAAiC,CAAC,GACH;AAC/B,QAAM,UAAU,IAAI,4BAAa;AACjC,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,kCAAmB,UAAU,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC5E,SAAO,IAAI,oBAAoB,SAAS,SAAS,QAAe,SAAS;AAC1E;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema> = {},\n): MySqlRemoteDatabase<TSchema> {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new MySqlRemoteSession(callback, dialect, schema, { logger });\n\treturn new MySqlRemoteDatabase(dialect, session, schema as any, 'default') as MySqlRemoteDatabase<TSchema>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAC7B,uBAKO;AAEP,qBAAqG;AAE9F,MAAM,4BAEH,wBAA+E;AAAA,EACxF,QAAiB,wBAAU,IAAY;AACxC;AAQO,SAAS,QACf,UACA,SAAiC,CAAC,GACH;AAC/B,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,kCAAmB,UAAU,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC5E,SAAO,IAAI,oBAAoB,SAAS,SAAS,QAAe,SAAS;AAC1E;","names":[]}
@@ -11,7 +11,7 @@ class MySqlRemoteDatabase extends MySqlDatabase {
11
11
  static [entityKind] = "MySqlRemoteDatabase";
12
12
  }
13
13
  function drizzle(callback, config = {}) {
14
- const dialect = new MySqlDialect();
14
+ const dialect = new MySqlDialect({ casing: config.casing });
15
15
  let logger;
16
16
  if (config.logger === true) {
17
17
  logger = new DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema> = {},\n): MySqlRemoteDatabase<TSchema> {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new MySqlRemoteSession(callback, dialect, schema, { logger });\n\treturn new MySqlRemoteDatabase(dialect, session, schema as any, 'default') as MySqlRemoteDatabase<TSchema>;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AAEP,SAA2E,0BAA0B;AAE9F,MAAM,4BAEH,cAA+E;AAAA,EACxF,QAAiB,UAAU,IAAY;AACxC;AAQO,SAAS,QACf,UACA,SAAiC,CAAC,GACH;AAC/B,QAAM,UAAU,IAAI,aAAa;AACjC,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,mBAAmB,UAAU,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC5E,SAAO,IAAI,oBAAoB,SAAS,SAAS,QAAe,SAAS;AAC1E;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-proxy/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type MySqlRemotePreparedQueryHKT, type MySqlRemoteQueryResultHKT, MySqlRemoteSession } from './session.ts';\n\nexport class MySqlRemoteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySqlRemoteDatabase';\n}\n\nexport type RemoteCallback = (\n\tsql: string,\n\tparams: any[],\n\tmethod: 'all' | 'execute',\n) => Promise<{ rows: any[]; insertId?: number; affectedRows?: number }>;\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tcallback: RemoteCallback,\n\tconfig: DrizzleConfig<TSchema> = {},\n): MySqlRemoteDatabase<TSchema> {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new MySqlRemoteSession(callback, dialect, schema, { logger });\n\treturn new MySqlRemoteDatabase(dialect, session, schema as any, 'default') as MySqlRemoteDatabase<TSchema>;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AAEP,SAA2E,0BAA0B;AAE9F,MAAM,4BAEH,cAA+E;AAAA,EACxF,QAAiB,UAAU,IAAY;AACxC;AAQO,SAAS,QACf,UACA,SAAiC,CAAC,GACH;AAC/B,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,mBAAmB,UAAU,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC5E,SAAO,IAAI,oBAAoB,SAAS,SAAS,QAAe,SAAS;AAC1E;","names":[]}
package/mysql2/driver.cjs CHANGED
@@ -29,7 +29,7 @@ var import_logger = require("../logger.cjs");
29
29
  var import_db = require("../mysql-core/db.cjs");
30
30
  var import_dialect = require("../mysql-core/dialect.cjs");
31
31
  var import_relations = require("../relations.cjs");
32
- var import__ = require("../index.cjs");
32
+ var import_errors = require("../errors.cjs");
33
33
  var import_session = require("./session.cjs");
34
34
  var import_db2 = require("../mysql-core/db.cjs");
35
35
  class MySql2Driver {
@@ -47,7 +47,7 @@ class MySql2Database extends import_db.MySqlDatabase {
47
47
  static [import_entity.entityKind] = "MySql2Database";
48
48
  }
49
49
  function drizzle(client, config = {}) {
50
- const dialect = new import_dialect.MySqlDialect();
50
+ const dialect = new import_dialect.MySqlDialect({ casing: config.casing });
51
51
  let logger;
52
52
  if (config.logger === true) {
53
53
  logger = new import_logger.DefaultLogger();
@@ -58,7 +58,7 @@ function drizzle(client, config = {}) {
58
58
  let schema;
59
59
  if (config.schema) {
60
60
  if (config.mode === void 0) {
61
- throw new import__.DrizzleError({
61
+ throw new import_errors.DrizzleError({
62
62
  message: 'You need to specify "mode": "planetscale" or "default" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes'
63
63
  });
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import type { Connection as CallbackConnection, Pool as CallbackPool } from 'mysql2';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { DrizzleError } from '../index.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, schema, { logger: this.options.logger, mode });\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends MySql2Client | CallbackConnection | CallbackPool = MySql2Client | CallbackConnection | CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema> = {},\n): MySql2Database<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst mode = config.mode ?? 'default';\n\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger });\n\tconst session = driver.createSession(schema, mode);\n\tconst db = new MySql2Database(dialect, session, schema as any, mode) as MySql2Database<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAE7B,uBAKO;AAEP,eAA6B;AAE7B,qBAA8B;AAwB9B,IAAAA,aAA8B;AAlBvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA8B,CAAC,GACtC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,wBAAU,IAAY;AAAA,EASvC,cACC,QACA,MACiE;AACjE,WAAO,IAAI,6BAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,EAClG;AACD;AAIO,MAAM,uBAEH,wBAAqE;AAAA,EAC9E,QAAiB,wBAAU,IAAY;AACxC;AAMO,SAAS,QAIf,QACA,SAAuC,CAAC,GAGvC;AACD,QAAM,UAAU,IAAI,4BAAa;AACjC,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,QAAM,oBAAoB,iBAAiB,MAAM,IAAI,OAAO,QAAQ,IAAI;AAExE,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,QAAI,OAAO,SAAS,QAAW;AAC9B,YAAM,IAAI,sBAAa;AAAA,QACtB,SACC;AAAA,MACF,CAAC;AAAA,IACF;AAEA,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,SAAS,IAAI,aAAa,mBAAmC,SAAS,EAAE,OAAO,CAAC;AACtF,QAAM,UAAU,OAAO,cAAc,QAAQ,IAAI;AACjD,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,IAAI;AACnE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAMA,SAAS,iBAAiB,QAAuC;AAChE,SAAO,OAAO,OAAO,YAAY;AAClC;","names":["import_db"]}
1
+ {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import type { Connection as CallbackConnection, Pool as CallbackPool } from 'mysql2';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, schema, { logger: this.options.logger, mode });\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends MySql2Client | CallbackConnection | CallbackPool = MySql2Client | CallbackConnection | CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema> = {},\n): MySql2Database<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst mode = config.mode ?? 'default';\n\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger });\n\tconst session = driver.createSession(schema, mode);\n\tconst db = new MySql2Database(dialect, session, schema as any, mode) as MySql2Database<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAE7B,uBAKO;AAEP,oBAA6B;AAE7B,qBAA8B;AAwB9B,IAAAA,aAA8B;AAlBvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA8B,CAAC,GACtC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,wBAAU,IAAY;AAAA,EASvC,cACC,QACA,MACiE;AACjE,WAAO,IAAI,6BAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,EAClG;AACD;AAIO,MAAM,uBAEH,wBAAqE;AAAA,EAC9E,QAAiB,wBAAU,IAAY;AACxC;AAMO,SAAS,QAIf,QACA,SAAuC,CAAC,GAGvC;AACD,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,QAAM,oBAAoB,iBAAiB,MAAM,IAAI,OAAO,QAAQ,IAAI;AAExE,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,QAAI,OAAO,SAAS,QAAW;AAC9B,YAAM,IAAI,2BAAa;AAAA,QACtB,SACC;AAAA,MACF,CAAC;AAAA,IACF;AAEA,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,SAAS,IAAI,aAAa,mBAAmC,SAAS,EAAE,OAAO,CAAC;AACtF,QAAM,UAAU,OAAO,cAAc,QAAQ,IAAI;AACjD,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,IAAI;AACnE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAMA,SAAS,iBAAiB,QAAuC;AAChE,SAAO,OAAO,OAAO,YAAY;AAClC;","names":["import_db"]}
package/mysql2/driver.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  createTableRelationsHelpers,
7
7
  extractTablesRelationalConfig
8
8
  } from "../relations.js";
9
- import { DrizzleError } from "../index.js";
9
+ import { DrizzleError } from "../errors.js";
10
10
  import { MySql2Session } from "./session.js";
11
11
  class MySql2Driver {
12
12
  constructor(client, dialect, options = {}) {
@@ -24,7 +24,7 @@ class MySql2Database extends MySqlDatabase {
24
24
  static [entityKind] = "MySql2Database";
25
25
  }
26
26
  function drizzle(client, config = {}) {
27
- const dialect = new MySqlDialect();
27
+ const dialect = new MySqlDialect({ casing: config.casing });
28
28
  let logger;
29
29
  if (config.logger === true) {
30
30
  logger = new DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import type { Connection as CallbackConnection, Pool as CallbackPool } from 'mysql2';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { DrizzleError } from '../index.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, schema, { logger: this.options.logger, mode });\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends MySql2Client | CallbackConnection | CallbackPool = MySql2Client | CallbackConnection | CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema> = {},\n): MySql2Database<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst mode = config.mode ?? 'default';\n\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger });\n\tconst session = driver.createSession(schema, mode);\n\tconst db = new MySql2Database(dialect, session, schema as any, mode) as MySql2Database<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAE7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AAEP,SAAS,oBAAoB;AAE7B,SAAS,qBAAqB;AAMvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA8B,CAAC,GACtC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,UAAU,IAAY;AAAA,EASvC,cACC,QACA,MACiE;AACjE,WAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,EAClG;AACD;AAEA,SAAS,iBAAAA,sBAAqB;AAEvB,MAAM,uBAEH,cAAqE;AAAA,EAC9E,QAAiB,UAAU,IAAY;AACxC;AAMO,SAAS,QAIf,QACA,SAAuC,CAAC,GAGvC;AACD,QAAM,UAAU,IAAI,aAAa;AACjC,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,QAAM,oBAAoB,iBAAiB,MAAM,IAAI,OAAO,QAAQ,IAAI;AAExE,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,QAAI,OAAO,SAAS,QAAW;AAC9B,YAAM,IAAI,aAAa;AAAA,QACtB,SACC;AAAA,MACF,CAAC;AAAA,IACF;AAEA,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,SAAS,IAAI,aAAa,mBAAmC,SAAS,EAAE,OAAO,CAAC;AACtF,QAAM,UAAU,OAAO,cAAc,QAAQ,IAAI;AACjD,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,IAAI;AACnE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAMA,SAAS,iBAAiB,QAAuC;AAChE,SAAO,OAAO,OAAO,YAAY;AAClC;","names":["MySqlDatabase"]}
1
+ {"version":3,"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import type { Connection as CallbackConnection, Pool as CallbackPool } from 'mysql2';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, schema, { logger: this.options.logger, mode });\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema> {\n\tstatic readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends MySql2Client | CallbackConnection | CallbackPool = MySql2Client | CallbackConnection | CallbackPool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema> = {},\n): MySql2Database<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst mode = config.mode ?? 'default';\n\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, { logger });\n\tconst session = driver.createSession(schema, mode);\n\tconst db = new MySql2Database(dialect, session, schema as any, mode) as MySql2Database<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAE7B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AAEP,SAAS,oBAAoB;AAE7B,SAAS,qBAAqB;AAMvB,MAAM,aAAa;AAAA,EAGzB,YACS,QACA,SACA,UAA8B,CAAC,GACtC;AAHO;AACA;AACA;AAAA,EAET;AAAA,EAPA,QAAiB,UAAU,IAAY;AAAA,EASvC,cACC,QACA,MACiE;AACjE,WAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,EAClG;AACD;AAEA,SAAS,iBAAAA,sBAAqB;AAEvB,MAAM,uBAEH,cAAqE;AAAA,EAC9E,QAAiB,UAAU,IAAY;AACxC;AAMO,SAAS,QAIf,QACA,SAAuC,CAAC,GAGvC;AACD,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,QAAM,oBAAoB,iBAAiB,MAAM,IAAI,OAAO,QAAQ,IAAI;AAExE,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,QAAI,OAAO,SAAS,QAAW;AAC9B,YAAM,IAAI,aAAa;AAAA,QACtB,SACC;AAAA,MACF,CAAC;AAAA,IACF;AAEA,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,SAAS,IAAI,aAAa,mBAAmC,SAAS,EAAE,OAAO,CAAC;AACtF,QAAM,UAAU,OAAO,cAAc,QAAQ,IAAI;AACjD,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,QAAe,IAAI;AACnE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAMA,SAAS,iBAAiB,QAAuC;AAChE,SAAO,OAAO,OAAO,YAAY;AAClC;","names":["MySqlDatabase"]}
package/neon/index.cjs ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var neon_exports = {};
17
+ module.exports = __toCommonJS(neon_exports);
18
+ __reExport(neon_exports, require("./rls.cjs"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./rls.cjs")
22
+ });
23
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/index.ts"],"sourcesContent":["export * from './rls.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,qBAAd;","names":[]}
@@ -0,0 +1 @@
1
+ export * from "./rls.cjs";
@@ -0,0 +1 @@
1
+ export * from "./rls.js";
package/neon/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./rls.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/index.ts"],"sourcesContent":["export * from './rls.ts';\n"],"mappings":"AAAA,cAAc;","names":[]}
package/neon/rls.cjs ADDED
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var rls_exports = {};
20
+ __export(rls_exports, {
21
+ anonymousRole: () => anonymousRole,
22
+ authUid: () => authUid,
23
+ authenticatedRole: () => authenticatedRole,
24
+ crudPolicy: () => crudPolicy
25
+ });
26
+ module.exports = __toCommonJS(rls_exports);
27
+ var import_entity = require("../entity.cjs");
28
+ var import_pg_core = require("../pg-core/index.cjs");
29
+ var import_sql = require("../sql/sql.cjs");
30
+ const crudPolicy = (options) => {
31
+ const read = options.read === true ? import_sql.sql`select true` : options.read === false || options.read === void 0 ? import_sql.sql`select false` : options.read;
32
+ const modify = options.modify === true ? import_sql.sql`select true` : options.modify === false || options.modify === void 0 ? import_sql.sql`select false` : options.modify;
33
+ let rolesName = "";
34
+ if (Array.isArray(options.role)) {
35
+ rolesName = options.role.map((it) => {
36
+ return (0, import_entity.is)(it, import_pg_core.PgRole) ? it.name : it;
37
+ }).join("-");
38
+ } else {
39
+ rolesName = (0, import_entity.is)(options.role, import_pg_core.PgRole) ? options.role.name : options.role;
40
+ }
41
+ return {
42
+ // Important to have "_drizzle_internal" prefix for any key here. Right after we will make
43
+ // 3rd param in table as an array - we will move it to array and use ... operator
44
+ // We can't use table name here, because in examples you can specify several crudPolicies on one table
45
+ // So we need some other way to have a unique name
46
+ [`_drizzle_internal-${rolesName}-crud-policy-insert`]: (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-insert`, {
47
+ for: "insert",
48
+ to: options.role,
49
+ using: modify,
50
+ withCheck: modify
51
+ }),
52
+ [`_drizzle_internal-${rolesName}-crud-policy-update`]: (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-update`, {
53
+ for: "update",
54
+ to: options.role,
55
+ using: modify,
56
+ withCheck: modify
57
+ }),
58
+ [`_drizzle_internal-${rolesName}-crud-policy-delete`]: (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-delete`, {
59
+ for: "delete",
60
+ to: options.role,
61
+ using: modify,
62
+ withCheck: modify
63
+ }),
64
+ [`_drizzle_internal-${rolesName}-crud-policy-select`]: (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-select`, {
65
+ for: "select",
66
+ to: options.role,
67
+ using: read
68
+ })
69
+ };
70
+ };
71
+ const authenticatedRole = (0, import_pg_core.pgRole)("authenticated").existing();
72
+ const anonymousRole = (0, import_pg_core.pgRole)("anonymous").existing();
73
+ const authUid = (userIdColumn) => import_sql.sql`select auth.user_id() = ${userIdColumn}`;
74
+ // Annotate the CommonJS export names for ESM import in node:
75
+ 0 && (module.exports = {
76
+ anonymousRole,
77
+ authUid,
78
+ authenticatedRole,
79
+ crudPolicy
80
+ });
81
+ //# sourceMappingURL=rls.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/rls.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { pgPolicy, PgRole, pgRole } from '~/pg-core/index.ts';\nimport type { AnyPgColumn, PgPolicyToOption } from '~/pg-core/index.ts';\nimport { type SQL, sql } from '~/sql/sql.ts';\n\nexport const crudPolicy = (\n\toptions: {\n\t\trole: PgPolicyToOption;\n\t\tread?: SQL | boolean;\n\t\tmodify?: SQL | boolean;\n\t},\n) => {\n\tconst read: SQL = options.read === true\n\t\t? sql`select true`\n\t\t: options.read === false || options.read === undefined\n\t\t? sql`select false`\n\t\t: options.read;\n\n\tconst modify: SQL = options.modify === true\n\t\t? sql`select true`\n\t\t: options.modify === false || options.modify === undefined\n\t\t? sql`select false`\n\t\t: options.modify;\n\n\tlet rolesName = '';\n\tif (Array.isArray(options.role)) {\n\t\trolesName = options.role.map((it) => {\n\t\t\treturn is(it, PgRole) ? it.name : it as string;\n\t\t}).join('-');\n\t} else {\n\t\trolesName = is(options.role, PgRole) ? options.role.name : options.role as string;\n\t}\n\n\t// Return the modify policy, followed by the read policy.\n\treturn {\n\t\t// Important to have \"_drizzle_internal\" prefix for any key here. Right after we will make\n\t\t// 3rd param in table as an array - we will move it to array and use ... operator\n\n\t\t// We can't use table name here, because in examples you can specify several crudPolicies on one table\n\t\t// So we need some other way to have a unique name\n\t\t[`_drizzle_internal-${rolesName}-crud-policy-insert`]: pgPolicy(`crud-${rolesName}-policy-insert`, {\n\t\t\tfor: 'insert',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\t[`_drizzle_internal-${rolesName}-crud-policy-update`]: pgPolicy(`crud-${rolesName}-policy-update`, {\n\t\t\tfor: 'update',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\t[`_drizzle_internal-${rolesName}-crud-policy-delete`]: pgPolicy(`crud-${rolesName}-policy-delete`, {\n\t\t\tfor: 'delete',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\t[`_drizzle_internal-${rolesName}-crud-policy-select`]: pgPolicy(`crud-${rolesName}-policy-select`, {\n\t\t\tfor: 'select',\n\t\t\tto: options.role,\n\t\t\tusing: read,\n\t\t}),\n\t};\n};\n\n// These are default roles that Neon will set up.\nexport const authenticatedRole = pgRole('authenticated').existing();\nexport const anonymousRole = pgRole('anonymous').existing();\n\nexport const authUid = (userIdColumn: AnyPgColumn) => sql`select auth.user_id() = ${userIdColumn}`;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,qBAAyC;AAEzC,iBAA8B;AAEvB,MAAM,aAAa,CACzB,YAKI;AACJ,QAAM,OAAY,QAAQ,SAAS,OAChC,8BACA,QAAQ,SAAS,SAAS,QAAQ,SAAS,SAC3C,+BACA,QAAQ;AAEX,QAAM,SAAc,QAAQ,WAAW,OACpC,8BACA,QAAQ,WAAW,SAAS,QAAQ,WAAW,SAC/C,+BACA,QAAQ;AAEX,MAAI,YAAY;AAChB,MAAI,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAChC,gBAAY,QAAQ,KAAK,IAAI,CAAC,OAAO;AACpC,iBAAO,kBAAG,IAAI,qBAAM,IAAI,GAAG,OAAO;AAAA,IACnC,CAAC,EAAE,KAAK,GAAG;AAAA,EACZ,OAAO;AACN,oBAAY,kBAAG,QAAQ,MAAM,qBAAM,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAAA,EACpE;AAGA,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAMN,CAAC,qBAAqB,SAAS,qBAAqB,OAAG,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAClG,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,CAAC,qBAAqB,SAAS,qBAAqB,OAAG,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAClG,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,CAAC,qBAAqB,SAAS,qBAAqB,OAAG,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAClG,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,CAAC,qBAAqB,SAAS,qBAAqB,OAAG,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAClG,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;AAGO,MAAM,wBAAoB,uBAAO,eAAe,EAAE,SAAS;AAC3D,MAAM,oBAAgB,uBAAO,WAAW,EAAE,SAAS;AAEnD,MAAM,UAAU,CAAC,iBAA8B,yCAA8B,YAAY;","names":[]}
package/neon/rls.d.cts ADDED
@@ -0,0 +1,13 @@
1
+ import { PgRole } from "../pg-core/index.cjs";
2
+ import type { AnyPgColumn, PgPolicyToOption } from "../pg-core/index.cjs";
3
+ import { type SQL } from "../sql/sql.cjs";
4
+ export declare const crudPolicy: (options: {
5
+ role: PgPolicyToOption;
6
+ read?: SQL | boolean;
7
+ modify?: SQL | boolean;
8
+ }) => {
9
+ [x: string]: import("../pg-core/index.ts").PgPolicy;
10
+ };
11
+ export declare const authenticatedRole: PgRole;
12
+ export declare const anonymousRole: PgRole;
13
+ export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;
package/neon/rls.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { PgRole } from "../pg-core/index.js";
2
+ import type { AnyPgColumn, PgPolicyToOption } from "../pg-core/index.js";
3
+ import { type SQL } from "../sql/sql.js";
4
+ export declare const crudPolicy: (options: {
5
+ role: PgPolicyToOption;
6
+ read?: SQL | boolean;
7
+ modify?: SQL | boolean;
8
+ }) => {
9
+ [x: string]: import("../pg-core/index.js").PgPolicy;
10
+ };
11
+ export declare const authenticatedRole: PgRole;
12
+ export declare const anonymousRole: PgRole;
13
+ export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;