drizzle-orm 0.43.0 → 0.43.1-08e3953

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 (345) hide show
  1. package/column-builder.cjs.map +1 -1
  2. package/column-builder.d.cts +4 -3
  3. package/column-builder.d.ts +4 -3
  4. package/column-builder.js.map +1 -1
  5. package/mssql-core/alias.cjs +32 -0
  6. package/mssql-core/alias.cjs.map +1 -0
  7. package/mssql-core/alias.d.cts +4 -0
  8. package/mssql-core/alias.d.ts +4 -0
  9. package/mssql-core/alias.js +8 -0
  10. package/mssql-core/alias.js.map +1 -0
  11. package/mssql-core/checks.cjs +58 -0
  12. package/mssql-core/checks.cjs.map +1 -0
  13. package/mssql-core/checks.d.cts +18 -0
  14. package/mssql-core/checks.d.ts +18 -0
  15. package/mssql-core/checks.js +32 -0
  16. package/mssql-core/checks.js.map +1 -0
  17. package/mssql-core/columns/all.cjs +72 -0
  18. package/mssql-core/columns/all.cjs.map +1 -0
  19. package/mssql-core/columns/all.d.cts +43 -0
  20. package/mssql-core/columns/all.d.ts +43 -0
  21. package/mssql-core/columns/all.js +48 -0
  22. package/mssql-core/columns/all.js.map +1 -0
  23. package/mssql-core/columns/bigint.cjs +67 -0
  24. package/mssql-core/columns/bigint.cjs.map +1 -0
  25. package/mssql-core/columns/bigint.d.cts +33 -0
  26. package/mssql-core/columns/bigint.d.ts +33 -0
  27. package/mssql-core/columns/bigint.js +41 -0
  28. package/mssql-core/columns/bigint.js.map +1 -0
  29. package/mssql-core/columns/binary.cjs +57 -0
  30. package/mssql-core/columns/binary.cjs.map +1 -0
  31. package/mssql-core/columns/binary.d.cts +28 -0
  32. package/mssql-core/columns/binary.d.ts +28 -0
  33. package/mssql-core/columns/binary.js +31 -0
  34. package/mssql-core/columns/binary.js.map +1 -0
  35. package/mssql-core/columns/bit.cjs +54 -0
  36. package/mssql-core/columns/bit.cjs.map +1 -0
  37. package/mssql-core/columns/bit.d.cts +24 -0
  38. package/mssql-core/columns/bit.d.ts +24 -0
  39. package/mssql-core/columns/bit.js +28 -0
  40. package/mssql-core/columns/bit.js.map +1 -0
  41. package/mssql-core/columns/char.cjs +74 -0
  42. package/mssql-core/columns/char.cjs.map +1 -0
  43. package/mssql-core/columns/char.d.cts +37 -0
  44. package/mssql-core/columns/char.d.ts +37 -0
  45. package/mssql-core/columns/char.js +47 -0
  46. package/mssql-core/columns/char.js.map +1 -0
  47. package/mssql-core/columns/common.cjs +117 -0
  48. package/mssql-core/columns/common.cjs.map +1 -0
  49. package/mssql-core/columns/common.d.cts +67 -0
  50. package/mssql-core/columns/common.d.ts +67 -0
  51. package/mssql-core/columns/common.js +90 -0
  52. package/mssql-core/columns/common.js.map +1 -0
  53. package/mssql-core/columns/custom.cjs +75 -0
  54. package/mssql-core/columns/custom.cjs.map +1 -0
  55. package/mssql-core/columns/custom.d.cts +149 -0
  56. package/mssql-core/columns/custom.d.ts +149 -0
  57. package/mssql-core/columns/custom.js +49 -0
  58. package/mssql-core/columns/custom.js.map +1 -0
  59. package/mssql-core/columns/date.cjs +94 -0
  60. package/mssql-core/columns/date.cjs.map +1 -0
  61. package/mssql-core/columns/date.common.cjs +37 -0
  62. package/mssql-core/columns/date.common.cjs.map +1 -0
  63. package/mssql-core/columns/date.common.d.cts +12 -0
  64. package/mssql-core/columns/date.common.d.ts +12 -0
  65. package/mssql-core/columns/date.common.js +13 -0
  66. package/mssql-core/columns/date.common.js.map +1 -0
  67. package/mssql-core/columns/date.d.cts +55 -0
  68. package/mssql-core/columns/date.d.ts +55 -0
  69. package/mssql-core/columns/date.js +66 -0
  70. package/mssql-core/columns/date.js.map +1 -0
  71. package/mssql-core/columns/datetime.cjs +94 -0
  72. package/mssql-core/columns/datetime.cjs.map +1 -0
  73. package/mssql-core/columns/datetime.d.cts +54 -0
  74. package/mssql-core/columns/datetime.d.ts +54 -0
  75. package/mssql-core/columns/datetime.js +66 -0
  76. package/mssql-core/columns/datetime.js.map +1 -0
  77. package/mssql-core/columns/datetime2.cjs +102 -0
  78. package/mssql-core/columns/datetime2.cjs.map +1 -0
  79. package/mssql-core/columns/datetime2.d.cts +54 -0
  80. package/mssql-core/columns/datetime2.d.ts +54 -0
  81. package/mssql-core/columns/datetime2.js +74 -0
  82. package/mssql-core/columns/datetime2.js.map +1 -0
  83. package/mssql-core/columns/datetimeoffset.cjs +102 -0
  84. package/mssql-core/columns/datetimeoffset.cjs.map +1 -0
  85. package/mssql-core/columns/datetimeoffset.d.cts +54 -0
  86. package/mssql-core/columns/datetimeoffset.d.ts +54 -0
  87. package/mssql-core/columns/datetimeoffset.js +74 -0
  88. package/mssql-core/columns/datetimeoffset.js.map +1 -0
  89. package/mssql-core/columns/decimal.cjs +68 -0
  90. package/mssql-core/columns/decimal.cjs.map +1 -0
  91. package/mssql-core/columns/decimal.d.cts +30 -0
  92. package/mssql-core/columns/decimal.d.ts +30 -0
  93. package/mssql-core/columns/decimal.js +42 -0
  94. package/mssql-core/columns/decimal.js.map +1 -0
  95. package/mssql-core/columns/float.cjs +58 -0
  96. package/mssql-core/columns/float.cjs.map +1 -0
  97. package/mssql-core/columns/float.d.cts +28 -0
  98. package/mssql-core/columns/float.d.ts +28 -0
  99. package/mssql-core/columns/float.js +32 -0
  100. package/mssql-core/columns/float.js.map +1 -0
  101. package/mssql-core/columns/index.cjs +63 -0
  102. package/mssql-core/columns/index.cjs.map +1 -0
  103. package/mssql-core/columns/index.d.cts +21 -0
  104. package/mssql-core/columns/index.d.ts +21 -0
  105. package/mssql-core/columns/index.js +22 -0
  106. package/mssql-core/columns/index.js.map +1 -0
  107. package/mssql-core/columns/int.cjs +53 -0
  108. package/mssql-core/columns/int.cjs.map +1 -0
  109. package/mssql-core/columns/int.d.cts +23 -0
  110. package/mssql-core/columns/int.d.ts +23 -0
  111. package/mssql-core/columns/int.js +27 -0
  112. package/mssql-core/columns/int.js.map +1 -0
  113. package/mssql-core/columns/numeric.cjs +68 -0
  114. package/mssql-core/columns/numeric.cjs.map +1 -0
  115. package/mssql-core/columns/numeric.d.cts +27 -0
  116. package/mssql-core/columns/numeric.d.ts +27 -0
  117. package/mssql-core/columns/numeric.js +42 -0
  118. package/mssql-core/columns/numeric.js.map +1 -0
  119. package/mssql-core/columns/real.cjs +53 -0
  120. package/mssql-core/columns/real.cjs.map +1 -0
  121. package/mssql-core/columns/real.d.cts +23 -0
  122. package/mssql-core/columns/real.d.ts +23 -0
  123. package/mssql-core/columns/real.js +27 -0
  124. package/mssql-core/columns/real.js.map +1 -0
  125. package/mssql-core/columns/smallint.cjs +62 -0
  126. package/mssql-core/columns/smallint.cjs.map +1 -0
  127. package/mssql-core/columns/smallint.d.cts +24 -0
  128. package/mssql-core/columns/smallint.d.ts +24 -0
  129. package/mssql-core/columns/smallint.js +36 -0
  130. package/mssql-core/columns/smallint.js.map +1 -0
  131. package/mssql-core/columns/text.cjs +68 -0
  132. package/mssql-core/columns/text.cjs.map +1 -0
  133. package/mssql-core/columns/text.d.cts +45 -0
  134. package/mssql-core/columns/text.d.ts +45 -0
  135. package/mssql-core/columns/text.js +41 -0
  136. package/mssql-core/columns/text.js.map +1 -0
  137. package/mssql-core/columns/time.cjs +90 -0
  138. package/mssql-core/columns/time.cjs.map +1 -0
  139. package/mssql-core/columns/time.d.cts +49 -0
  140. package/mssql-core/columns/time.d.ts +49 -0
  141. package/mssql-core/columns/time.js +62 -0
  142. package/mssql-core/columns/time.js.map +1 -0
  143. package/mssql-core/columns/tinyint.cjs +62 -0
  144. package/mssql-core/columns/tinyint.cjs.map +1 -0
  145. package/mssql-core/columns/tinyint.d.cts +24 -0
  146. package/mssql-core/columns/tinyint.d.ts +24 -0
  147. package/mssql-core/columns/tinyint.js +36 -0
  148. package/mssql-core/columns/tinyint.js.map +1 -0
  149. package/mssql-core/columns/varbinary.cjs +61 -0
  150. package/mssql-core/columns/varbinary.cjs.map +1 -0
  151. package/mssql-core/columns/varbinary.d.cts +27 -0
  152. package/mssql-core/columns/varbinary.d.ts +27 -0
  153. package/mssql-core/columns/varbinary.js +35 -0
  154. package/mssql-core/columns/varbinary.js.map +1 -0
  155. package/mssql-core/columns/varchar.cjs +117 -0
  156. package/mssql-core/columns/varchar.cjs.map +1 -0
  157. package/mssql-core/columns/varchar.d.cts +66 -0
  158. package/mssql-core/columns/varchar.d.ts +66 -0
  159. package/mssql-core/columns/varchar.js +88 -0
  160. package/mssql-core/columns/varchar.js.map +1 -0
  161. package/mssql-core/db.cjs +254 -0
  162. package/mssql-core/db.cjs.map +1 -0
  163. package/mssql-core/db.d.cts +228 -0
  164. package/mssql-core/db.d.ts +228 -0
  165. package/mssql-core/db.js +235 -0
  166. package/mssql-core/db.js.map +1 -0
  167. package/mssql-core/dialect.cjs +611 -0
  168. package/mssql-core/dialect.cjs.map +1 -0
  169. package/mssql-core/dialect.d.cts +58 -0
  170. package/mssql-core/dialect.d.ts +58 -0
  171. package/mssql-core/dialect.js +593 -0
  172. package/mssql-core/dialect.js.map +1 -0
  173. package/mssql-core/expressions.cjs +49 -0
  174. package/mssql-core/expressions.cjs.map +1 -0
  175. package/mssql-core/expressions.d.cts +8 -0
  176. package/mssql-core/expressions.d.ts +8 -0
  177. package/mssql-core/expressions.js +22 -0
  178. package/mssql-core/expressions.js.map +1 -0
  179. package/mssql-core/foreign-keys.cjs +91 -0
  180. package/mssql-core/foreign-keys.cjs.map +1 -0
  181. package/mssql-core/foreign-keys.d.cts +51 -0
  182. package/mssql-core/foreign-keys.d.ts +51 -0
  183. package/mssql-core/foreign-keys.js +65 -0
  184. package/mssql-core/foreign-keys.js.map +1 -0
  185. package/mssql-core/index.cjs +55 -0
  186. package/mssql-core/index.cjs.map +1 -0
  187. package/mssql-core/index.d.cts +17 -0
  188. package/mssql-core/index.d.ts +17 -0
  189. package/mssql-core/index.js +18 -0
  190. package/mssql-core/index.js.map +1 -0
  191. package/mssql-core/indexes.cjs +80 -0
  192. package/mssql-core/indexes.cjs.map +1 -0
  193. package/mssql-core/indexes.d.cts +49 -0
  194. package/mssql-core/indexes.d.ts +49 -0
  195. package/mssql-core/indexes.js +52 -0
  196. package/mssql-core/indexes.js.map +1 -0
  197. package/mssql-core/primary-keys.cjs +64 -0
  198. package/mssql-core/primary-keys.cjs.map +1 -0
  199. package/mssql-core/primary-keys.d.cts +23 -0
  200. package/mssql-core/primary-keys.d.ts +23 -0
  201. package/mssql-core/primary-keys.js +38 -0
  202. package/mssql-core/primary-keys.js.map +1 -0
  203. package/mssql-core/query-builders/delete.cjs +107 -0
  204. package/mssql-core/query-builders/delete.cjs.map +1 -0
  205. package/mssql-core/query-builders/delete.d.cts +80 -0
  206. package/mssql-core/query-builders/delete.d.ts +80 -0
  207. package/mssql-core/query-builders/delete.js +83 -0
  208. package/mssql-core/query-builders/delete.js.map +1 -0
  209. package/mssql-core/query-builders/index.cjs +33 -0
  210. package/mssql-core/query-builders/index.cjs.map +1 -0
  211. package/mssql-core/query-builders/index.d.cts +6 -0
  212. package/mssql-core/query-builders/index.d.ts +6 -0
  213. package/mssql-core/query-builders/index.js +7 -0
  214. package/mssql-core/query-builders/index.js.map +1 -0
  215. package/mssql-core/query-builders/insert.cjs +105 -0
  216. package/mssql-core/query-builders/insert.cjs.map +1 -0
  217. package/mssql-core/query-builders/insert.d.cts +60 -0
  218. package/mssql-core/query-builders/insert.d.ts +60 -0
  219. package/mssql-core/query-builders/insert.js +80 -0
  220. package/mssql-core/query-builders/insert.js.map +1 -0
  221. package/mssql-core/query-builders/query-builder.cjs +95 -0
  222. package/mssql-core/query-builders/query-builder.cjs.map +1 -0
  223. package/mssql-core/query-builders/query-builder.d.cts +32 -0
  224. package/mssql-core/query-builders/query-builder.d.ts +32 -0
  225. package/mssql-core/query-builders/query-builder.js +71 -0
  226. package/mssql-core/query-builders/query-builder.js.map +1 -0
  227. package/mssql-core/query-builders/query.cjs +126 -0
  228. package/mssql-core/query-builders/query.cjs.map +1 -0
  229. package/mssql-core/query-builders/query.d.cts +42 -0
  230. package/mssql-core/query-builders/query.d.ts +42 -0
  231. package/mssql-core/query-builders/query.js +103 -0
  232. package/mssql-core/query-builders/query.js.map +1 -0
  233. package/mssql-core/query-builders/select.cjs +679 -0
  234. package/mssql-core/query-builders/select.cjs.map +1 -0
  235. package/mssql-core/query-builders/select.d.cts +549 -0
  236. package/mssql-core/query-builders/select.d.ts +549 -0
  237. package/mssql-core/query-builders/select.js +649 -0
  238. package/mssql-core/query-builders/select.js.map +1 -0
  239. package/mssql-core/query-builders/select.types.cjs +17 -0
  240. package/mssql-core/query-builders/select.types.cjs.map +1 -0
  241. package/mssql-core/query-builders/select.types.d.cts +142 -0
  242. package/mssql-core/query-builders/select.types.d.ts +142 -0
  243. package/mssql-core/query-builders/select.types.js +1 -0
  244. package/mssql-core/query-builders/select.types.js.map +1 -0
  245. package/mssql-core/query-builders/update.cjs +138 -0
  246. package/mssql-core/query-builders/update.cjs.map +1 -0
  247. package/mssql-core/query-builders/update.d.cts +109 -0
  248. package/mssql-core/query-builders/update.d.ts +109 -0
  249. package/mssql-core/query-builders/update.js +113 -0
  250. package/mssql-core/query-builders/update.js.map +1 -0
  251. package/mssql-core/schema.cjs +51 -0
  252. package/mssql-core/schema.cjs.map +1 -0
  253. package/mssql-core/schema.d.cts +22 -0
  254. package/mssql-core/schema.d.ts +22 -0
  255. package/mssql-core/schema.js +25 -0
  256. package/mssql-core/schema.js.map +1 -0
  257. package/mssql-core/session.cjs +74 -0
  258. package/mssql-core/session.cjs.map +1 -0
  259. package/mssql-core/session.d.cts +63 -0
  260. package/mssql-core/session.d.ts +63 -0
  261. package/mssql-core/session.js +48 -0
  262. package/mssql-core/session.js.map +1 -0
  263. package/mssql-core/subquery.cjs +17 -0
  264. package/mssql-core/subquery.cjs.map +1 -0
  265. package/mssql-core/subquery.d.cts +18 -0
  266. package/mssql-core/subquery.d.ts +18 -0
  267. package/mssql-core/subquery.js +1 -0
  268. package/mssql-core/subquery.js.map +1 -0
  269. package/mssql-core/table.cjs +81 -0
  270. package/mssql-core/table.cjs.map +1 -0
  271. package/mssql-core/table.d.cts +43 -0
  272. package/mssql-core/table.d.ts +43 -0
  273. package/mssql-core/table.js +53 -0
  274. package/mssql-core/table.js.map +1 -0
  275. package/mssql-core/unique-constraint.cjs +76 -0
  276. package/mssql-core/unique-constraint.cjs.map +1 -0
  277. package/mssql-core/unique-constraint.d.cts +23 -0
  278. package/mssql-core/unique-constraint.d.ts +23 -0
  279. package/mssql-core/unique-constraint.js +49 -0
  280. package/mssql-core/unique-constraint.js.map +1 -0
  281. package/mssql-core/utils.cjs +85 -0
  282. package/mssql-core/utils.cjs.map +1 -0
  283. package/mssql-core/utils.d.cts +31 -0
  284. package/mssql-core/utils.d.ts +31 -0
  285. package/mssql-core/utils.js +60 -0
  286. package/mssql-core/utils.js.map +1 -0
  287. package/mssql-core/view-base.cjs +33 -0
  288. package/mssql-core/view-base.cjs.map +1 -0
  289. package/mssql-core/view-base.d.cts +9 -0
  290. package/mssql-core/view-base.d.ts +9 -0
  291. package/mssql-core/view-base.js +9 -0
  292. package/mssql-core/view-base.js.map +1 -0
  293. package/mssql-core/view-common.cjs +29 -0
  294. package/mssql-core/view-common.cjs.map +1 -0
  295. package/mssql-core/view-common.d.cts +1 -0
  296. package/mssql-core/view-common.d.ts +1 -0
  297. package/mssql-core/view-common.js +5 -0
  298. package/mssql-core/view-common.js.map +1 -0
  299. package/mssql-core/view.cjs +154 -0
  300. package/mssql-core/view.cjs.map +1 -0
  301. package/mssql-core/view.d.cts +64 -0
  302. package/mssql-core/view.d.ts +64 -0
  303. package/mssql-core/view.js +125 -0
  304. package/mssql-core/view.js.map +1 -0
  305. package/node-mssql/driver.cjs +88 -0
  306. package/node-mssql/driver.cjs.map +1 -0
  307. package/node-mssql/driver.d.cts +34 -0
  308. package/node-mssql/driver.d.ts +34 -0
  309. package/node-mssql/driver.js +65 -0
  310. package/node-mssql/driver.js.map +1 -0
  311. package/node-mssql/index.cjs +25 -0
  312. package/node-mssql/index.cjs.map +1 -0
  313. package/node-mssql/index.d.cts +2 -0
  314. package/node-mssql/index.d.ts +2 -0
  315. package/node-mssql/index.js +3 -0
  316. package/node-mssql/index.js.map +1 -0
  317. package/node-mssql/migrator.cjs +33 -0
  318. package/node-mssql/migrator.cjs.map +1 -0
  319. package/node-mssql/migrator.d.cts +3 -0
  320. package/node-mssql/migrator.d.ts +3 -0
  321. package/node-mssql/migrator.js +9 -0
  322. package/node-mssql/migrator.js.map +1 -0
  323. package/node-mssql/session.cjs +243 -0
  324. package/node-mssql/session.cjs.map +1 -0
  325. package/node-mssql/session.d.cts +47 -0
  326. package/node-mssql/session.d.ts +47 -0
  327. package/node-mssql/session.js +211 -0
  328. package/node-mssql/session.js.map +1 -0
  329. package/package.json +653 -1
  330. package/pg-core/schema.cjs +2 -2
  331. package/pg-core/schema.cjs.map +1 -1
  332. package/pg-core/schema.d.cts +4 -1
  333. package/pg-core/schema.d.ts +4 -1
  334. package/pg-core/schema.js +2 -2
  335. package/pg-core/schema.js.map +1 -1
  336. package/relations.cjs +48 -0
  337. package/relations.cjs.map +1 -1
  338. package/relations.d.cts +1 -0
  339. package/relations.d.ts +1 -0
  340. package/relations.js +47 -0
  341. package/relations.js.map +1 -1
  342. package/version.cjs +1 -1
  343. package/version.d.cts +1 -1
  344. package/version.d.ts +1 -1
  345. package/version.js +1 -1
