drizzle-orm 0.43.0 → 0.43.1-47c6ad4

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 +568 -0
  168. package/mssql-core/dialect.cjs.map +1 -0
  169. package/mssql-core/dialect.d.cts +57 -0
  170. package/mssql-core/dialect.d.ts +57 -0
  171. package/mssql-core/dialect.js +550 -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 +101 -0
  204. package/mssql-core/query-builders/delete.cjs.map +1 -0
  205. package/mssql-core/query-builders/delete.d.cts +74 -0
  206. package/mssql-core/query-builders/delete.d.ts +74 -0
  207. package/mssql-core/query-builders/delete.js +77 -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 +95 -0
  216. package/mssql-core/query-builders/insert.cjs.map +1 -0
  217. package/mssql-core/query-builders/insert.d.cts +54 -0
  218. package/mssql-core/query-builders/insert.d.ts +54 -0
  219. package/mssql-core/query-builders/insert.js +70 -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 +138 -0
  242. package/mssql-core/query-builders/select.types.d.ts +138 -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 +118 -0
  246. package/mssql-core/query-builders/update.cjs.map +1 -0
  247. package/mssql-core/query-builders/update.d.cts +93 -0
  248. package/mssql-core/query-builders/update.d.ts +93 -0
  249. package/mssql-core/query-builders/update.js +93 -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 +86 -0
  306. package/node-mssql/driver.cjs.map +1 -0
  307. package/node-mssql/driver.d.cts +32 -0
  308. package/node-mssql/driver.d.ts +32 -0
  309. package/node-mssql/driver.js +63 -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,74 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import type { MsSqlDialect } from "../dialect.js";