@@ -0,0 +1,117 @@
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 varchar_exports = {};
20
+ __export(varchar_exports, {
21
+ MsSqlVarChar: () => MsSqlVarChar,
22
+ MsSqlVarCharBuilder: () => MsSqlVarCharBuilder,
23
+ MsSqlVarCharJson: () => MsSqlVarCharJson,
24
+ MsSqlVarCharJsonBuilder: () => MsSqlVarCharJsonBuilder,
25
+ nvarchar: () => nvarchar,
26
+ varchar: () => varchar
27
+ });
28
+ module.exports = __toCommonJS(varchar_exports);
29
+ var import_entity = require("../../entity.cjs");
30
+ var import_utils = require("../../utils.cjs");
31
+ var import_common = require("./common.cjs");
32
+ class MsSqlVarCharBuilder extends import_common.MsSqlColumnBuilder {
33
+ static [import_entity.entityKind] = "MsSqlVarCharBuilder";
34
+ /** @internal */
35
+ constructor(name, config) {
36
+ super(name, "string", "MsSqlVarChar");
37
+ this.config.length = config.length;
38
+ this.config.enum = config.enum;
39
+ this.config.nonUnicode = config.nonUnicode;
40
+ }
41
+ /** @internal */
42
+ build(table) {
43
+ return new MsSqlVarChar(
44
+ table,
45
+ this.config
46
+ );
47
+ }
48
+ }
49
+ class MsSqlVarChar extends import_common.MsSqlColumn {
50
+ static [import_entity.entityKind] = "MsSqlVarChar";
51
+ length = this.config.length;
52
+ enumValues = this.config.enum;
53
+ nonUnicode = this.config.nonUnicode;
54
+ getSQLType() {
55
+ return this.length === void 0 ? this.nonUnicode ? `nvarchar` : `varchar` : this.nonUnicode ? `nvarchar(${this.length})` : `varchar(${this.length})`;
56
+ }
57
+ }
58
+ class MsSqlVarCharJsonBuilder extends import_common.MsSqlColumnBuilder {
59
+ static [import_entity.entityKind] = "MsSqlVarCharJsonBuilder";
60
+ /** @internal */
61
+ constructor(name, config) {
62
+ super(name, "json", "MsSqlNVarCharJson");
63
+ this.config.length = config.length;
64
+ this.config.nonUnicode = true;
65
+ }
66
+ /** @internal */
67
+ build(table) {
68
+ return new MsSqlVarCharJson(
69
+ table,
70
+ this.config
71
+ );
72
+ }
73
+ }
74
+ class MsSqlVarCharJson extends import_common.MsSqlColumn {
75
+ static [import_entity.entityKind] = "MsSqlVarCharJson";
76
+ length = this.config.length;
77
+ getSQLType() {
78
+ return this.length === void 0 ? `nvarchar` : `nvarchar(${this.length})`;
79
+ }
80
+ mapFromDriverValue(value) {
81
+ return JSON.parse(value);
82
+ }
83
+ mapToDriverValue(value) {
84
+ return JSON.stringify(value);
85
+ }
86
+ }
87
+ function varchar(a, b) {
88
+ const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
89
+ return new MsSqlVarCharBuilder(name, {
90
+ ...config,
91
+ mode: "text",
92
+ nonUnicode: false
93
+ });
94
+ }
95
+ function nvarchar(a, b) {
96
+ const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
97
+ if (config?.mode === "json") {
98
+ return new MsSqlVarCharJsonBuilder(name, {
99
+ length: config.length
100
+ });
101
+ }
102
+ return new MsSqlVarCharBuilder(name, {
103
+ length: config?.length,
104
+ enum: config?.enum,
105
+ nonUnicode: true
106
+ });
107
+ }
108
+ // Annotate the CommonJS export names for ESM import in node:
109
+ 0 && (module.exports = {
110
+ MsSqlVarChar,
111
+ MsSqlVarCharBuilder,
112
+ MsSqlVarCharJson,
113
+ MsSqlVarCharJsonBuilder,
114
+ nvarchar,
115
+ varchar
116
+ });
117
+ //# sourceMappingURL=varchar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/columns/varchar.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMsSqlTable } from '~/mssql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MsSqlColumn, MsSqlColumnBuilder } from './common.ts';\n\nexport type MsSqlVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MsSqlVarCharBuilder<\n\t{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'MsSqlVarChar';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}\n>;\n\nexport type MsSqlVarCharJsonBuilderInitial<TName extends string> = MsSqlVarCharJsonBuilder<\n\t{\n\t\tname: TName;\n\t\tdataType: 'json';\n\t\tcolumnType: 'MsSqlNVarCharJson';\n\t\tdata: unknown;\n\t\tdriverParam: string;\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\n\t}\n>;\n\nexport class MsSqlVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MsSqlVarChar'>>\n\textends MsSqlColumnBuilder<T, MsSqlVarCharConfig<'text', T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: MsSqlVarCharConfig<'text', T['enumValues']>) {\n\t\tsuper(name, 'string', 'MsSqlVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t\tthis.config.nonUnicode = config.nonUnicode;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMsSqlTable<{ name: TTableName }>,\n\t): MsSqlVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new MsSqlVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MsSqlVarChar<T extends ColumnBaseConfig<'string', 'MsSqlVarChar'>>\n\textends MsSqlColumn<T, MsSqlVarCharConfig<'text', T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarChar';\n\n\treadonly length: number | 'max' | undefined = this.config.length;\n\n\toverride readonly enumValues = this.config.enum;\n\n\treadonly nonUnicode: boolean = this.config.nonUnicode;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined\n\t\t\t? this.nonUnicode ? `nvarchar` : `varchar`\n\t\t\t: this.nonUnicode\n\t\t\t? `nvarchar(${this.length})`\n\t\t\t: `varchar(${this.length})`;\n\t}\n}\n\nexport class MsSqlVarCharJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'MsSqlNVarCharJson'>>\n\textends MsSqlColumnBuilder<T, { length: number | 'max' | undefined; nonUnicode: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarCharJsonBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: { length: number | 'max' | undefined }) {\n\t\tsuper(name, 'json', 'MsSqlNVarCharJson');\n\t\tthis.config.length = config.length;\n\t\tthis.config.nonUnicode = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMsSqlTable<{ name: TTableName }>,\n\t): MsSqlVarCharJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MsSqlVarCharJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MsSqlVarCharJson<T extends ColumnBaseConfig<'json', 'MsSqlNVarCharJson'>>\n\textends MsSqlColumn<T, { length: number | undefined; nonUnicode: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarCharJson';\n\n\treadonly length: number | 'max' | undefined = this.config.length;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined\n\t\t\t? `nvarchar`\n\t\t\t: `nvarchar(${this.length})`;\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type MsSqlVarCharConfig<TMode extends 'text' | 'json', TEnum extends string[] | readonly string[] | undefined> =\n\t& MsSqlVarCharConfigInitial<TMode, TEnum>\n\t& {\n\t\tnonUnicode: boolean;\n\t};\n\nexport type MsSqlVarCharConfigInitial<\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: number | 'max';\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t\tlength?: number | 'max';\n\t};\n\nexport function varchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>,\n): MsSqlVarCharBuilderInitial<'', Writable<T>>;\nexport function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>,\n): MsSqlVarCharBuilderInitial<TName, Writable<T>>;\nexport function varchar(\n\ta?: string | MsSqlVarCharConfigInitial<'text'>,\n\tb?: MsSqlVarCharConfigInitial<'text'>,\n): any {\n\tconst { name, config } = getColumnNameAndConfig<MsSqlVarCharConfigInitial<'text'>>(a, b);\n\n\treturn new MsSqlVarCharBuilder(name, {\n\t\t...config,\n\t\tmode: 'text',\n\t\tnonUnicode: false,\n\t} as any);\n}\n\nexport function nvarchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;\nexport function nvarchar<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tconfig?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''>\n\t: MsSqlVarCharBuilderInitial<'', Writable<T>>;\nexport function nvarchar<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''>\n\t: MsSqlVarCharBuilderInitial<'', Writable<T>>;\nexport function nvarchar(\n\ta?: string | MsSqlVarCharConfigInitial,\n\tb?: MsSqlVarCharConfigInitial,\n): any {\n\tconst { name, config } = getColumnNameAndConfig<MsSqlVarCharConfigInitial>(a, b);\n\n\tif (config?.mode === 'json') {\n\t\treturn new MsSqlVarCharJsonBuilder(name, {\n\t\t\tlength: config.length,\n\t\t});\n\t}\n\n\treturn new MsSqlVarCharBuilder(name, {\n\t\tlength: config?.length,\n\t\tenum: (config as any)?.enum,\n\t\tnonUnicode: true,\n\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAkE;AAClE,oBAAgD;AA0BzC,MAAM,4BACJ,iCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAqD;AACjF,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAC1B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACkF;AAClF,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,0BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAAqC,KAAK,OAAO;AAAA,EAExC,aAAa,KAAK,OAAO;AAAA,EAElC,aAAsB,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SACpB,KAAK,aAAa,aAAa,YAC/B,KAAK,aACL,YAAY,KAAK,MAAM,MACvB,WAAW,KAAK,MAAM;AAAA,EAC1B;AACD;AAEO,MAAM,gCACJ,iCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAgD;AAC5E,UAAM,MAAM,QAAQ,mBAAmB;AACvC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,aAAa;AAAA,EAC1B;AAAA;AAAA,EAGS,MACR,OACoD;AACpD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,yBACJ,0BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAAqC,KAAK,OAAO;AAAA,EAE1D,aAAqB;AACpB,WAAO,KAAK,WAAW,SACpB,aACA,YAAY,KAAK,MAAM;AAAA,EAC3B;AAAA,EAES,mBAAmB,OAA0B;AACrD,WAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AACD;AA6BO,SAAS,QACf,GACA,GACM;AACN,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0D,GAAG,CAAC;AAEvF,SAAO,IAAI,oBAAoB,MAAM;AAAA,IACpC,GAAG;AAAA,IACH,MAAM;AAAA,IACN,YAAY;AAAA,EACb,CAAQ;AACT;AAqBO,SAAS,SACf,GACA,GACM;AACN,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAkD,GAAG,CAAC;AAE/E,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,wBAAwB,MAAM;AAAA,MACxC,QAAQ,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAEA,SAAO,IAAI,oBAAoB,MAAM;AAAA,IACpC,QAAQ,QAAQ;AAAA,IAChB,MAAO,QAAgB;AAAA,IACvB,YAAY;AAAA,EACb,CAAC;AACF;","names":[]}
@@ -0,0 +1,66 @@
1
+ import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
2
+ import type { ColumnBaseConfig } from "../../column.cjs";
3
+ import { entityKind } from "../../entity.cjs";
4
+ import { type Equal, type Writable } from "../../utils.cjs";
5
+ import { MsSqlColumn, MsSqlColumnBuilder } from "./common.cjs";
6
+ export type MsSqlVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MsSqlVarCharBuilder<{
7
+ name: TName;
8
+ dataType: 'string';
9
+ columnType: 'MsSqlVarChar';
10
+ data: TEnum[number];
11
+ driverParam: number | string;
12
+ enumValues: TEnum;
13
+ generated: undefined;
14
+ }>;
15
+ export type MsSqlVarCharJsonBuilderInitial<TName extends string> = MsSqlVarCharJsonBuilder<{
16
+ name: TName;
17
+ dataType: 'json';
18
+ columnType: 'MsSqlNVarCharJson';
19
+ data: unknown;
20
+ driverParam: string;
21
+ enumValues: undefined;
22
+ generated: undefined;
23
+ }>;
24
+ export declare class MsSqlVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MsSqlVarChar'>> extends MsSqlColumnBuilder<T, MsSqlVarCharConfig<'text', T['enumValues']>> {
25
+ static readonly [entityKind]: string;
26
+ }
27
+ export declare class MsSqlVarChar<T extends ColumnBaseConfig<'string', 'MsSqlVarChar'>> extends MsSqlColumn<T, MsSqlVarCharConfig<'text', T['enumValues']>> {
28
+ static readonly [entityKind]: string;
29
+ readonly length: number | 'max' | undefined;
30
+ readonly enumValues: T["enumValues"] | undefined;
31
+ readonly nonUnicode: boolean;
32
+ getSQLType(): string;
33
+ }
34
+ export declare class MsSqlVarCharJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'MsSqlNVarCharJson'>> extends MsSqlColumnBuilder<T, {
35
+ length: number | 'max' | undefined;
36
+ nonUnicode: boolean;
37
+ }> {
38
+ static readonly [entityKind]: string;
39
+ }
40
+ export declare class MsSqlVarCharJson<T extends ColumnBaseConfig<'json', 'MsSqlNVarCharJson'>> extends MsSqlColumn<T, {
41
+ length: number | undefined;
42
+ nonUnicode: boolean;
43
+ }> {
44
+ static readonly [entityKind]: string;
45
+ readonly length: number | 'max' | undefined;
46
+ getSQLType(): string;
47
+ mapFromDriverValue(value: string): T['data'];
48
+ mapToDriverValue(value: T['data']): string;
49
+ }
50
+ export type MsSqlVarCharConfig<TMode extends 'text' | 'json', TEnum extends string[] | readonly string[] | undefined> = MsSqlVarCharConfigInitial<TMode, TEnum> & {
51
+ nonUnicode: boolean;
52
+ };
53
+ export type MsSqlVarCharConfigInitial<TMode extends 'text' | 'json' = 'text' | 'json', TEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined> = TMode extends 'text' ? {
54
+ mode?: TMode;
55
+ length?: number | 'max';
56
+ enum?: TEnum;
57
+ } : {
58
+ mode?: TMode;
59
+ length?: number | 'max';
60
+ };
61
+ export declare function varchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;
62
+ export declare function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(config?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>): MsSqlVarCharBuilderInitial<'', Writable<T>>;
63
+ export declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>): MsSqlVarCharBuilderInitial<TName, Writable<T>>;
64
+ export declare function nvarchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;
65
+ export declare function nvarchar<U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(config?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''> : MsSqlVarCharBuilderInitial<'', Writable<T>>;
66
+ export declare function nvarchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(name: TName, config?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''> : MsSqlVarCharBuilderInitial<'', Writable<T>>;
@@ -0,0 +1,66 @@
1
+ import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
2
+ import type { ColumnBaseConfig } from "../../column.js";
3
+ import { entityKind } from "../../entity.js";
4
+ import { type Equal, type Writable } from "../../utils.js";
5
+ import { MsSqlColumn, MsSqlColumnBuilder } from "./common.js";
6
+ export type MsSqlVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MsSqlVarCharBuilder<{
7
+ name: TName;
8
+ dataType: 'string';
9
+ columnType: 'MsSqlVarChar';
10
+ data: TEnum[number];
11
+ driverParam: number | string;
12
+ enumValues: TEnum;
13
+ generated: undefined;
14
+ }>;
15
+ export type MsSqlVarCharJsonBuilderInitial<TName extends string> = MsSqlVarCharJsonBuilder<{
16
+ name: TName;
17
+ dataType: 'json';
18
+ columnType: 'MsSqlNVarCharJson';
19
+ data: unknown;
20
+ driverParam: string;
21
+ enumValues: undefined;
22
+ generated: undefined;
23
+ }>;
24
+ export declare class MsSqlVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MsSqlVarChar'>> extends MsSqlColumnBuilder<T, MsSqlVarCharConfig<'text', T['enumValues']>> {
25
+ static readonly [entityKind]: string;
26
+ }
27
+ export declare class MsSqlVarChar<T extends ColumnBaseConfig<'string', 'MsSqlVarChar'>> extends MsSqlColumn<T, MsSqlVarCharConfig<'text', T['enumValues']>> {
28
+ static readonly [entityKind]: string;
29
+ readonly length: number | 'max' | undefined;
30
+ readonly enumValues: T["enumValues"] | undefined;
31
+ readonly nonUnicode: boolean;
32
+ getSQLType(): string;
33
+ }
34
+ export declare class MsSqlVarCharJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'MsSqlNVarCharJson'>> extends MsSqlColumnBuilder<T, {
35
+ length: number | 'max' | undefined;
36
+ nonUnicode: boolean;
37
+ }> {
38
+ static readonly [entityKind]: string;
39
+ }
40
+ export declare class MsSqlVarCharJson<T extends ColumnBaseConfig<'json', 'MsSqlNVarCharJson'>> extends MsSqlColumn<T, {
41
+ length: number | undefined;
42
+ nonUnicode: boolean;
43
+ }> {
44
+ static readonly [entityKind]: string;
45
+ readonly length: number | 'max' | undefined;
46
+ getSQLType(): string;
47
+ mapFromDriverValue(value: string): T['data'];
48
+ mapToDriverValue(value: T['data']): string;
49
+ }
50
+ export type MsSqlVarCharConfig<TMode extends 'text' | 'json', TEnum extends string[] | readonly string[] | undefined> = MsSqlVarCharConfigInitial<TMode, TEnum> & {
51
+ nonUnicode: boolean;
52
+ };
53
+ export type MsSqlVarCharConfigInitial<TMode extends 'text' | 'json' = 'text' | 'json', TEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined> = TMode extends 'text' ? {
54
+ mode?: TMode;
55
+ length?: number | 'max';
56
+ enum?: TEnum;
57
+ } : {
58
+ mode?: TMode;
59
+ length?: number | 'max';
60
+ };
61
+ export declare function varchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;
62
+ export declare function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(config?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>): MsSqlVarCharBuilderInitial<'', Writable<T>>;
63
+ export declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>): MsSqlVarCharBuilderInitial<TName, Writable<T>>;
64
+ export declare function nvarchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;
65
+ export declare function nvarchar<U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(config?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''> : MsSqlVarCharBuilderInitial<'', Writable<T>>;
66
+ export declare function nvarchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, TMode extends 'text' | 'json' = 'text' | 'json'>(name: TName, config?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''> : MsSqlVarCharBuilderInitial<'', Writable<T>>;
@@ -0,0 +1,88 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import { getColumnNameAndConfig } from "../../utils.js";
3
+ import { MsSqlColumn, MsSqlColumnBuilder } from "./common.js";
4
+ class MsSqlVarCharBuilder extends MsSqlColumnBuilder {
5
+ static [entityKind] = "MsSqlVarCharBuilder";
6
+ /** @internal */
7
+ constructor(name, config) {
8
+ super(name, "string", "MsSqlVarChar");
9
+ this.config.length = config.length;
10
+ this.config.enum = config.enum;
11
+ this.config.nonUnicode = config.nonUnicode;
12
+ }
13
+ /** @internal */
14
+ build(table) {
15
+ return new MsSqlVarChar(
16
+ table,
17
+ this.config
18
+ );
19
+ }
20
+ }
21
+ class MsSqlVarChar extends MsSqlColumn {
22
+ static [entityKind] = "MsSqlVarChar";
23
+ length = this.config.length;
24
+ enumValues = this.config.enum;
25
+ nonUnicode = this.config.nonUnicode;
26
+ getSQLType() {
27
+ return this.length === void 0 ? this.nonUnicode ? `nvarchar` : `varchar` : this.nonUnicode ? `nvarchar(${this.length})` : `varchar(${this.length})`;
28
+ }
29
+ }
30
+ class MsSqlVarCharJsonBuilder extends MsSqlColumnBuilder {
31
+ static [entityKind] = "MsSqlVarCharJsonBuilder";
32
+ /** @internal */
33
+ constructor(name, config) {
34
+ super(name, "json", "MsSqlNVarCharJson");
35
+ this.config.length = config.length;
36
+ this.config.nonUnicode = true;
37
+ }
38
+ /** @internal */
39
+ build(table) {
40
+ return new MsSqlVarCharJson(
41
+ table,
42
+ this.config
43
+ );
44
+ }
45
+ }
46
+ class MsSqlVarCharJson extends MsSqlColumn {
47
+ static [entityKind] = "MsSqlVarCharJson";
48
+ length = this.config.length;
49
+ getSQLType() {
50
+ return this.length === void 0 ? `nvarchar` : `nvarchar(${this.length})`;
51
+ }
52
+ mapFromDriverValue(value) {
53
+ return JSON.parse(value);
54
+ }
55
+ mapToDriverValue(value) {
56
+ return JSON.stringify(value);
57
+ }
58
+ }
59
+ function varchar(a, b) {
60
+ const { name, config } = getColumnNameAndConfig(a, b);
61
+ return new MsSqlVarCharBuilder(name, {
62
+ ...config,
63
+ mode: "text",
64
+ nonUnicode: false
65
+ });
66
+ }
67
+ function nvarchar(a, b) {
68
+ const { name, config } = getColumnNameAndConfig(a, b);
69
+ if (config?.mode === "json") {
70
+ return new MsSqlVarCharJsonBuilder(name, {
71
+ length: config.length
72
+ });
73
+ }
74
+ return new MsSqlVarCharBuilder(name, {
75
+ length: config?.length,
76
+ enum: config?.enum,
77
+ nonUnicode: true
78
+ });
79
+ }
80
+ export {
81
+ MsSqlVarChar,
82
+ MsSqlVarCharBuilder,
83
+ MsSqlVarCharJson,
84
+ MsSqlVarCharJsonBuilder,
85
+ nvarchar,
86
+ varchar
87
+ };
88
+ //# sourceMappingURL=varchar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/columns/varchar.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyMsSqlTable } from '~/mssql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MsSqlColumn, MsSqlColumnBuilder } from './common.ts';\n\nexport type MsSqlVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = MsSqlVarCharBuilder<\n\t{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'MsSqlVarChar';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}\n>;\n\nexport type MsSqlVarCharJsonBuilderInitial<TName extends string> = MsSqlVarCharJsonBuilder<\n\t{\n\t\tname: TName;\n\t\tdataType: 'json';\n\t\tcolumnType: 'MsSqlNVarCharJson';\n\t\tdata: unknown;\n\t\tdriverParam: string;\n\t\tenumValues: undefined;\n\t\tgenerated: undefined;\n\t}\n>;\n\nexport class MsSqlVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'MsSqlVarChar'>>\n\textends MsSqlColumnBuilder<T, MsSqlVarCharConfig<'text', T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: MsSqlVarCharConfig<'text', T['enumValues']>) {\n\t\tsuper(name, 'string', 'MsSqlVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t\tthis.config.nonUnicode = config.nonUnicode;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMsSqlTable<{ name: TTableName }>,\n\t): MsSqlVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new MsSqlVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MsSqlVarChar<T extends ColumnBaseConfig<'string', 'MsSqlVarChar'>>\n\textends MsSqlColumn<T, MsSqlVarCharConfig<'text', T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarChar';\n\n\treadonly length: number | 'max' | undefined = this.config.length;\n\n\toverride readonly enumValues = this.config.enum;\n\n\treadonly nonUnicode: boolean = this.config.nonUnicode;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined\n\t\t\t? this.nonUnicode ? `nvarchar` : `varchar`\n\t\t\t: this.nonUnicode\n\t\t\t? `nvarchar(${this.length})`\n\t\t\t: `varchar(${this.length})`;\n\t}\n}\n\nexport class MsSqlVarCharJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'MsSqlNVarCharJson'>>\n\textends MsSqlColumnBuilder<T, { length: number | 'max' | undefined; nonUnicode: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarCharJsonBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: { length: number | 'max' | undefined }) {\n\t\tsuper(name, 'json', 'MsSqlNVarCharJson');\n\t\tthis.config.length = config.length;\n\t\tthis.config.nonUnicode = true;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyMsSqlTable<{ name: TTableName }>,\n\t): MsSqlVarCharJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new MsSqlVarCharJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class MsSqlVarCharJson<T extends ColumnBaseConfig<'json', 'MsSqlNVarCharJson'>>\n\textends MsSqlColumn<T, { length: number | undefined; nonUnicode: boolean }>\n{\n\tstatic override readonly [entityKind]: string = 'MsSqlVarCharJson';\n\n\treadonly length: number | 'max' | undefined = this.config.length;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined\n\t\t\t? `nvarchar`\n\t\t\t: `nvarchar(${this.length})`;\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type MsSqlVarCharConfig<TMode extends 'text' | 'json', TEnum extends string[] | readonly string[] | undefined> =\n\t& MsSqlVarCharConfigInitial<TMode, TEnum>\n\t& {\n\t\tnonUnicode: boolean;\n\t};\n\nexport type MsSqlVarCharConfigInitial<\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: number | 'max';\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t\tlength?: number | 'max';\n\t};\n\nexport function varchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>,\n): MsSqlVarCharBuilderInitial<'', Writable<T>>;\nexport function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: MsSqlVarCharConfigInitial<'text', T | Writable<T>>,\n): MsSqlVarCharBuilderInitial<TName, Writable<T>>;\nexport function varchar(\n\ta?: string | MsSqlVarCharConfigInitial<'text'>,\n\tb?: MsSqlVarCharConfigInitial<'text'>,\n): any {\n\tconst { name, config } = getColumnNameAndConfig<MsSqlVarCharConfigInitial<'text'>>(a, b);\n\n\treturn new MsSqlVarCharBuilder(name, {\n\t\t...config,\n\t\tmode: 'text',\n\t\tnonUnicode: false,\n\t} as any);\n}\n\nexport function nvarchar(): MsSqlVarCharBuilderInitial<'', [string, ...string[]]>;\nexport function nvarchar<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tconfig?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''>\n\t: MsSqlVarCharBuilderInitial<'', Writable<T>>;\nexport function nvarchar<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig?: MsSqlVarCharConfigInitial<TMode, T | Writable<T>>,\n): Equal<TMode, 'json'> extends true ? MsSqlVarCharJsonBuilderInitial<''>\n\t: MsSqlVarCharBuilderInitial<'', Writable<T>>;\nexport function nvarchar(\n\ta?: string | MsSqlVarCharConfigInitial,\n\tb?: MsSqlVarCharConfigInitial,\n): any {\n\tconst { name, config } = getColumnNameAndConfig<MsSqlVarCharConfigInitial>(a, b);\n\n\tif (config?.mode === 'json') {\n\t\treturn new MsSqlVarCharJsonBuilder(name, {\n\t\t\tlength: config.length,\n\t\t});\n\t}\n\n\treturn new MsSqlVarCharBuilder(name, {\n\t\tlength: config?.length,\n\t\tenum: (config as any)?.enum,\n\t\tnonUnicode: true,\n\t});\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA6C;AAClE,SAAS,aAAa,0BAA0B;AA0BzC,MAAM,4BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAqD;AACjF,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAC1B,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACkF;AAClF,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,YACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAAqC,KAAK,OAAO;AAAA,EAExC,aAAa,KAAK,OAAO;AAAA,EAElC,aAAsB,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SACpB,KAAK,aAAa,aAAa,YAC/B,KAAK,aACL,YAAY,KAAK,MAAM,MACvB,WAAW,KAAK,MAAM;AAAA,EAC1B;AACD;AAEO,MAAM,gCACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAgD;AAC5E,UAAM,MAAM,QAAQ,mBAAmB;AACvC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,aAAa;AAAA,EAC1B;AAAA;AAAA,EAGS,MACR,OACoD;AACpD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,yBACJ,YACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAAqC,KAAK,OAAO;AAAA,EAE1D,aAAqB;AACpB,WAAO,KAAK,WAAW,SACpB,aACA,YAAY,KAAK,MAAM;AAAA,EAC3B;AAAA,EAES,mBAAmB,OAA0B;AACrD,WAAO,KAAK,MAAM,KAAK;AAAA,EACxB;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC5B;AACD;AA6BO,SAAS,QACf,GACA,GACM;AACN,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA0D,GAAG,CAAC;AAEvF,SAAO,IAAI,oBAAoB,MAAM;AAAA,IACpC,GAAG;AAAA,IACH,MAAM;AAAA,IACN,YAAY;AAAA,EACb,CAAQ;AACT;AAqBO,SAAS,SACf,GACA,GACM;AACN,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAkD,GAAG,CAAC;AAE/E,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,wBAAwB,MAAM;AAAA,MACxC,QAAQ,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAEA,SAAO,IAAI,oBAAoB,MAAM;AAAA,IACpC,QAAQ,QAAQ;AAAA,IAChB,MAAO,QAAgB;AAAA,IACvB,YAAY;AAAA,EACb,CAAC;AACF;","names":[]}
@@ -0,0 +1,254 @@
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 db_exports = {};
20
+ __export(db_exports, {
21
+ MsSqlDatabase: () => MsSqlDatabase,
22
+ withReplicas: () => withReplicas
23
+ });
24
+ module.exports = __toCommonJS(db_exports);
25
+ var import_entity = require("../entity.cjs");
26
+ var import_selection_proxy = require("../selection-proxy.cjs");
27
+ var import_subquery = require("../subquery.cjs");
28
+ var import_query_builders = require("./query-builders/index.cjs");
29
+ var import_query = require("./query-builders/query.cjs");
30
+ class MsSqlDatabase {
31
+ constructor(dialect, session, schema) {
32
+ this.dialect = dialect;
33
+ this.session = session;
34
+ this._ = schema ? { schema: schema.schema, tableNamesMap: schema.tableNamesMap } : { schema: void 0, tableNamesMap: {} };
35
+ this.query = {};
36
+ if (this._.schema) {
37
+ for (const [tableName, columns] of Object.entries(this._.schema)) {
38
+ this.query[tableName] = new import_query.RelationalQueryBuilder(
39
+ schema.fullSchema,
40
+ this._.schema,
41
+ this._.tableNamesMap,
42
+ schema.fullSchema[tableName],
43
+ columns,
44
+ dialect,
45
+ session
46
+ );
47
+ }
48
+ }
49
+ }
50
+ static [import_entity.entityKind] = "MsSqlDatabase";
51
+ query;
52
+ /**
53
+ * Creates a subquery that defines a temporary named result set as a CTE.
54
+ *
55
+ * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query.
56
+ *
57
+ * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}
58
+ *
59
+ * @param alias The alias for the subquery.
60
+ *
61
+ * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries.
62
+ *
63
+ * @example
64
+ *
65
+ * ```ts
66
+ * // Create a subquery with alias 'sq' and use it in the select query
67
+ * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));
68
+ *
69
+ * const result = await db.with(sq).select().from(sq);
70
+ * ```
71
+ *
72
+ * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them:
73
+ *
74
+ * ```ts
75
+ * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query
76
+ * const sq = db.$with('sq').as(db.select({
77
+ * name: sql<string>`upper(${users.name})`.as('name'),
78
+ * })
79
+ * .from(users));
80
+ *
81
+ * const result = await db.with(sq).select({ name: sq.name }).from(sq);
82
+ * ```
83
+ */
84
+ $with(alias) {
85
+ const self = this;
86
+ return {
87
+ as(qb) {
88
+ if (typeof qb === "function") {
89
+ qb = qb(new import_query_builders.QueryBuilder(self.dialect));
90
+ }
91
+ return new Proxy(
92
+ new import_subquery.WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),
93
+ new import_selection_proxy.SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
94
+ );
95
+ }
96
+ };
97
+ }
98
+ /**
99
+ * Incorporates a previously defined CTE (using `$with`) into the main query.
100
+ *
101
+ * This method allows the main query to reference a temporary named result set.
102
+ *
103
+ * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}
104
+ *
105
+ * @param queries The CTEs to incorporate into the main query.
106
+ *
107
+ * @example
108
+ *
109
+ * ```ts
110
+ * // Define a subquery 'sq' as a CTE using $with
111
+ * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));
112
+ *
113
+ * // Incorporate the CTE 'sq' into the main query and select from it
114
+ * const result = await db.with(sq).select().from(sq);
115
+ * ```
116
+ */
117
+ with(...queries) {
118
+ const self = this;
119
+ function select(fields) {
120
+ return new import_query_builders.MsSqlSelectBuilder({
121
+ fields: fields ?? void 0,
122
+ session: self.session,
123
+ dialect: self.dialect,
124
+ withList: queries
125
+ });
126
+ }
127
+ function selectDistinct(fields) {
128
+ return new import_query_builders.MsSqlSelectBuilder({
129
+ fields: fields ?? void 0,
130
+ session: self.session,
131
+ dialect: self.dialect,
132
+ withList: queries,
133
+ distinct: true
134
+ });
135
+ }
136
+ return { select, selectDistinct };
137
+ }
138
+ select(fields) {
139
+ return new import_query_builders.MsSqlSelectBuilder({ fields: fields ?? void 0, session: this.session, dialect: this.dialect });
140
+ }
141
+ selectDistinct(fields) {
142
+ return new import_query_builders.MsSqlSelectBuilder({
143
+ fields: fields ?? void 0,
144
+ session: this.session,
145
+ dialect: this.dialect,
146
+ distinct: true
147
+ });
148
+ }
149
+ /**
150
+ * Creates an update query.
151
+ *
152
+ * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.
153
+ *
154
+ * Use `.set()` method to specify which values to update.
155
+ *
156
+ * See docs: {@link https://orm.drizzle.team/docs/update}
157
+ *
158
+ * @param table The table to update.
159
+ *
160
+ * @example
161
+ *
162
+ * ```ts
163
+ * // Update all rows in the 'cars' table
164
+ * await db.update(cars).set({ color: 'red' });
165
+ *
166
+ * // Update rows with filters and conditions
167
+ * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));
168
+ * ```
169
+ */
170
+ update(table) {
171
+ return new import_query_builders.MsSqlUpdateBuilder(table, this.session, this.dialect);
172
+ }
173
+ /**
174
+ * Creates an insert query.
175
+ *
176
+ * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.
177
+ *
178
+ * See docs: {@link https://orm.drizzle.team/docs/insert}
179
+ *
180
+ * @param table The table to insert into.
181
+ *
182
+ * @example
183
+ *
184
+ * ```ts
185
+ * // Insert one row
186
+ * await db.insert(cars).values({ brand: 'BMW' });
187
+ *
188
+ * // Insert multiple rows
189
+ * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);
190
+ * ```
191
+ */
192
+ insert(table) {
193
+ return new import_query_builders.MsSqlInsertBuilder(table, this.session, this.dialect);
194
+ }
195
+ /**
196
+ * Creates a delete query.
197
+ *
198
+ * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.
199
+ *
200
+ * See docs: {@link https://orm.drizzle.team/docs/delete}
201
+ *
202
+ * @param table The table to delete from.
203
+ *
204
+ * @example
205
+ *
206
+ * ```ts
207
+ * // Delete all rows in the 'cars' table
208
+ * await db.delete(cars);
209
+ *
210
+ * // Delete rows with filters and conditions
211
+ * await db.delete(cars).where(eq(cars.color, 'green'));
212
+ * ```
213
+ */
214
+ delete(table) {
215
+ return new import_query_builders.MsSqlDeleteBase(table, this.session, this.dialect);
216
+ }
217
+ execute(query) {
218
+ return this.session.execute(query.getSQL());
219
+ }
220
+ transaction(transaction, config) {
221
+ return this.session.transaction(transaction, config);
222
+ }
223
+ }
224
+ const withReplicas = (primary, replicas, getReplica = () => replicas[Math.floor(Math.random() * replicas.length)]) => {
225
+ const select = (...args) => getReplica(replicas).select(...args);
226
+ const selectDistinct = (...args) => getReplica(replicas).selectDistinct(...args);
227
+ const $with = (...args) => getReplica(replicas).with(...args);
228
+ const update = (...args) => primary.update(...args);
229
+ const insert = (...args) => primary.insert(...args);
230
+ const $delete = (...args) => primary.delete(...args);
231
+ const execute = (...args) => primary.execute(...args);
232
+ const transaction = (...args) => primary.transaction(...args);
233
+ return {
234
+ ...primary,
235
+ update,
236
+ insert,
237
+ delete: $delete,
238
+ execute,
239
+ transaction,
240
+ $primary: primary,
241
+ select,
242
+ selectDistinct,
243
+ with: $with,
244
+ get query() {
245
+ return getReplica(replicas).query;
246
+ }
247
+ };
248
+ };
249
+ // Annotate the CommonJS export names for ESM import in node:
250
+ 0 && (module.exports = {
251
+ MsSqlDatabase,
252
+ withReplicas
253
+ });
254
+ //# sourceMappingURL=db.cjs.map