3
+ import type { AnyQueryResultHKT, MsSqlSession, PreparedQueryConfig, PreparedQueryHKTBase, PreparedQueryKind, QueryResultHKT, QueryResultKind } from "../session.js";
4
+ import type { MsSqlTable } from "../table.js";
5
+ import { QueryPromise } from "../../query-promise.js";
6
+ import type { Query, SQL, SQLWrapper } from "../../sql/sql.js";
7
+ import type { SelectedFieldsOrdered } from "./select.types.js";
8
+ export type MsSqlDeleteWithout<T extends AnyMsSqlDeleteBase, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<MsSqlDeleteBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], TDynamic, T['_']['excludedMethods'] | K>, T['_']['excludedMethods'] | K>;
9
+ export type MsSqlDelete<TTable extends MsSqlTable = MsSqlTable, TQueryResult extends QueryResultHKT = AnyQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase> = MsSqlDeleteBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;
10
+ export interface MsSqlDeleteConfig {
11
+ where?: SQL | undefined;
12
+ table: MsSqlTable;
13
+ returning?: SelectedFieldsOrdered;
14
+ }
15
+ export type MsSqlDeletePrepare<T extends AnyMsSqlDeleteBase> = PreparedQueryKind<T['_']['preparedQueryHKT'], PreparedQueryConfig & {
16
+ execute: QueryResultKind<T['_']['queryResult'], any>;
17
+ iterator: never;
18
+ }>;
19
+ type MsSqlDeleteDynamic<T extends AnyMsSqlDeleteBase> = MsSqlDelete<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT']>;
20
+ type AnyMsSqlDeleteBase = MsSqlDeleteBase<any, any, any, any, any>;
21
+ export interface MsSqlDeleteBase<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<QueryResultKind<TQueryResult, any>> {
22
+ readonly _: {
23
+ readonly table: TTable;
24
+ readonly queryResult: TQueryResult;
25
+ readonly preparedQueryHKT: TPreparedQueryHKT;
26
+ readonly dynamic: TDynamic;
27
+ readonly excludedMethods: TExcludedMethods;
28
+ };
29
+ }
30
+ export declare class MsSqlDeleteBase<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<QueryResultKind<TQueryResult, any>> implements SQLWrapper {
31
+ private table;
32
+ private session;
33
+ private dialect;
34
+ static readonly [entityKind]: string;
35
+ private config;
36
+ constructor(table: TTable, session: MsSqlSession, dialect: MsSqlDialect);
37
+ /**
38
+ * Adds a `where` clause to the query.
39
+ *
40
+ * Calling this method will delete only those rows that fulfill a specified condition.
41
+ *
42
+ * See docs: {@link https://orm.drizzle.team/docs/delete}
43
+ *
44
+ * @param where the `where` clause.
45
+ *
46
+ * @example
47
+ * You can use conditional operators and `sql function` to filter the rows to be deleted.
48
+ *
49
+ * ```ts
50
+ * // Delete all cars with green color
51
+ * db.delete(cars).where(eq(cars.color, 'green'));
52
+ * // or
53
+ * db.delete(cars).where(sql`${cars.color} = 'green'`)
54
+ * ```
55
+ *
56
+ * You can logically combine conditional operators with `and()` and `or()` operators:
57
+ *
58
+ * ```ts
59
+ * // Delete all BMW cars with a green color
60
+ * db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));
61
+ *
62
+ * // Delete all cars with the green or blue color
63
+ * db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
64
+ * ```
65
+ */
66
+ where(where: SQL | undefined): MsSqlDeleteWithout<this, TDynamic, 'where'>;
67
+ toSQL(): Query;
68
+ prepare(): MsSqlDeletePrepare<this>;
69
+ execute: ReturnType<this['prepare']>['execute'];
70
+ private createIterator;
71
+ iterator: ReturnType<this["prepare"]>["iterator"];
72
+ $dynamic(): MsSqlDeleteDynamic<this>;
73
+ }
74
+ export {};
@@ -0,0 +1,77 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import { QueryPromise } from "../../query-promise.js";
3
+ class MsSqlDeleteBase extends QueryPromise {
4
+ constructor(table, session, dialect) {
5
+ super();
6
+ this.table = table;
7
+ this.session = session;
8
+ this.dialect = dialect;
9
+ this.config = { table };
10
+ }
11
+ static [entityKind] = "MsSqlDelete";
12
+ config;
13
+ /**
14
+ * Adds a `where` clause to the query.
15
+ *
16
+ * Calling this method will delete only those rows that fulfill a specified condition.
17
+ *
18
+ * See docs: {@link https://orm.drizzle.team/docs/delete}
19
+ *
20
+ * @param where the `where` clause.
21
+ *
22
+ * @example
23
+ * You can use conditional operators and `sql function` to filter the rows to be deleted.
24
+ *
25
+ * ```ts
26
+ * // Delete all cars with green color
27
+ * db.delete(cars).where(eq(cars.color, 'green'));
28
+ * // or
29
+ * db.delete(cars).where(sql`${cars.color} = 'green'`)
30
+ * ```
31
+ *
32
+ * You can logically combine conditional operators with `and()` and `or()` operators:
33
+ *
34
+ * ```ts
35
+ * // Delete all BMW cars with a green color
36
+ * db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));
37
+ *
38
+ * // Delete all cars with the green or blue color
39
+ * db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
40
+ * ```
41
+ */
42
+ where(where) {
43
+ this.config.where = where;
44
+ return this;
45
+ }
46
+ /** @internal */
47
+ getSQL() {
48
+ return this.dialect.buildDeleteQuery(this.config);
49
+ }
50
+ toSQL() {
51
+ const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
52
+ return rest;
53
+ }
54
+ prepare() {
55
+ return this.session.prepareQuery(
56
+ this.dialect.sqlToQuery(this.getSQL()),
57
+ this.config.returning
58
+ );
59
+ }
60
+ execute = (placeholderValues) => {
61
+ return this.prepare().execute(placeholderValues);
62
+ };
63
+ createIterator = () => {
64
+ const self = this;
65
+ return async function* (placeholderValues) {
66
+ yield* self.prepare().iterator(placeholderValues);
67
+ };
68
+ };
69
+ iterator = this.createIterator();
70
+ $dynamic() {
71
+ return this;
72
+ }
73
+ }
74
+ export {
75
+ MsSqlDeleteBase
76
+ };
77
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/query-builders/delete.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type {\n\tAnyQueryResultHKT,\n\tMsSqlSession,\n\tPreparedQueryConfig,\n\tPreparedQueryHKTBase,\n\tPreparedQueryKind,\n\tQueryResultHKT,\n\tQueryResultKind,\n} from '~/mssql-core/session.ts';\nimport type { MsSqlTable } from '~/mssql-core/table.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SelectedFieldsOrdered } from './select.types.ts';\n\nexport type MsSqlDeleteWithout<\n\tT extends AnyMsSqlDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tMsSqlDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['queryResult'],\n\t\t\tT['_']['preparedQueryHKT'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type MsSqlDelete<\n\tTTable extends MsSqlTable = MsSqlTable,\n\tTQueryResult extends QueryResultHKT = AnyQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n> = MsSqlDeleteBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;\n\nexport interface MsSqlDeleteConfig {\n\twhere?: SQL | undefined;\n\ttable: MsSqlTable;\n\treturning?: SelectedFieldsOrdered;\n}\n\nexport type MsSqlDeletePrepare<T extends AnyMsSqlDeleteBase> = PreparedQueryKind<\n\tT['_']['preparedQueryHKT'],\n\tPreparedQueryConfig & {\n\t\texecute: QueryResultKind<T['_']['queryResult'], any>;\n\t\titerator: never;\n\t}\n>;\n\ntype MsSqlDeleteDynamic<T extends AnyMsSqlDeleteBase> = MsSqlDelete<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT']\n>;\n\ntype AnyMsSqlDeleteBase = MsSqlDeleteBase<any, any, any, any, any>;\n\nexport interface MsSqlDeleteBase<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<QueryResultKind<TQueryResult, any>> {\n\treadonly _: {\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly preparedQueryHKT: TPreparedQueryHKT;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t};\n}\n\nexport class MsSqlDeleteBase<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<QueryResultKind<TQueryResult, any>> implements SQLWrapper {\n\tstatic override readonly [entityKind]: string = 'MsSqlDelete';\n\n\tprivate config: MsSqlDeleteConfig;\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: MsSqlSession,\n\t\tprivate dialect: MsSqlDialect,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): MsSqlDeleteWithout<this, TDynamic, 'where'> {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tprepare(): MsSqlDeletePrepare<this> {\n\t\treturn this.session.prepareQuery(\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t) as MsSqlDeletePrepare<this>;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this.prepare().execute(placeholderValues);\n\t};\n\n\tprivate createIterator = (): ReturnType<this['prepare']>['iterator'] => {\n\t\tconst self = this;\n\t\treturn async function*(placeholderValues) {\n\t\t\tyield* self.prepare().iterator(placeholderValues);\n\t\t};\n\t};\n\n\titerator = this.createIterator();\n\n\t$dynamic(): MsSqlDeleteDynamic<this> {\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAY3B,SAAS,oBAAoB;AAgEtB,MAAM,wBAQH,aAAuE;AAAA,EAKhF,YACS,OACA,SACA,SACP;AACD,UAAM;AAJE;AACA;AACA;AAGR,SAAK,SAAS,EAAE,MAAM;AAAA,EACvB;AAAA,EAXA,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwCR,MAAM,OAAqE;AAC1E,SAAK,OAAO,QAAQ;AACpB,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA,EAEA,UAAoC;AACnC,WAAO,KAAK,QAAQ;AAAA,MACnB,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAAA,MACrC,KAAK,OAAO;AAAA,IACb;AAAA,EACD;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,QAAQ,EAAE,QAAQ,iBAAiB;AAAA,EAChD;AAAA,EAEQ,iBAAiB,MAA+C;AACvE,UAAM,OAAO;AACb,WAAO,iBAAgB,mBAAmB;AACzC,aAAO,KAAK,QAAQ,EAAE,SAAS,iBAAiB;AAAA,IACjD;AAAA,EACD;AAAA,EAEA,WAAW,KAAK,eAAe;AAAA,EAE/B,WAAqC;AACpC,WAAO;AAAA,EACR;AACD;","names":[]}
@@ -0,0 +1,33 @@
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 query_builders_exports = {};
17
+ module.exports = __toCommonJS(query_builders_exports);
18
+ __reExport(query_builders_exports, require("./delete.cjs"), module.exports);
19
+ __reExport(query_builders_exports, require("./insert.cjs"), module.exports);
20
+ __reExport(query_builders_exports, require("./query-builder.cjs"), module.exports);
21
+ __reExport(query_builders_exports, require("./select.cjs"), module.exports);
22
+ __reExport(query_builders_exports, require("./select.types.cjs"), module.exports);
23
+ __reExport(query_builders_exports, require("./update.cjs"), module.exports);
24
+ // Annotate the CommonJS export names for ESM import in node:
25
+ 0 && (module.exports = {
26
+ ...require("./delete.cjs"),
27
+ ...require("./insert.cjs"),
28
+ ...require("./query-builder.cjs"),
29
+ ...require("./select.cjs"),
30
+ ...require("./select.types.cjs"),
31
+ ...require("./update.cjs")
32
+ });
33
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/query-builders/index.ts"],"sourcesContent":["export * from './delete.ts';\nexport * from './insert.ts';\nexport * from './query-builder.ts';\nexport * from './select.ts';\nexport * from './select.types.ts';\nexport * from './update.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,mCAAc,wBAAd;AACA,mCAAc,wBADd;AAEA,mCAAc,+BAFd;AAGA,mCAAc,wBAHd;AAIA,mCAAc,8BAJd;AAKA,mCAAc,wBALd;","names":[]}
@@ -0,0 +1,6 @@
1
+ export * from "./delete.cjs";
2
+ export * from "./insert.cjs";
3
+ export * from "./query-builder.cjs";
4
+ export * from "./select.cjs";
5
+ export * from "./select.types.cjs";
6
+ export * from "./update.cjs";
@@ -0,0 +1,6 @@
1
+ export * from "./delete.js";
2
+ export * from "./insert.js";
3
+ export * from "./query-builder.js";
4
+ export * from "./select.js";
5
+ export * from "./select.types.js";
6
+ export * from "./update.js";
@@ -0,0 +1,7 @@
1
+ export * from "./delete.js";
2
+ export * from "./insert.js";
3
+ export * from "./query-builder.js";
4
+ export * from "./select.js";
5
+ export * from "./select.types.js";
6
+ export * from "./update.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/query-builders/index.ts"],"sourcesContent":["export * from './delete.ts';\nexport * from './insert.ts';\nexport * from './query-builder.ts';\nexport * from './select.ts';\nexport * from './select.types.ts';\nexport * from './update.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,95 @@
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 insert_exports = {};
20
+ __export(insert_exports, {
21
+ MsSqlInsertBase: () => MsSqlInsertBase,
22
+ MsSqlInsertBuilder: () => MsSqlInsertBuilder
23
+ });
24
+ module.exports = __toCommonJS(insert_exports);
25
+ var import_entity = require("../../entity.cjs");
26
+ var import_query_promise = require("../../query-promise.cjs");
27
+ var import_sql = require("../../sql/sql.cjs");
28
+ var import_table = require("../../table.cjs");
29
+ class MsSqlInsertBuilder {
30
+ constructor(table, session, dialect) {
31
+ this.table = table;
32
+ this.session = session;
33
+ this.dialect = dialect;
34
+ }
35
+ static [import_entity.entityKind] = "MsSqlInsertBuilder";
36
+ values(values) {
37
+ values = Array.isArray(values) ? values : [values];
38
+ if (values.length === 0) {
39
+ throw new Error("values() must be called with at least one value");
40
+ }
41
+ const mappedValues = values.map((entry) => {
42
+ const result = {};
43
+ const cols = this.table[import_table.Table.Symbol.Columns];
44
+ for (const colKey of Object.keys(entry)) {
45
+ const colValue = entry[colKey];
46
+ result[colKey] = (0, import_entity.is)(colValue, import_sql.SQL) ? colValue : new import_sql.Param(colValue, cols[colKey]);
47
+ }
48
+ return result;
49
+ });
50
+ return new MsSqlInsertBase(this.table, mappedValues, this.session, this.dialect);
51
+ }
52
+ }
53
+ class MsSqlInsertBase extends import_query_promise.QueryPromise {
54
+ constructor(table, values, session, dialect) {
55
+ super();
56
+ this.session = session;
57
+ this.dialect = dialect;
58
+ this.config = { table, values };
59
+ }
60
+ static [import_entity.entityKind] = "MsSqlInsert";
61
+ config;
62
+ /** @internal */
63
+ getSQL() {
64
+ return this.dialect.buildInsertQuery(this.config);
65
+ }
66
+ toSQL() {
67
+ const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
68
+ return rest;
69
+ }
70
+ prepare() {
71
+ return this.session.prepareQuery(
72
+ this.dialect.sqlToQuery(this.getSQL()),
73
+ void 0
74
+ );
75
+ }
76
+ execute = (placeholderValues) => {
77
+ return this.prepare().execute(placeholderValues);
78
+ };
79
+ createIterator = () => {
80
+ const self = this;
81
+ return async function* (placeholderValues) {
82
+ yield* self.prepare().iterator(placeholderValues);
83
+ };
84
+ };
85
+ iterator = this.createIterator();
86
+ // $dynamic(): MsSqlInsertDynamic<this> {
87
+ // return this as any;
88
+ // }
89
+ }
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ MsSqlInsertBase,
93
+ MsSqlInsertBuilder
94
+ });
95
+ //# sourceMappingURL=insert.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type {\n\tAnyQueryResultHKT,\n\tMsSqlSession,\n\tPreparedQueryConfig,\n\tPreparedQueryHKTBase,\n\tPreparedQueryKind,\n\tQueryResultHKT,\n\tQueryResultKind,\n} from '~/mssql-core/session.ts';\nimport type { MsSqlTable } from '~/mssql-core/table.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\n\nexport interface MsSqlInsertConfig<TTable extends MsSqlTable = MsSqlTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[];\n}\n\nexport type AnyMsSqlInsertConfig = MsSqlInsertConfig<MsSqlTable>;\n\nexport type MsSqlInsertValue<TTable extends MsSqlTable> =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n\t& {};\n\nexport class MsSqlInsertBuilder<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n> {\n\tstatic readonly [entityKind]: string = 'MsSqlInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: MsSqlSession,\n\t\tprivate dialect: MsSqlDialect,\n\t) {}\n\n\tvalues(value: MsSqlInsertValue<TTable>): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;\n\tvalues(values: MsSqlInsertValue<TTable>[]): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;\n\tvalues(\n\t\tvalues: MsSqlInsertValue<TTable> | MsSqlInsertValue<TTable>[],\n\t): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new MsSqlInsertBase(this.table, mappedValues, this.session, this.dialect);\n\t}\n}\n\nexport type MsSqlInsertWithout<T extends AnyMsSqlInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tMsSqlInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['preparedQueryHKT'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type MsSqlInsertDynamic<T extends AnyMsSqlInsert> = MsSqlInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT']\n>;\n\nexport type MsSqlInsertPrepare<T extends AnyMsSqlInsert> = PreparedQueryKind<\n\tT['_']['preparedQueryHKT'],\n\tPreparedQueryConfig & {\n\t\texecute: QueryResultKind<T['_']['queryResult'], any>;\n\t\titerator: never;\n\t}\n>;\n\nexport type MsSqlInsert<\n\tTTable extends MsSqlTable = MsSqlTable,\n\tTQueryResult extends QueryResultHKT = AnyQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n> = MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;\n\nexport type AnyMsSqlInsert = MsSqlInsertBase<any, any, any, any, any>;\n\nexport interface MsSqlInsertBase<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<QueryResultKind<TQueryResult, any>>, SQLWrapper {\n\treadonly _: {\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly preparedQueryHKT: TPreparedQueryHKT;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t};\n}\n\nexport class MsSqlInsertBase<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<QueryResultKind<TQueryResult, any>> implements SQLWrapper {\n\tstatic override readonly [entityKind]: string = 'MsSqlInsert';\n\n\tdeclare protected $table: TTable;\n\n\tprivate config: MsSqlInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: MsSqlInsertConfig['values'],\n\t\tprivate session: MsSqlSession,\n\t\tprivate dialect: MsSqlDialect,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values };\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tprepare(): MsSqlInsertPrepare<this> {\n\t\treturn this.session.prepareQuery(\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tundefined,\n\t\t) as MsSqlInsertPrepare<this>;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this.prepare().execute(placeholderValues);\n\t};\n\n\tprivate createIterator = (): ReturnType<this['prepare']>['iterator'] => {\n\t\tconst self = this;\n\t\treturn async function*(placeholderValues) {\n\t\t\tyield* self.prepare().iterator(placeholderValues);\n\t\t};\n\t};\n\n\titerator = this.createIterator();\n\n\t// $dynamic(): MsSqlInsertDynamic<this> {\n\t// \treturn this as any;\n\t// }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAY/B,2BAA6B;AAE7B,iBAA2B;AAC3B,mBAAsB;AAef,MAAM,mBAIX;AAAA,EAGD,YACS,OACA,SACA,SACP;AAHO;AACA;AACA;AAAA,EACN;AAAA,EANH,QAAiB,wBAAU,IAAY;AAAA,EAUvC,OACC,QAC2D;AAC3D,aAAS,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACjD,QAAI,OAAO,WAAW,GAAG;AACxB,YAAM,IAAI,MAAM,iDAAiD;AAAA,IAClE;AACA,UAAM,eAAe,OAAO,IAAI,CAAC,UAAU;AAC1C,YAAM,SAAsC,CAAC;AAC7C,YAAM,OAAO,KAAK,MAAM,mBAAM,OAAO,OAAO;AAC5C,iBAAW,UAAU,OAAO,KAAK,KAAK,GAAG;AACxC,cAAM,WAAW,MAAM,MAA4B;AACnD,eAAO,MAAM,QAAI,kBAAG,UAAU,cAAG,IAAI,WAAW,IAAI,iBAAM,UAAU,KAAK,MAAM,CAAC;AAAA,MACjF;AACA,aAAO;AAAA,IACR,CAAC;AAED,WAAO,IAAI,gBAAgB,KAAK,OAAO,cAAc,KAAK,SAAS,KAAK,OAAO;AAAA,EAChF;AACD;AAqDO,MAAM,wBASH,kCAAuE;AAAA,EAOhF,YACC,OACA,QACQ,SACA,SACP;AACD,UAAM;AAHE;AACA;AAGR,SAAK,SAAS,EAAE,OAAO,OAAO;AAAA,EAC/B;AAAA,EAdA,QAA0B,wBAAU,IAAY;AAAA,EAIxC;AAAA;AAAA,EAaR,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA,EAEA,UAAoC;AACnC,WAAO,KAAK,QAAQ;AAAA,MACnB,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,QAAQ,EAAE,QAAQ,iBAAiB;AAAA,EAChD;AAAA,EAEQ,iBAAiB,MAA+C;AACvE,UAAM,OAAO;AACb,WAAO,iBAAgB,mBAAmB;AACzC,aAAO,KAAK,QAAQ,EAAE,SAAS,iBAAiB;AAAA,IACjD;AAAA,EACD;AAAA,EAEA,WAAW,KAAK,eAAe;AAAA;AAAA;AAAA;AAKhC;","names":[]}
@@ -0,0 +1,54 @@
1
+ import { entityKind } from "../../entity.cjs";
2
+ import type { MsSqlDialect } from "../dialect.cjs";
3
+ import type { AnyQueryResultHKT, MsSqlSession, PreparedQueryConfig, PreparedQueryHKTBase, PreparedQueryKind, QueryResultHKT, QueryResultKind } from "../session.cjs";
4
+ import type { MsSqlTable } from "../table.cjs";
5
+ import { QueryPromise } from "../../query-promise.cjs";
6
+ import type { Placeholder, Query, SQLWrapper } from "../../sql/sql.cjs";
7
+ import { Param, SQL } from "../../sql/sql.cjs";
8
+ export interface MsSqlInsertConfig<TTable extends MsSqlTable = MsSqlTable> {
9
+ table: TTable;
10
+ values: Record<string, Param | SQL>[];
11
+ }
12
+ export type AnyMsSqlInsertConfig = MsSqlInsertConfig<MsSqlTable>;
13
+ export type MsSqlInsertValue<TTable extends MsSqlTable> = {
14
+ [Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;
15
+ } & {};
16
+ export declare class MsSqlInsertBuilder<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase> {
17
+ private table;
18
+ private session;
19
+ private dialect;
20
+ static readonly [entityKind]: string;
21
+ constructor(table: TTable, session: MsSqlSession, dialect: MsSqlDialect);
22
+ values(value: MsSqlInsertValue<TTable>): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;
23
+ values(values: MsSqlInsertValue<TTable>[]): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;
24
+ }
25
+ export type MsSqlInsertWithout<T extends AnyMsSqlInsert, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<MsSqlInsertBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], TDynamic, T['_']['excludedMethods'] | K>, T['_']['excludedMethods'] | K>;
26
+ export type MsSqlInsertDynamic<T extends AnyMsSqlInsert> = MsSqlInsert<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT']>;
27
+ export type MsSqlInsertPrepare<T extends AnyMsSqlInsert> = PreparedQueryKind<T['_']['preparedQueryHKT'], PreparedQueryConfig & {
28
+ execute: QueryResultKind<T['_']['queryResult'], any>;
29
+ iterator: never;
30
+ }>;
31
+ export type MsSqlInsert<TTable extends MsSqlTable = MsSqlTable, TQueryResult extends QueryResultHKT = AnyQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase> = MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;
32
+ export type AnyMsSqlInsert = MsSqlInsertBase<any, any, any, any, any>;
33
+ export interface MsSqlInsertBase<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<QueryResultKind<TQueryResult, any>>, SQLWrapper {
34
+ readonly _: {
35
+ readonly table: TTable;
36
+ readonly queryResult: TQueryResult;
37
+ readonly preparedQueryHKT: TPreparedQueryHKT;
38
+ readonly dynamic: TDynamic;
39
+ readonly excludedMethods: TExcludedMethods;
40
+ };
41
+ }
42
+ export declare class MsSqlInsertBase<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<QueryResultKind<TQueryResult, any>> implements SQLWrapper {
43
+ private session;
44
+ private dialect;
45
+ static readonly [entityKind]: string;
46
+ protected $table: TTable;
47
+ private config;
48
+ constructor(table: TTable, values: MsSqlInsertConfig['values'], session: MsSqlSession, dialect: MsSqlDialect);
49
+ toSQL(): Query;
50
+ prepare(): MsSqlInsertPrepare<this>;
51
+ execute: ReturnType<this['prepare']>['execute'];
52
+ private createIterator;
53
+ iterator: ReturnType<this["prepare"]>["iterator"];
54
+ }
@@ -0,0 +1,54 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import type { MsSqlDialect } from "../dialect.js";
3
+ import type { AnyQueryResultHKT, MsSqlSession, PreparedQueryConfig, PreparedQueryHKTBase, PreparedQueryKind, QueryResultHKT, QueryResultKind } from "../session.js";
4
+ import type { MsSqlTable } from "../table.js";
5
+ import { QueryPromise } from "../../query-promise.js";
6
+ import type { Placeholder, Query, SQLWrapper } from "../../sql/sql.js";
7
+ import { Param, SQL } from "../../sql/sql.js";
8
+ export interface MsSqlInsertConfig<TTable extends MsSqlTable = MsSqlTable> {
9
+ table: TTable;
10
+ values: Record<string, Param | SQL>[];
11
+ }
12
+ export type AnyMsSqlInsertConfig = MsSqlInsertConfig<MsSqlTable>;
13
+ export type MsSqlInsertValue<TTable extends MsSqlTable> = {
14
+ [Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;
15
+ } & {};
16
+ export declare class MsSqlInsertBuilder<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase> {
17
+ private table;
18
+ private session;
19
+ private dialect;
20
+ static readonly [entityKind]: string;
21
+ constructor(table: TTable, session: MsSqlSession, dialect: MsSqlDialect);
22
+ values(value: MsSqlInsertValue<TTable>): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;
23
+ values(values: MsSqlInsertValue<TTable>[]): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;
24
+ }
25
+ export type MsSqlInsertWithout<T extends AnyMsSqlInsert, TDynamic extends boolean, K extends keyof T & string> = TDynamic extends true ? T : Omit<MsSqlInsertBase<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT'], TDynamic, T['_']['excludedMethods'] | K>, T['_']['excludedMethods'] | K>;
26
+ export type MsSqlInsertDynamic<T extends AnyMsSqlInsert> = MsSqlInsert<T['_']['table'], T['_']['queryResult'], T['_']['preparedQueryHKT']>;
27
+ export type MsSqlInsertPrepare<T extends AnyMsSqlInsert> = PreparedQueryKind<T['_']['preparedQueryHKT'], PreparedQueryConfig & {
28
+ execute: QueryResultKind<T['_']['queryResult'], any>;
29
+ iterator: never;
30
+ }>;
31
+ export type MsSqlInsert<TTable extends MsSqlTable = MsSqlTable, TQueryResult extends QueryResultHKT = AnyQueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase> = MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;
32
+ export type AnyMsSqlInsert = MsSqlInsertBase<any, any, any, any, any>;
33
+ export interface MsSqlInsertBase<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<QueryResultKind<TQueryResult, any>>, SQLWrapper {
34
+ readonly _: {
35
+ readonly table: TTable;
36
+ readonly queryResult: TQueryResult;
37
+ readonly preparedQueryHKT: TPreparedQueryHKT;
38
+ readonly dynamic: TDynamic;
39
+ readonly excludedMethods: TExcludedMethods;
40
+ };
41
+ }
42
+ export declare class MsSqlInsertBase<TTable extends MsSqlTable, TQueryResult extends QueryResultHKT, TPreparedQueryHKT extends PreparedQueryHKTBase, TDynamic extends boolean = false, TExcludedMethods extends string = never> extends QueryPromise<QueryResultKind<TQueryResult, any>> implements SQLWrapper {
43
+ private session;
44
+ private dialect;
45
+ static readonly [entityKind]: string;
46
+ protected $table: TTable;
47
+ private config;
48
+ constructor(table: TTable, values: MsSqlInsertConfig['values'], session: MsSqlSession, dialect: MsSqlDialect);
49
+ toSQL(): Query;
50
+ prepare(): MsSqlInsertPrepare<this>;
51
+ execute: ReturnType<this['prepare']>['execute'];
52
+ private createIterator;
53
+ iterator: ReturnType<this["prepare"]>["iterator"];
54
+ }
@@ -0,0 +1,70 @@
1
+ import { entityKind, is } from "../../entity.js";
2
+ import { QueryPromise } from "../../query-promise.js";
3
+ import { Param, SQL } from "../../sql/sql.js";
4
+ import { Table } from "../../table.js";
5
+ class MsSqlInsertBuilder {
6
+ constructor(table, session, dialect) {
7
+ this.table = table;
8
+ this.session = session;
9
+ this.dialect = dialect;
10
+ }
11
+ static [entityKind] = "MsSqlInsertBuilder";
12
+ values(values) {
13
+ values = Array.isArray(values) ? values : [values];
14
+ if (values.length === 0) {
15
+ throw new Error("values() must be called with at least one value");
16
+ }
17
+ const mappedValues = values.map((entry) => {
18
+ const result = {};
19
+ const cols = this.table[Table.Symbol.Columns];
20
+ for (const colKey of Object.keys(entry)) {
21
+ const colValue = entry[colKey];
22
+ result[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);
23
+ }
24
+ return result;
25
+ });
26
+ return new MsSqlInsertBase(this.table, mappedValues, this.session, this.dialect);
27
+ }
28
+ }
29
+ class MsSqlInsertBase extends QueryPromise {
30
+ constructor(table, values, session, dialect) {
31
+ super();
32
+ this.session = session;
33
+ this.dialect = dialect;
34
+ this.config = { table, values };
35
+ }
36
+ static [entityKind] = "MsSqlInsert";
37
+ config;
38
+ /** @internal */
39
+ getSQL() {
40
+ return this.dialect.buildInsertQuery(this.config);
41
+ }
42
+ toSQL() {
43
+ const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
44
+ return rest;
45
+ }
46
+ prepare() {
47
+ return this.session.prepareQuery(
48
+ this.dialect.sqlToQuery(this.getSQL()),
49
+ void 0
50
+ );
51
+ }
52
+ execute = (placeholderValues) => {
53
+ return this.prepare().execute(placeholderValues);
54
+ };
55
+ createIterator = () => {
56
+ const self = this;
57
+ return async function* (placeholderValues) {
58
+ yield* self.prepare().iterator(placeholderValues);
59
+ };
60
+ };
61
+ iterator = this.createIterator();
62
+ // $dynamic(): MsSqlInsertDynamic<this> {
63
+ // return this as any;
64
+ // }
65
+ }
66
+ export {
67
+ MsSqlInsertBase,
68
+ MsSqlInsertBuilder
69
+ };
70
+ //# sourceMappingURL=insert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/mssql-core/query-builders/insert.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport type { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type {\n\tAnyQueryResultHKT,\n\tMsSqlSession,\n\tPreparedQueryConfig,\n\tPreparedQueryHKTBase,\n\tPreparedQueryKind,\n\tQueryResultHKT,\n\tQueryResultKind,\n} from '~/mssql-core/session.ts';\nimport type { MsSqlTable } from '~/mssql-core/table.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\n\nexport interface MsSqlInsertConfig<TTable extends MsSqlTable = MsSqlTable> {\n\ttable: TTable;\n\tvalues: Record<string, Param | SQL>[];\n}\n\nexport type AnyMsSqlInsertConfig = MsSqlInsertConfig<MsSqlTable>;\n\nexport type MsSqlInsertValue<TTable extends MsSqlTable> =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n\t& {};\n\nexport class MsSqlInsertBuilder<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n> {\n\tstatic readonly [entityKind]: string = 'MsSqlInsertBuilder';\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: MsSqlSession,\n\t\tprivate dialect: MsSqlDialect,\n\t) {}\n\n\tvalues(value: MsSqlInsertValue<TTable>): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;\n\tvalues(values: MsSqlInsertValue<TTable>[]): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT>;\n\tvalues(\n\t\tvalues: MsSqlInsertValue<TTable> | MsSqlInsertValue<TTable>[],\n\t): MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT> {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record<string, Param | SQL> = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\treturn new MsSqlInsertBase(this.table, mappedValues, this.session, this.dialect);\n\t}\n}\n\nexport type MsSqlInsertWithout<T extends AnyMsSqlInsert, TDynamic extends boolean, K extends keyof T & string> =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tMsSqlInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['queryResult'],\n\t\t\t\tT['_']['preparedQueryHKT'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type MsSqlInsertDynamic<T extends AnyMsSqlInsert> = MsSqlInsert<\n\tT['_']['table'],\n\tT['_']['queryResult'],\n\tT['_']['preparedQueryHKT']\n>;\n\nexport type MsSqlInsertPrepare<T extends AnyMsSqlInsert> = PreparedQueryKind<\n\tT['_']['preparedQueryHKT'],\n\tPreparedQueryConfig & {\n\t\texecute: QueryResultKind<T['_']['queryResult'], any>;\n\t\titerator: never;\n\t}\n>;\n\nexport type MsSqlInsert<\n\tTTable extends MsSqlTable = MsSqlTable,\n\tTQueryResult extends QueryResultHKT = AnyQueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase = PreparedQueryHKTBase,\n> = MsSqlInsertBase<TTable, TQueryResult, TPreparedQueryHKT, true, never>;\n\nexport type AnyMsSqlInsert = MsSqlInsertBase<any, any, any, any, any>;\n\nexport interface MsSqlInsertBase<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<QueryResultKind<TQueryResult, any>>, SQLWrapper {\n\treadonly _: {\n\t\treadonly table: TTable;\n\t\treadonly queryResult: TQueryResult;\n\t\treadonly preparedQueryHKT: TPreparedQueryHKT;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t};\n}\n\nexport class MsSqlInsertBase<\n\tTTable extends MsSqlTable,\n\tTQueryResult extends QueryResultHKT,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTPreparedQueryHKT extends PreparedQueryHKTBase,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise<QueryResultKind<TQueryResult, any>> implements SQLWrapper {\n\tstatic override readonly [entityKind]: string = 'MsSqlInsert';\n\n\tdeclare protected $table: TTable;\n\n\tprivate config: MsSqlInsertConfig<TTable>;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: MsSqlInsertConfig['values'],\n\t\tprivate session: MsSqlSession,\n\t\tprivate dialect: MsSqlDialect,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values };\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tprepare(): MsSqlInsertPrepare<this> {\n\t\treturn this.session.prepareQuery(\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tundefined,\n\t\t) as MsSqlInsertPrepare<this>;\n\t}\n\n\toverride execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this.prepare().execute(placeholderValues);\n\t};\n\n\tprivate createIterator = (): ReturnType<this['prepare']>['iterator'] => {\n\t\tconst self = this;\n\t\treturn async function*(placeholderValues) {\n\t\t\tyield* self.prepare().iterator(placeholderValues);\n\t\t};\n\t};\n\n\titerator = this.createIterator();\n\n\t// $dynamic(): MsSqlInsertDynamic<this> {\n\t// \treturn this as any;\n\t// }\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAY/B,SAAS,oBAAoB;AAE7B,SAAS,OAAO,WAAW;AAC3B,SAAS,aAAa;AAef,MAAM,mBAIX;AAAA,EAGD,YACS,OACA,SACA,SACP;AAHO;AACA;AACA;AAAA,EACN;AAAA,EANH,QAAiB,UAAU,IAAY;AAAA,EAUvC,OACC,QAC2D;AAC3D,aAAS,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACjD,QAAI,OAAO,WAAW,GAAG;AACxB,YAAM,IAAI,MAAM,iDAAiD;AAAA,IAClE;AACA,UAAM,eAAe,OAAO,IAAI,CAAC,UAAU;AAC1C,YAAM,SAAsC,CAAC;AAC7C,YAAM,OAAO,KAAK,MAAM,MAAM,OAAO,OAAO;AAC5C,iBAAW,UAAU,OAAO,KAAK,KAAK,GAAG;AACxC,cAAM,WAAW,MAAM,MAA4B;AACnD,eAAO,MAAM,IAAI,GAAG,UAAU,GAAG,IAAI,WAAW,IAAI,MAAM,UAAU,KAAK,MAAM,CAAC;AAAA,MACjF;AACA,aAAO;AAAA,IACR,CAAC;AAED,WAAO,IAAI,gBAAgB,KAAK,OAAO,cAAc,KAAK,SAAS,KAAK,OAAO;AAAA,EAChF;AACD;AAqDO,MAAM,wBASH,aAAuE;AAAA,EAOhF,YACC,OACA,QACQ,SACA,SACP;AACD,UAAM;AAHE;AACA;AAGR,SAAK,SAAS,EAAE,OAAO,OAAO;AAAA,EAC/B;AAAA,EAdA,QAA0B,UAAU,IAAY;AAAA,EAIxC;AAAA;AAAA,EAaR,SAAc;AACb,WAAO,KAAK,QAAQ,iBAAiB,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,QAAe;AACd,UAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAC5E,WAAO;AAAA,EACR;AAAA,EAEA,UAAoC;AACnC,WAAO,KAAK,QAAQ;AAAA,MACnB,KAAK,QAAQ,WAAW,KAAK,OAAO,CAAC;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EAES,UAAkD,CAAC,sBAAsB;AACjF,WAAO,KAAK,QAAQ,EAAE,QAAQ,iBAAiB;AAAA,EAChD;AAAA,EAEQ,iBAAiB,MAA+C;AACvE,UAAM,OAAO;AACb,WAAO,iBAAgB,mBAAmB;AACzC,aAAO,KAAK,QAAQ,EAAE,SAAS,iBAAiB;AAAA,IACjD;AAAA,EACD;AAAA,EAEA,WAAW,KAAK,eAAe;AAAA;AAAA;AAAA;AAKhC;","names":[]}
@@ -0,0 +1,95 @@
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 query_builder_exports = {};
20
+ __export(query_builder_exports, {
21
+ QueryBuilder: () => QueryBuilder
22
+ });
23
+ module.exports = __toCommonJS(query_builder_exports);
24
+ var import_entity = require("../../entity.cjs");
25
+ var import_dialect = require("../dialect.cjs");
26
+ var import_selection_proxy = require("../../selection-proxy.cjs");
27
+ var import_subquery = require("../../subquery.cjs");
28
+ var import_select = require("./select.cjs");
29
+ class QueryBuilder {
30
+ static [import_entity.entityKind] = "MsSqlQueryBuilder";
31
+ dialect;
32
+ dialectConfig;
33
+ constructor(dialect) {
34
+ this.dialect = (0, import_entity.is)(dialect, import_dialect.MsSqlDialect) ? dialect : void 0;
35
+ this.dialectConfig = (0, import_entity.is)(dialect, import_dialect.MsSqlDialect) ? void 0 : dialect;
36
+ }
37
+ $with(alias) {
38
+ const queryBuilder = this;
39
+ return {
40
+ as(qb) {
41
+ if (typeof qb === "function") {
42
+ qb = qb(queryBuilder);
43
+ }
44
+ return new Proxy(
45
+ new import_subquery.WithSubquery(qb.getSQL(), qb.getSelectedFields(), alias, true),
46
+ new import_selection_proxy.SelectionProxyHandler({ alias, sqlAliasedBehavior: "alias", sqlBehavior: "error" })
47
+ );
48
+ }
49
+ };
50
+ }
51
+ with(...queries) {
52
+ const self = this;
53
+ function select(fields) {
54
+ return new import_select.MsSqlSelectBuilder({
55
+ fields: fields ?? void 0,
56
+ session: void 0,
57
+ dialect: self.getDialect(),
58
+ withList: queries
59
+ });
60
+ }
61
+ function selectDistinct(fields) {
62
+ return new import_select.MsSqlSelectBuilder({
63
+ fields: fields ?? void 0,
64
+ session: void 0,
65
+ dialect: self.getDialect(),
66
+ withList: queries,
67
+ distinct: true
68
+ });
69
+ }
70
+ return { select, selectDistinct };
71
+ }
72
+ select(fields) {
73
+ return new import_select.MsSqlSelectBuilder({ fields: fields ?? void 0, session: void 0, dialect: this.getDialect() });
74
+ }
75
+ selectDistinct(fields) {
76
+ return new import_select.MsSqlSelectBuilder({
77
+ fields: fields ?? void 0,
78
+ session: void 0,
79
+ dialect: this.getDialect(),
80
+ distinct: true
81
+ });
82
+ }
83
+ // Lazy load dialect to avoid circular dependency
84
+ getDialect() {
85
+ if (!this.dialect) {
86
+ this.dialect = new import_dialect.MsSqlDialect(this.dialectConfig);
87
+ }
88
+ return this.dialect;
89
+ }
90
+ }
91
+ // Annotate the CommonJS export names for ESM import in node:
92
+ 0 && (module.exports = {
93
+ QueryBuilder
94
+ });
95
+ //# sourceMappingURL=query-builder.cjs.map