oxygen-cli 1.40.2-beta.1 → 1.41.0

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 (442) hide show
  1. package/CHANGELOG.md +1755 -1742
  2. package/LICENSE +672 -672
  3. package/README.md +37 -37
  4. package/build/core/OxygenCore.js +1 -1
  5. package/build/core/OxygenEvents.js +1 -1
  6. package/build/core/OxygenModule.js +1 -1
  7. package/build/core/OxygenService.js +1 -1
  8. package/build/core/OxygenSubModule.js +1 -1
  9. package/build/core/WebDriverModule.js +1 -1
  10. package/build/core/utils.js +1 -1
  11. package/build/errors/HookError.js +1 -1
  12. package/build/errors/ModuleError.js +1 -1
  13. package/build/errors/ModuleUnavailableError.js +1 -1
  14. package/build/errors/OxygenError.js +1 -1
  15. package/build/errors/ScriptNotFound.js +1 -1
  16. package/build/errors/helper.js +1 -1
  17. package/build/index.js +1 -1
  18. package/build/lib/cli-util.js +1 -1
  19. package/build/lib/cli.js +1 -1
  20. package/build/lib/debugger.js +1 -1
  21. package/build/lib/img-merge.js +1 -1
  22. package/build/lib/launcher.js +1 -1
  23. package/build/lib/logger.js +43 -43
  24. package/build/lib/moduleRequire.js +1 -1
  25. package/build/lib/parallel-launcher.js +1 -1
  26. package/build/lib/param-manager.js +1 -1
  27. package/build/lib/param-reader-csv.js +1 -1
  28. package/build/lib/param-reader-excel.js +1 -1
  29. package/build/lib/param-reader-json.js +1 -1
  30. package/build/lib/text-to-image.js +1 -1
  31. package/build/lib/util.js +1 -1
  32. package/build/model/case-result.js +1 -1
  33. package/build/model/failure.js +1 -1
  34. package/build/model/status.js +1 -1
  35. package/build/model/step-result.js +1 -1
  36. package/build/model/suite-result.js +1 -1
  37. package/build/model/test-result.js +1 -1
  38. package/build/model/testcase.js +1 -1
  39. package/build/model/testsuite.js +1 -1
  40. package/build/ox_modules/index.js +1 -1
  41. package/build/ox_modules/module-assert.js +37 -37
  42. package/build/ox_modules/module-date.js +24 -24
  43. package/build/ox_modules/module-db.js +52 -52
  44. package/build/ox_modules/module-email.js +59 -59
  45. package/build/ox_modules/module-eyes.js +34 -34
  46. package/build/ox_modules/module-http/ntlm-util.js +10 -10
  47. package/build/ox_modules/module-http/ntlm.js +15 -15
  48. package/build/ox_modules/module-http.js +132 -132
  49. package/build/ox_modules/module-log.js +27 -27
  50. package/build/ox_modules/module-mailinator.js +87 -87
  51. package/build/ox_modules/module-mob/commands/alertAccept.js +17 -17
  52. package/build/ox_modules/module-mob/commands/alertDismiss.js +17 -17
  53. package/build/ox_modules/module-mob/commands/assertAlert.js +20 -20
  54. package/build/ox_modules/module-mob/commands/assertText.js +21 -21
  55. package/build/ox_modules/module-mob/commands/assertTitle.js +19 -19
  56. package/build/ox_modules/module-mob/commands/assertValue.js +18 -18
  57. package/build/ox_modules/module-mob/commands/back.js +16 -16
  58. package/build/ox_modules/module-mob/commands/clear.js +19 -19
  59. package/build/ox_modules/module-mob/commands/click.js +17 -17
  60. package/build/ox_modules/module-mob/commands/clickHidden.js +17 -17
  61. package/build/ox_modules/module-mob/commands/clickLong.js +18 -18
  62. package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +18 -18
  63. package/build/ox_modules/module-mob/commands/closeApp.js +16 -16
  64. package/build/ox_modules/module-mob/commands/debug.js +16 -16
  65. package/build/ox_modules/module-mob/commands/dragAndDrop.js +19 -19
  66. package/build/ox_modules/module-mob/commands/enableNetwork.js +27 -27
  67. package/build/ox_modules/module-mob/commands/execute.js +21 -21
  68. package/build/ox_modules/module-mob/commands/findElement.js +20 -20
  69. package/build/ox_modules/module-mob/commands/findElements.js +23 -23
  70. package/build/ox_modules/module-mob/commands/getAlertText.js +17 -17
  71. package/build/ox_modules/module-mob/commands/getAppiumLogs.js +16 -16
  72. package/build/ox_modules/module-mob/commands/getBrowserLogs.js +16 -16
  73. package/build/ox_modules/module-mob/commands/getCurrentActivity.js +15 -15
  74. package/build/ox_modules/module-mob/commands/getCurrentPackage.js +15 -15
  75. package/build/ox_modules/module-mob/commands/getDeviceLogs.js +16 -16
  76. package/build/ox_modules/module-mob/commands/getDeviceTime.js +16 -16
  77. package/build/ox_modules/module-mob/commands/getLocation.js +20 -20
  78. package/build/ox_modules/module-mob/commands/getSource.js +16 -16
  79. package/build/ox_modules/module-mob/commands/getText.js +18 -18
  80. package/build/ox_modules/module-mob/commands/getTitle.js +13 -13
  81. package/build/ox_modules/module-mob/commands/getUrl.js +17 -17
  82. package/build/ox_modules/module-mob/commands/getValue.js +18 -18
  83. package/build/ox_modules/module-mob/commands/getWindowHandles.js +17 -17
  84. package/build/ox_modules/module-mob/commands/hideKeyboard.js +21 -21
  85. package/build/ox_modules/module-mob/commands/index.js +1 -1
  86. package/build/ox_modules/module-mob/commands/installApp.js +16 -16
  87. package/build/ox_modules/module-mob/commands/isAppInstalled.js +16 -16
  88. package/build/ox_modules/module-mob/commands/isCheckable.js +18 -18
  89. package/build/ox_modules/module-mob/commands/isChecked.js +18 -18
  90. package/build/ox_modules/module-mob/commands/isClickable.js +18 -18
  91. package/build/ox_modules/module-mob/commands/isExist.js +19 -19
  92. package/build/ox_modules/module-mob/commands/isSelected.js +23 -23
  93. package/build/ox_modules/module-mob/commands/isVisible.js +19 -19
  94. package/build/ox_modules/module-mob/commands/isWebViewContext.js +16 -16
  95. package/build/ox_modules/module-mob/commands/launchApp.js +15 -15
  96. package/build/ox_modules/module-mob/commands/longPressKeyCode.js +18 -18
  97. package/build/ox_modules/module-mob/commands/open.js +17 -17
  98. package/build/ox_modules/module-mob/commands/pause.js +16 -16
  99. package/build/ox_modules/module-mob/commands/removeApp.js +16 -16
  100. package/build/ox_modules/module-mob/commands/resetApp.js +15 -15
  101. package/build/ox_modules/module-mob/commands/scrollIntoElement.js +22 -22
  102. package/build/ox_modules/module-mob/commands/scrollIntoView.js +27 -27
  103. package/build/ox_modules/module-mob/commands/select.js +24 -24
  104. package/build/ox_modules/module-mob/commands/selectFrame.js +23 -23
  105. package/build/ox_modules/module-mob/commands/selectWindow.js +28 -28
  106. package/build/ox_modules/module-mob/commands/sendKeys.js +29 -29
  107. package/build/ox_modules/module-mob/commands/setContext.js +16 -16
  108. package/build/ox_modules/module-mob/commands/setNativeContext.js +15 -15
  109. package/build/ox_modules/module-mob/commands/setTimeout.js +21 -21
  110. package/build/ox_modules/module-mob/commands/setWebViewContext.js +16 -16
  111. package/build/ox_modules/module-mob/commands/shake.js +16 -16
  112. package/build/ox_modules/module-mob/commands/smsClickLink.js +19 -19
  113. package/build/ox_modules/module-mob/commands/smsGetText.js +20 -20
  114. package/build/ox_modules/module-mob/commands/swipe.js +20 -20
  115. package/build/ox_modules/module-mob/commands/swipeElement.js +20 -20
  116. package/build/ox_modules/module-mob/commands/swipeScreen.js +20 -20
  117. package/build/ox_modules/module-mob/commands/takeScreenshot.js +17 -17
  118. package/build/ox_modules/module-mob/commands/tap.js +17 -17
  119. package/build/ox_modules/module-mob/commands/type.js +20 -20
  120. package/build/ox_modules/module-mob/commands/unlockPattern.js +22 -22
  121. package/build/ox_modules/module-mob/commands/waitForExist.js +18 -18
  122. package/build/ox_modules/module-mob/commands/waitForInteractable.js +17 -17
  123. package/build/ox_modules/module-mob/commands/waitForVisible.js +17 -17
  124. package/build/ox_modules/module-mob.js +74 -74
  125. package/build/ox_modules/module-mongo.js +82 -82
  126. package/build/ox_modules/module-pdf.js +35 -35
  127. package/build/ox_modules/module-proxy.js +77 -77
  128. package/build/ox_modules/module-serial.js +55 -55
  129. package/build/ox_modules/module-shell.js +52 -33
  130. package/build/ox_modules/module-soap.js +72 -72
  131. package/build/ox_modules/module-twilio.js +41 -41
  132. package/build/ox_modules/module-utils.js +91 -91
  133. package/build/ox_modules/module-web/commands/alertAccept.js +17 -17
  134. package/build/ox_modules/module-web/commands/alertDismiss.js +17 -17
  135. package/build/ox_modules/module-web/commands/assertAlert.js +20 -20
  136. package/build/ox_modules/module-web/commands/assertExist.js +17 -17
  137. package/build/ox_modules/module-web/commands/assertSelectedLabel.js +21 -21
  138. package/build/ox_modules/module-web/commands/assertSelectedValue.js +21 -21
  139. package/build/ox_modules/module-web/commands/assertText.js +21 -21
  140. package/build/ox_modules/module-web/commands/assertTextNotPresent.js +18 -18
  141. package/build/ox_modules/module-web/commands/assertTextPresent.js +18 -18
  142. package/build/ox_modules/module-web/commands/assertTitle.js +19 -19
  143. package/build/ox_modules/module-web/commands/assertValue.js +20 -20
  144. package/build/ox_modules/module-web/commands/back.js +16 -16
  145. package/build/ox_modules/module-web/commands/clear.js +18 -18
  146. package/build/ox_modules/module-web/commands/click.js +25 -25
  147. package/build/ox_modules/module-web/commands/clickHidden.js +23 -23
  148. package/build/ox_modules/module-web/commands/closeWindow.js +15 -15
  149. package/build/ox_modules/module-web/commands/debug.js +15 -15
  150. package/build/ox_modules/module-web/commands/deleteCookies.js +12 -12
  151. package/build/ox_modules/module-web/commands/deselect.js +22 -22
  152. package/build/ox_modules/module-web/commands/doubleClick.js +17 -17
  153. package/build/ox_modules/module-web/commands/dragAndDrop.js +20 -20
  154. package/build/ox_modules/module-web/commands/execute.js +24 -24
  155. package/build/ox_modules/module-web/commands/fileBrowse.js +18 -18
  156. package/build/ox_modules/module-web/commands/findElement.js +19 -19
  157. package/build/ox_modules/module-web/commands/findElements.js +22 -22
  158. package/build/ox_modules/module-web/commands/fullscreenWindow.js +14 -14
  159. package/build/ox_modules/module-web/commands/getAlertText.js +16 -16
  160. package/build/ox_modules/module-web/commands/getAttribute.js +19 -19
  161. package/build/ox_modules/module-web/commands/getBrowserLogs.js +17 -17
  162. package/build/ox_modules/module-web/commands/getCookies.js +13 -13
  163. package/build/ox_modules/module-web/commands/getCssValue.js +19 -19
  164. package/build/ox_modules/module-web/commands/getElementCount.js +17 -17
  165. package/build/ox_modules/module-web/commands/getHTML.js +17 -17
  166. package/build/ox_modules/module-web/commands/getSource.js +16 -16
  167. package/build/ox_modules/module-web/commands/getText.js +18 -18
  168. package/build/ox_modules/module-web/commands/getTitle.js +12 -12
  169. package/build/ox_modules/module-web/commands/getUrl.js +16 -16
  170. package/build/ox_modules/module-web/commands/getValue.js +18 -18
  171. package/build/ox_modules/module-web/commands/getWindowHandles.js +16 -16
  172. package/build/ox_modules/module-web/commands/getWindowSize.js +16 -16
  173. package/build/ox_modules/module-web/commands/getXMLPageSource.js +16 -16
  174. package/build/ox_modules/module-web/commands/index.js +1 -1
  175. package/build/ox_modules/module-web/commands/isAlertPresent.js +16 -16
  176. package/build/ox_modules/module-web/commands/isChecked.js +18 -18
  177. package/build/ox_modules/module-web/commands/isExist.js +19 -19
  178. package/build/ox_modules/module-web/commands/isInteractable.js +22 -22
  179. package/build/ox_modules/module-web/commands/isSelected.js +23 -23
  180. package/build/ox_modules/module-web/commands/isVisible.js +19 -19
  181. package/build/ox_modules/module-web/commands/makeVisible.js +25 -25
  182. package/build/ox_modules/module-web/commands/maximizeWindow.js +14 -14
  183. package/build/ox_modules/module-web/commands/minimizeWindow.js +14 -14
  184. package/build/ox_modules/module-web/commands/mock.js +20 -20
  185. package/build/ox_modules/module-web/commands/mockClearAll.js +12 -12
  186. package/build/ox_modules/module-web/commands/mockRestoreAll.js +12 -12
  187. package/build/ox_modules/module-web/commands/newWindow.js +16 -16
  188. package/build/ox_modules/module-web/commands/open.js +16 -16
  189. package/build/ox_modules/module-web/commands/pause.js +15 -15
  190. package/build/ox_modules/module-web/commands/point.js +21 -21
  191. package/build/ox_modules/module-web/commands/pointJS.js +15 -15
  192. package/build/ox_modules/module-web/commands/refresh.js +15 -15
  193. package/build/ox_modules/module-web/commands/rightClick.js +17 -17
  194. package/build/ox_modules/module-web/commands/rightClickActions.js +19 -19
  195. package/build/ox_modules/module-web/commands/scrollToElement.js +21 -21
  196. package/build/ox_modules/module-web/commands/select.js +23 -23
  197. package/build/ox_modules/module-web/commands/selectFrame.js +24 -24
  198. package/build/ox_modules/module-web/commands/selectWindow.js +27 -27
  199. package/build/ox_modules/module-web/commands/sendKeys.js +22 -22
  200. package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +20 -20
  201. package/build/ox_modules/module-web/commands/setTimeout.js +21 -21
  202. package/build/ox_modules/module-web/commands/setWindowSize.js +17 -17
  203. package/build/ox_modules/module-web/commands/takeScreenshot.js +17 -17
  204. package/build/ox_modules/module-web/commands/type.js +20 -20
  205. package/build/ox_modules/module-web/commands/verifyAlert.js +20 -20
  206. package/build/ox_modules/module-web/commands/verifyExist.js +17 -17
  207. package/build/ox_modules/module-web/commands/verifySelectedLabel.js +21 -21
  208. package/build/ox_modules/module-web/commands/verifySelectedValue.js +21 -21
  209. package/build/ox_modules/module-web/commands/verifyText.js +21 -21
  210. package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +18 -18
  211. package/build/ox_modules/module-web/commands/verifyTextPresent.js +18 -18
  212. package/build/ox_modules/module-web/commands/verifyTitle.js +19 -19
  213. package/build/ox_modules/module-web/commands/verifyValue.js +20 -20
  214. package/build/ox_modules/module-web/commands/waitForAngular.js +19 -19
  215. package/build/ox_modules/module-web/commands/waitForExist.js +17 -17
  216. package/build/ox_modules/module-web/commands/waitForInteractable.js +17 -17
  217. package/build/ox_modules/module-web/commands/waitForNotExist.js +17 -17
  218. package/build/ox_modules/module-web/commands/waitForNotText.js +20 -20
  219. package/build/ox_modules/module-web/commands/waitForNotValue.js +20 -20
  220. package/build/ox_modules/module-web/commands/waitForText.js +20 -20
  221. package/build/ox_modules/module-web/commands/waitForValue.js +20 -20
  222. package/build/ox_modules/module-web/commands/waitForVisible.js +17 -17
  223. package/build/ox_modules/module-web/commands/waitForWindow.js +22 -22
  224. package/build/ox_modules/module-web.js +94 -94
  225. package/build/ox_modules/module-win/commands/assertText.js +17 -17
  226. package/build/ox_modules/module-win/commands/assertTitle.js +15 -15
  227. package/build/ox_modules/module-win/commands/assertValue.js +14 -14
  228. package/build/ox_modules/module-win/commands/back.js +11 -11
  229. package/build/ox_modules/module-win/commands/clear.js +13 -13
  230. package/build/ox_modules/module-win/commands/click.js +13 -13
  231. package/build/ox_modules/module-win/commands/clickLong.js +14 -14
  232. package/build/ox_modules/module-win/commands/clickMultipleTimes.js +14 -14
  233. package/build/ox_modules/module-win/commands/findElement.js +15 -15
  234. package/build/ox_modules/module-win/commands/findElements.js +15 -15
  235. package/build/ox_modules/module-win/commands/getAppiumLogs.js +12 -12
  236. package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +15 -15
  237. package/build/ox_modules/module-win/commands/getLocation.js +14 -14
  238. package/build/ox_modules/module-win/commands/getSource.js +12 -12
  239. package/build/ox_modules/module-win/commands/getText.js +14 -14
  240. package/build/ox_modules/module-win/commands/getValue.js +14 -14
  241. package/build/ox_modules/module-win/commands/getWindowHandles.js +15 -15
  242. package/build/ox_modules/module-win/commands/index.js +1 -1
  243. package/build/ox_modules/module-win/commands/isCheckable.js +14 -14
  244. package/build/ox_modules/module-win/commands/isChecked.js +14 -14
  245. package/build/ox_modules/module-win/commands/isClickable.js +14 -14
  246. package/build/ox_modules/module-win/commands/isExist.js +15 -15
  247. package/build/ox_modules/module-win/commands/isSelected.js +14 -14
  248. package/build/ox_modules/module-win/commands/isVisible.js +15 -15
  249. package/build/ox_modules/module-win/commands/open.js +13 -13
  250. package/build/ox_modules/module-win/commands/pause.js +12 -12
  251. package/build/ox_modules/module-win/commands/rightClick.js +13 -13
  252. package/build/ox_modules/module-win/commands/selectWindow.js +23 -23
  253. package/build/ox_modules/module-win/commands/sendKeys.js +22 -22
  254. package/build/ox_modules/module-win/commands/setTimeout.js +17 -17
  255. package/build/ox_modules/module-win/commands/takeScreenshot.js +16 -16
  256. package/build/ox_modules/module-win/commands/tap.js +13 -13
  257. package/build/ox_modules/module-win/commands/type.js +16 -16
  258. package/build/ox_modules/module-win/commands/waitForExist.js +14 -14
  259. package/build/ox_modules/module-win/commands/waitForInteractable.js +16 -16
  260. package/build/ox_modules/module-win/commands/waitForVisible.js +13 -13
  261. package/build/ox_modules/module-win.js +47 -47
  262. package/build/ox_modules/utils.js +8 -8
  263. package/build/ox_reporters/excel/template.json +48 -48
  264. package/build/ox_reporters/html/index.ejs +163 -163
  265. package/build/ox_reporters/html/summary.ejs +77 -77
  266. package/build/ox_reporters/html/tests-details.ejs +134 -134
  267. package/build/ox_reporters/html/tests-devices-browsers.ejs +83 -83
  268. package/build/ox_reporters/reporter-excel.js +1 -1
  269. package/build/ox_reporters/reporter-html.js +1 -1
  270. package/build/ox_reporters/reporter-json.js +1 -1
  271. package/build/ox_reporters/reporter-junit.js +1 -1
  272. package/build/ox_reporters/reporter-pdf.js +1 -1
  273. package/build/ox_reporters/reporter-rp.js +73 -42
  274. package/build/ox_reporters/reporter-xml.js +1 -1
  275. package/build/ox_services/service-devtools/submodule-network.js +1 -1
  276. package/build/ox_services/service-devtools.js +1 -1
  277. package/build/reporter/FileReporterBase.js +1 -1
  278. package/build/reporter/ReportAggregator.js +1 -1
  279. package/build/reporter/ReporterBase.js +1 -1
  280. package/build/reporter/WebSocketReporter.js +1 -1
  281. package/build/runners/WorkerProcess.js +1 -1
  282. package/build/runners/cucumber/CucumberEventListener.js +1 -1
  283. package/build/runners/cucumber/CucumberReporter.js +1 -1
  284. package/build/runners/cucumber/CucumberWorker.js +1 -1
  285. package/build/runners/cucumber/index.js +1 -1
  286. package/build/runners/cucumber/worker.js +1 -1
  287. package/build/runners/index.js +1 -1
  288. package/build/runners/oxygen/OxygenWorker.js +1 -1
  289. package/build/runners/oxygen/index.js +1 -1
  290. package/build/runners/oxygen/worker.js +1 -1
  291. package/config/default.json +6 -6
  292. package/package.json +139 -139
  293. package/types/index.d.ts +70 -70
  294. package/types/module-eyes.d.ts +39 -39
  295. package/types/module-http.d.ts +163 -163
  296. package/types/module-log.d.ts +34 -34
  297. package/types/module-mob.d.ts +966 -966
  298. package/types/module-pdf.d.ts +40 -40
  299. package/types/module-proxy.d.ts +100 -100
  300. package/types/module-shell.d.ts +24 -24
  301. package/types/module-utils.d.ts +99 -99
  302. package/types/module-web.d.ts +1053 -1053
  303. package/types/module-win.d.ts +352 -352
  304. package/types/oxygen.d.ts +53 -53
  305. package/log.txt +0 -1614
  306. package/reports/2025-06-08_231627/report.html +0 -440
  307. package/reports/2025-06-09_223615/report.html +0 -440
  308. package/transpiled/mongodb/etc/prepare.js +0 -18
  309. package/transpiled/mongodb/lib/admin.js +0 -182
  310. package/transpiled/mongodb/lib/beta.js +0 -26
  311. package/transpiled/mongodb/lib/bson.js +0 -220
  312. package/transpiled/mongodb/lib/bulk/common.js +0 -1041
  313. package/transpiled/mongodb/lib/bulk/ordered.js +0 -76
  314. package/transpiled/mongodb/lib/bulk/unordered.js +0 -102
  315. package/transpiled/mongodb/lib/change_stream.js +0 -517
  316. package/transpiled/mongodb/lib/client-side-encryption/auto_encrypter.js +0 -329
  317. package/transpiled/mongodb/lib/client-side-encryption/client_encryption.js +0 -779
  318. package/transpiled/mongodb/lib/client-side-encryption/crypto_callbacks.js +0 -95
  319. package/transpiled/mongodb/lib/client-side-encryption/errors.js +0 -171
  320. package/transpiled/mongodb/lib/client-side-encryption/mongocryptd_manager.js +0 -98
  321. package/transpiled/mongodb/lib/client-side-encryption/providers/aws.js +0 -34
  322. package/transpiled/mongodb/lib/client-side-encryption/providers/azure.js +0 -186
  323. package/transpiled/mongodb/lib/client-side-encryption/providers/gcp.js +0 -29
  324. package/transpiled/mongodb/lib/client-side-encryption/providers/index.js +0 -58
  325. package/transpiled/mongodb/lib/client-side-encryption/state_machine.js +0 -505
  326. package/transpiled/mongodb/lib/cmap/auth/auth_provider.js +0 -63
  327. package/transpiled/mongodb/lib/cmap/auth/aws_temporary_credentials.js +0 -167
  328. package/transpiled/mongodb/lib/cmap/auth/gssapi.js +0 -207
  329. package/transpiled/mongodb/lib/cmap/auth/mongo_credentials.js +0 -193
  330. package/transpiled/mongodb/lib/cmap/auth/mongodb_aws.js +0 -181
  331. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +0 -101
  332. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +0 -81
  333. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +0 -174
  334. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +0 -59
  335. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +0 -58
  336. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +0 -138
  337. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +0 -42
  338. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +0 -71
  339. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +0 -34
  340. package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc.js +0 -111
  341. package/transpiled/mongodb/lib/cmap/auth/plain.js +0 -43
  342. package/transpiled/mongodb/lib/cmap/auth/providers.js +0 -22
  343. package/transpiled/mongodb/lib/cmap/auth/scram.js +0 -318
  344. package/transpiled/mongodb/lib/cmap/auth/x509.js +0 -61
  345. package/transpiled/mongodb/lib/cmap/command_monitoring_events.js +0 -266
  346. package/transpiled/mongodb/lib/cmap/commands.js +0 -605
  347. package/transpiled/mongodb/lib/cmap/connect.js +0 -418
  348. package/transpiled/mongodb/lib/cmap/connection.js +0 -673
  349. package/transpiled/mongodb/lib/cmap/connection_pool.js +0 -688
  350. package/transpiled/mongodb/lib/cmap/connection_pool_events.js +0 -254
  351. package/transpiled/mongodb/lib/cmap/errors.js +0 -128
  352. package/transpiled/mongodb/lib/cmap/handshake/client_metadata.js +0 -278
  353. package/transpiled/mongodb/lib/cmap/metrics.js +0 -67
  354. package/transpiled/mongodb/lib/cmap/stream_description.js +0 -74
  355. package/transpiled/mongodb/lib/cmap/wire_protocol/compression.js +0 -196
  356. package/transpiled/mongodb/lib/cmap/wire_protocol/constants.js +0 -19
  357. package/transpiled/mongodb/lib/cmap/wire_protocol/on_data.js +0 -144
  358. package/transpiled/mongodb/lib/cmap/wire_protocol/on_demand/document.js +0 -278
  359. package/transpiled/mongodb/lib/cmap/wire_protocol/responses.js +0 -376
  360. package/transpiled/mongodb/lib/cmap/wire_protocol/shared.js +0 -49
  361. package/transpiled/mongodb/lib/collection.js +0 -852
  362. package/transpiled/mongodb/lib/connection_string.js +0 -1452
  363. package/transpiled/mongodb/lib/constants.js +0 -162
  364. package/transpiled/mongodb/lib/cursor/abstract_cursor.js +0 -1082
  365. package/transpiled/mongodb/lib/cursor/aggregation_cursor.js +0 -227
  366. package/transpiled/mongodb/lib/cursor/change_stream_cursor.js +0 -136
  367. package/transpiled/mongodb/lib/cursor/client_bulk_write_cursor.js +0 -69
  368. package/transpiled/mongodb/lib/cursor/find_cursor.js +0 -476
  369. package/transpiled/mongodb/lib/cursor/list_collections_cursor.js +0 -48
  370. package/transpiled/mongodb/lib/cursor/list_indexes_cursor.js +0 -46
  371. package/transpiled/mongodb/lib/cursor/list_search_indexes_cursor.js +0 -30
  372. package/transpiled/mongodb/lib/cursor/run_command_cursor.js +0 -125
  373. package/transpiled/mongodb/lib/db.js +0 -467
  374. package/transpiled/mongodb/lib/deps.js +0 -174
  375. package/transpiled/mongodb/lib/encrypter.js +0 -129
  376. package/transpiled/mongodb/lib/error.js +0 -1550
  377. package/transpiled/mongodb/lib/explain.js +0 -122
  378. package/transpiled/mongodb/lib/gridfs/download.js +0 -369
  379. package/transpiled/mongodb/lib/gridfs/index.js +0 -240
  380. package/transpiled/mongodb/lib/gridfs/upload.js +0 -446
  381. package/transpiled/mongodb/lib/index.js +0 -975
  382. package/transpiled/mongodb/lib/mongo_client.js +0 -626
  383. package/transpiled/mongodb/lib/mongo_client_auth_providers.js +0 -98
  384. package/transpiled/mongodb/lib/mongo_logger.js +0 -812
  385. package/transpiled/mongodb/lib/mongo_types.js +0 -71
  386. package/transpiled/mongodb/lib/operations/aggregate.js +0 -129
  387. package/transpiled/mongodb/lib/operations/bulk_write.js +0 -48
  388. package/transpiled/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +0 -96
  389. package/transpiled/mongodb/lib/operations/client_bulk_write/command_builder.js +0 -409
  390. package/transpiled/mongodb/lib/operations/client_bulk_write/common.js +0 -5
  391. package/transpiled/mongodb/lib/operations/client_bulk_write/executor.js +0 -144
  392. package/transpiled/mongodb/lib/operations/client_bulk_write/results_merger.js +0 -228
  393. package/transpiled/mongodb/lib/operations/collections.js +0 -49
  394. package/transpiled/mongodb/lib/operations/command.js +0 -102
  395. package/transpiled/mongodb/lib/operations/count.js +0 -60
  396. package/transpiled/mongodb/lib/operations/create_collection.js +0 -109
  397. package/transpiled/mongodb/lib/operations/delete.js +0 -134
  398. package/transpiled/mongodb/lib/operations/distinct.js +0 -77
  399. package/transpiled/mongodb/lib/operations/drop.js +0 -102
  400. package/transpiled/mongodb/lib/operations/estimated_document_count.js +0 -47
  401. package/transpiled/mongodb/lib/operations/execute_operation.js +0 -251
  402. package/transpiled/mongodb/lib/operations/find.js +0 -197
  403. package/transpiled/mongodb/lib/operations/find_and_modify.js +0 -191
  404. package/transpiled/mongodb/lib/operations/get_more.js +0 -84
  405. package/transpiled/mongodb/lib/operations/indexes.js +0 -197
  406. package/transpiled/mongodb/lib/operations/insert.js +0 -138
  407. package/transpiled/mongodb/lib/operations/is_capped.js +0 -44
  408. package/transpiled/mongodb/lib/operations/kill_cursors.js +0 -58
  409. package/transpiled/mongodb/lib/operations/list_collections.js +0 -66
  410. package/transpiled/mongodb/lib/operations/list_databases.js +0 -56
  411. package/transpiled/mongodb/lib/operations/operation.js +0 -88
  412. package/transpiled/mongodb/lib/operations/options_operation.js +0 -44
  413. package/transpiled/mongodb/lib/operations/profiling_level.js +0 -42
  414. package/transpiled/mongodb/lib/operations/remove_user.js +0 -35
  415. package/transpiled/mongodb/lib/operations/rename.js +0 -48
  416. package/transpiled/mongodb/lib/operations/run_command.js +0 -64
  417. package/transpiled/mongodb/lib/operations/search_indexes/create.js +0 -41
  418. package/transpiled/mongodb/lib/operations/search_indexes/drop.js +0 -51
  419. package/transpiled/mongodb/lib/operations/search_indexes/update.js +0 -40
  420. package/transpiled/mongodb/lib/operations/set_profiling_level.js +0 -70
  421. package/transpiled/mongodb/lib/operations/stats.js +0 -39
  422. package/transpiled/mongodb/lib/operations/update.js +0 -218
  423. package/transpiled/mongodb/lib/operations/validate_collection.js +0 -49
  424. package/transpiled/mongodb/lib/read_concern.js +0 -92
  425. package/transpiled/mongodb/lib/read_preference.js +0 -215
  426. package/transpiled/mongodb/lib/resource_management.js +0 -74
  427. package/transpiled/mongodb/lib/sdam/common.js +0 -53
  428. package/transpiled/mongodb/lib/sdam/events.js +0 -177
  429. package/transpiled/mongodb/lib/sdam/monitor.js +0 -656
  430. package/transpiled/mongodb/lib/sdam/server.js +0 -463
  431. package/transpiled/mongodb/lib/sdam/server_description.js +0 -196
  432. package/transpiled/mongodb/lib/sdam/server_selection.js +0 -283
  433. package/transpiled/mongodb/lib/sdam/server_selection_events.js +0 -112
  434. package/transpiled/mongodb/lib/sdam/srv_polling.js +0 -139
  435. package/transpiled/mongodb/lib/sdam/topology.js +0 -833
  436. package/transpiled/mongodb/lib/sdam/topology_description.js +0 -447
  437. package/transpiled/mongodb/lib/sessions.js +0 -988
  438. package/transpiled/mongodb/lib/sort.js +0 -123
  439. package/transpiled/mongodb/lib/timeout.js +0 -349
  440. package/transpiled/mongodb/lib/transactions.js +0 -149
  441. package/transpiled/mongodb/lib/utils.js +0 -1502
  442. package/transpiled/mongodb/lib/write_concern.js +0 -115
@@ -1,228 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ClientBulkWriteResultsMerger = void 0;
7
-
8
- const __1 = require("../..");
9
-
10
- const error_1 = require("../../error");
11
- /**
12
- * Unacknowledged bulk writes are always the same.
13
- */
14
-
15
-
16
- const UNACKNOWLEDGED = {
17
- acknowledged: false,
18
- insertedCount: 0,
19
- upsertedCount: 0,
20
- matchedCount: 0,
21
- modifiedCount: 0,
22
- deletedCount: 0,
23
- insertResults: undefined,
24
- updateResults: undefined,
25
- deleteResults: undefined
26
- };
27
- /**
28
- * Merges client bulk write cursor responses together into a single result.
29
- * @internal
30
- */
31
-
32
- class ClientBulkWriteResultsMerger {
33
- /**
34
- * @returns The standard unacknowledged bulk write result.
35
- */
36
- static unacknowledged() {
37
- return UNACKNOWLEDGED;
38
- }
39
- /**
40
- * Instantiate the merger.
41
- * @param options - The options.
42
- */
43
-
44
-
45
- constructor(options) {
46
- this.options = options;
47
- this.currentBatchOffset = 0;
48
- this.writeConcernErrors = [];
49
- this.writeErrors = new Map();
50
- this.result = {
51
- acknowledged: true,
52
- insertedCount: 0,
53
- upsertedCount: 0,
54
- matchedCount: 0,
55
- modifiedCount: 0,
56
- deletedCount: 0,
57
- insertResults: undefined,
58
- updateResults: undefined,
59
- deleteResults: undefined
60
- };
61
-
62
- if (options.verboseResults) {
63
- this.result.insertResults = new Map();
64
- this.result.updateResults = new Map();
65
- this.result.deleteResults = new Map();
66
- }
67
- }
68
- /**
69
- * Get the bulk write result object.
70
- */
71
-
72
-
73
- get bulkWriteResult() {
74
- return {
75
- acknowledged: this.result.acknowledged,
76
- insertedCount: this.result.insertedCount,
77
- upsertedCount: this.result.upsertedCount,
78
- matchedCount: this.result.matchedCount,
79
- modifiedCount: this.result.modifiedCount,
80
- deletedCount: this.result.deletedCount,
81
- insertResults: this.result.insertResults,
82
- updateResults: this.result.updateResults,
83
- deleteResults: this.result.deleteResults
84
- };
85
- }
86
- /**
87
- * Merge the results in the cursor to the existing result.
88
- * @param currentBatchOffset - The offset index to the original models.
89
- * @param response - The cursor response.
90
- * @param documents - The documents in the cursor.
91
- * @returns The current result.
92
- */
93
-
94
-
95
- async merge(cursor) {
96
- let writeConcernErrorResult;
97
-
98
- try {
99
- for await (const document of cursor) {
100
- // Only add to maps if ok: 1
101
- if (document.ok === 1) {
102
- if (this.options.verboseResults) {
103
- this.processDocument(cursor, document);
104
- }
105
- } else {
106
- // If an individual write error is encountered during an ordered bulk write, drivers MUST
107
- // record the error in writeErrors and immediately throw the exception. Otherwise, drivers
108
- // MUST continue to iterate the results cursor and execute any further bulkWrite batches.
109
- if (this.options.ordered) {
110
- const error = new error_1.MongoClientBulkWriteError({
111
- message: 'Mongo client ordered bulk write encountered a write error.'
112
- });
113
- error.writeErrors.set(document.idx + this.currentBatchOffset, {
114
- code: document.code,
115
- message: document.errmsg
116
- });
117
- error.partialResult = this.result;
118
- throw error;
119
- } else {
120
- this.writeErrors.set(document.idx + this.currentBatchOffset, {
121
- code: document.code,
122
- message: document.errmsg
123
- });
124
- }
125
- }
126
- }
127
- } catch (error) {
128
- if (error instanceof __1.MongoWriteConcernError) {
129
- const result = error.result;
130
- writeConcernErrorResult = {
131
- insertedCount: result.nInserted,
132
- upsertedCount: result.nUpserted,
133
- matchedCount: result.nMatched,
134
- modifiedCount: result.nModified,
135
- deletedCount: result.nDeleted,
136
- writeConcernError: result.writeConcernError
137
- };
138
-
139
- if (this.options.verboseResults && result.cursor.firstBatch) {
140
- for (const document of result.cursor.firstBatch) {
141
- if (document.ok === 1) {
142
- this.processDocument(cursor, document);
143
- }
144
- }
145
- }
146
- } else {
147
- throw error;
148
- }
149
- } finally {
150
- // Update the counts from the cursor response.
151
- if (cursor.response) {
152
- const response = cursor.response;
153
- this.incrementCounts(response);
154
- } // Increment the batch offset.
155
-
156
-
157
- this.currentBatchOffset += cursor.operations.length;
158
- } // If we have write concern errors ensure they are added.
159
-
160
-
161
- if (writeConcernErrorResult) {
162
- const writeConcernError = writeConcernErrorResult.writeConcernError;
163
- this.incrementCounts(writeConcernErrorResult);
164
- this.writeConcernErrors.push({
165
- code: writeConcernError.code,
166
- message: writeConcernError.errmsg
167
- });
168
- }
169
-
170
- return this.result;
171
- }
172
- /**
173
- * Process an individual document in the results.
174
- * @param cursor - The cursor.
175
- * @param document - The document to process.
176
- */
177
-
178
-
179
- processDocument(cursor, document) {
180
- // Get the corresponding operation from the command.
181
- const operation = cursor.operations[document.idx]; // Handle insert results.
182
-
183
- if ('insert' in operation) {
184
- this.result.insertResults?.set(document.idx + this.currentBatchOffset, {
185
- insertedId: operation.document._id
186
- });
187
- } // Handle update results.
188
-
189
-
190
- if ('update' in operation) {
191
- const result = {
192
- matchedCount: document.n,
193
- modifiedCount: document.nModified ?? 0,
194
- // Check if the bulk did actually upsert.
195
- didUpsert: document.upserted != null
196
- };
197
-
198
- if (document.upserted) {
199
- result.upsertedId = document.upserted._id;
200
- }
201
-
202
- this.result.updateResults?.set(document.idx + this.currentBatchOffset, result);
203
- } // Handle delete results.
204
-
205
-
206
- if ('delete' in operation) {
207
- this.result.deleteResults?.set(document.idx + this.currentBatchOffset, {
208
- deletedCount: document.n
209
- });
210
- }
211
- }
212
- /**
213
- * Increment the result counts.
214
- * @param document - The document with the results.
215
- */
216
-
217
-
218
- incrementCounts(document) {
219
- this.result.insertedCount += document.insertedCount;
220
- this.result.upsertedCount += document.upsertedCount;
221
- this.result.matchedCount += document.matchedCount;
222
- this.result.modifiedCount += document.modifiedCount;
223
- this.result.deletedCount += document.deletedCount;
224
- }
225
-
226
- }
227
-
228
- exports.ClientBulkWriteResultsMerger = ClientBulkWriteResultsMerger;
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CollectionsOperation = void 0;
7
-
8
- const collection_1 = require("../collection");
9
-
10
- const operation_1 = require("./operation");
11
- /** @internal */
12
-
13
-
14
- class CollectionsOperation extends operation_1.AbstractOperation {
15
- constructor(db, options) {
16
- super(options);
17
- this.options = options;
18
- this.db = db;
19
- }
20
-
21
- get commandName() {
22
- return 'listCollections';
23
- }
24
-
25
- async execute(server, session) {
26
- // Let's get the collection names
27
- const documents = await this.db.listCollections({}, { ...this.options,
28
- nameOnly: true,
29
- readPreference: this.readPreference,
30
- session
31
- }).toArray();
32
- const collections = [];
33
-
34
- for (const {
35
- name
36
- } of documents) {
37
- if (!name.includes('$')) {
38
- // Filter collections removing any illegal ones
39
- collections.push(new collection_1.Collection(this.db, name, this.db.s.options));
40
- }
41
- } // Return the collection objects
42
-
43
-
44
- return collections;
45
- }
46
-
47
- }
48
-
49
- exports.CollectionsOperation = CollectionsOperation;
@@ -1,102 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CommandOperation = void 0;
7
-
8
- const error_1 = require("../error");
9
-
10
- const explain_1 = require("../explain");
11
-
12
- const read_concern_1 = require("../read_concern");
13
-
14
- const server_selection_1 = require("../sdam/server_selection");
15
-
16
- const utils_1 = require("../utils");
17
-
18
- const write_concern_1 = require("../write_concern");
19
-
20
- const operation_1 = require("./operation");
21
- /** @internal */
22
-
23
-
24
- class CommandOperation extends operation_1.AbstractOperation {
25
- constructor(parent, options) {
26
- super(options);
27
- this.options = options ?? {}; // NOTE: this was explicitly added for the add/remove user operations, it's likely
28
- // something we'd want to reconsider. Perhaps those commands can use `Admin`
29
- // as a parent?
30
-
31
- const dbNameOverride = options?.dbName || options?.authdb;
32
-
33
- if (dbNameOverride) {
34
- this.ns = new utils_1.MongoDBNamespace(dbNameOverride, '$cmd');
35
- } else {
36
- this.ns = parent ? parent.s.namespace.withCollection('$cmd') : new utils_1.MongoDBNamespace('admin', '$cmd');
37
- }
38
-
39
- this.readConcern = read_concern_1.ReadConcern.fromOptions(options);
40
- this.writeConcern = write_concern_1.WriteConcern.fromOptions(options);
41
-
42
- if (this.hasAspect(operation_1.Aspect.EXPLAINABLE)) {
43
- this.explain = explain_1.Explain.fromOptions(options);
44
- if (this.explain) (0, explain_1.validateExplainTimeoutOptions)(this.options, this.explain);
45
- } else if (options?.explain != null) {
46
- throw new error_1.MongoInvalidArgumentError(`Option "explain" is not supported on this command`);
47
- }
48
- }
49
-
50
- get canRetryWrite() {
51
- if (this.hasAspect(operation_1.Aspect.EXPLAINABLE)) {
52
- return this.explain == null;
53
- }
54
-
55
- return super.canRetryWrite;
56
- }
57
-
58
- async executeCommand(server, session, cmd, timeoutContext, responseType) {
59
- this.server = server;
60
- const options = { ...this.options,
61
- ...this.bsonOptions,
62
- timeoutContext,
63
- readPreference: this.readPreference,
64
- session
65
- };
66
- const serverWireVersion = (0, utils_1.maxWireVersion)(server);
67
- const inTransaction = this.session && this.session.inTransaction();
68
-
69
- if (this.readConcern && (0, utils_1.commandSupportsReadConcern)(cmd) && !inTransaction) {
70
- Object.assign(cmd, {
71
- readConcern: this.readConcern
72
- });
73
- }
74
-
75
- if (this.trySecondaryWrite && serverWireVersion < server_selection_1.MIN_SECONDARY_WRITE_WIRE_VERSION) {
76
- options.omitReadPreference = true;
77
- }
78
-
79
- if (this.writeConcern && this.hasAspect(operation_1.Aspect.WRITE_OPERATION) && !inTransaction) {
80
- write_concern_1.WriteConcern.apply(cmd, this.writeConcern);
81
- }
82
-
83
- if (options.collation && typeof options.collation === 'object' && !this.hasAspect(operation_1.Aspect.SKIP_COLLATION)) {
84
- Object.assign(cmd, {
85
- collation: options.collation
86
- });
87
- }
88
-
89
- if (typeof options.maxTimeMS === 'number') {
90
- cmd.maxTimeMS = options.maxTimeMS;
91
- }
92
-
93
- if (this.hasAspect(operation_1.Aspect.EXPLAINABLE) && this.explain) {
94
- cmd = (0, explain_1.decorateWithExplain)(cmd, this.explain);
95
- }
96
-
97
- return await server.command(this.ns, cmd, options, responseType);
98
- }
99
-
100
- }
101
-
102
- exports.CommandOperation = CommandOperation;
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CountOperation = void 0;
7
-
8
- const command_1 = require("./command");
9
-
10
- const operation_1 = require("./operation");
11
- /** @internal */
12
-
13
-
14
- class CountOperation extends command_1.CommandOperation {
15
- constructor(namespace, filter, options) {
16
- super({
17
- s: {
18
- namespace: namespace
19
- }
20
- }, options);
21
- this.options = options;
22
- this.collectionName = namespace.collection;
23
- this.query = filter;
24
- }
25
-
26
- get commandName() {
27
- return 'count';
28
- }
29
-
30
- async execute(server, session, timeoutContext) {
31
- const options = this.options;
32
- const cmd = {
33
- count: this.collectionName,
34
- query: this.query
35
- };
36
-
37
- if (typeof options.limit === 'number') {
38
- cmd.limit = options.limit;
39
- }
40
-
41
- if (typeof options.skip === 'number') {
42
- cmd.skip = options.skip;
43
- }
44
-
45
- if (options.hint != null) {
46
- cmd.hint = options.hint;
47
- }
48
-
49
- if (typeof options.maxTimeMS === 'number') {
50
- cmd.maxTimeMS = options.maxTimeMS;
51
- }
52
-
53
- const result = await super.executeCommand(server, session, cmd, timeoutContext);
54
- return result ? result.n : 0;
55
- }
56
-
57
- }
58
-
59
- exports.CountOperation = CountOperation;
60
- (0, operation_1.defineAspects)(CountOperation, [operation_1.Aspect.READ_OPERATION, operation_1.Aspect.RETRYABLE]);
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CreateCollectionOperation = void 0;
7
-
8
- const constants_1 = require("../cmap/wire_protocol/constants");
9
-
10
- const collection_1 = require("../collection");
11
-
12
- const error_1 = require("../error");
13
-
14
- const command_1 = require("./command");
15
-
16
- const indexes_1 = require("./indexes");
17
-
18
- const operation_1 = require("./operation");
19
-
20
- const ILLEGAL_COMMAND_FIELDS = new Set(['w', 'wtimeout', 'timeoutMS', 'j', 'fsync', 'autoIndexId', 'pkFactory', 'raw', 'readPreference', 'session', 'readConcern', 'writeConcern', 'raw', 'fieldsAsRaw', 'useBigInt64', 'promoteLongs', 'promoteValues', 'promoteBuffers', 'bsonRegExp', 'serializeFunctions', 'ignoreUndefined', 'enableUtf8Validation']);
21
- /* @internal */
22
-
23
- const INVALID_QE_VERSION = 'Driver support of Queryable Encryption is incompatible with server. Upgrade server to use Queryable Encryption.';
24
- /** @internal */
25
-
26
- class CreateCollectionOperation extends command_1.CommandOperation {
27
- constructor(db, name, options = {}) {
28
- super(db, options);
29
- this.options = options;
30
- this.db = db;
31
- this.name = name;
32
- }
33
-
34
- get commandName() {
35
- return 'create';
36
- }
37
-
38
- async execute(server, session, timeoutContext) {
39
- const db = this.db;
40
- const name = this.name;
41
- const options = this.options;
42
- const encryptedFields = options.encryptedFields ?? db.client.s.options.autoEncryption?.encryptedFieldsMap?.[`${db.databaseName}.${name}`];
43
-
44
- if (encryptedFields) {
45
- // Creating a QE collection required min server of 7.0.0
46
- // TODO(NODE-5353): Get wire version information from connection.
47
- if (!server.loadBalanced && server.description.maxWireVersion < constants_1.MIN_SUPPORTED_QE_WIRE_VERSION) {
48
- throw new error_1.MongoCompatibilityError(`${INVALID_QE_VERSION} The minimum server version required is ${constants_1.MIN_SUPPORTED_QE_SERVER_VERSION}`);
49
- } // Create auxilliary collections for queryable encryption support.
50
-
51
-
52
- const escCollection = encryptedFields.escCollection ?? `enxcol_.${name}.esc`;
53
- const ecocCollection = encryptedFields.ecocCollection ?? `enxcol_.${name}.ecoc`;
54
-
55
- for (const collectionName of [escCollection, ecocCollection]) {
56
- const createOp = new CreateCollectionOperation(db, collectionName, {
57
- clusteredIndex: {
58
- key: {
59
- _id: 1
60
- },
61
- unique: true
62
- }
63
- });
64
- await createOp.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
65
- }
66
-
67
- if (!options.encryptedFields) {
68
- this.options = { ...this.options,
69
- encryptedFields
70
- };
71
- }
72
- }
73
-
74
- const coll = await this.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
75
-
76
- if (encryptedFields) {
77
- // Create the required index for queryable encryption support.
78
- const createIndexOp = indexes_1.CreateIndexesOperation.fromIndexSpecification(db, name, {
79
- __safeContent__: 1
80
- }, {});
81
- await createIndexOp.execute(server, session, timeoutContext);
82
- }
83
-
84
- return coll;
85
- }
86
-
87
- async executeWithoutEncryptedFieldsCheck(server, session, timeoutContext) {
88
- const db = this.db;
89
- const name = this.name;
90
- const options = this.options;
91
- const cmd = {
92
- create: name
93
- };
94
-
95
- for (const n in options) {
96
- if (options[n] != null && typeof options[n] !== 'function' && !ILLEGAL_COMMAND_FIELDS.has(n)) {
97
- cmd[n] = options[n];
98
- }
99
- } // otherwise just execute the command
100
-
101
-
102
- await super.executeCommand(server, session, cmd, timeoutContext);
103
- return new collection_1.Collection(db, name, options);
104
- }
105
-
106
- }
107
-
108
- exports.CreateCollectionOperation = CreateCollectionOperation;
109
- (0, operation_1.defineAspects)(CreateCollectionOperation, [operation_1.Aspect.WRITE_OPERATION]);
@@ -1,134 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DeleteManyOperation = exports.DeleteOneOperation = exports.DeleteOperation = void 0;
7
- exports.makeDeleteStatement = makeDeleteStatement;
8
-
9
- const error_1 = require("../error");
10
-
11
- const command_1 = require("./command");
12
-
13
- const operation_1 = require("./operation");
14
- /** @internal */
15
-
16
-
17
- class DeleteOperation extends command_1.CommandOperation {
18
- constructor(ns, statements, options) {
19
- super(undefined, options);
20
- this.options = options;
21
- this.ns = ns;
22
- this.statements = statements;
23
- }
24
-
25
- get commandName() {
26
- return 'delete';
27
- }
28
-
29
- get canRetryWrite() {
30
- if (super.canRetryWrite === false) {
31
- return false;
32
- }
33
-
34
- return this.statements.every(op => op.limit != null ? op.limit > 0 : true);
35
- }
36
-
37
- async execute(server, session, timeoutContext) {
38
- const options = this.options ?? {};
39
- const ordered = typeof options.ordered === 'boolean' ? options.ordered : true;
40
- const command = {
41
- delete: this.ns.collection,
42
- deletes: this.statements,
43
- ordered
44
- };
45
-
46
- if (options.let) {
47
- command.let = options.let;
48
- } // we check for undefined specifically here to allow falsy values
49
- // eslint-disable-next-line no-restricted-syntax
50
-
51
-
52
- if (options.comment !== undefined) {
53
- command.comment = options.comment;
54
- }
55
-
56
- const unacknowledgedWrite = this.writeConcern && this.writeConcern.w === 0;
57
-
58
- if (unacknowledgedWrite) {
59
- if (this.statements.find(o => o.hint)) {
60
- // TODO(NODE-3541): fix error for hint with unacknowledged writes
61
- throw new error_1.MongoCompatibilityError(`hint is not supported with unacknowledged writes`);
62
- }
63
- }
64
-
65
- const res = await super.executeCommand(server, session, command, timeoutContext);
66
- return res;
67
- }
68
-
69
- }
70
-
71
- exports.DeleteOperation = DeleteOperation;
72
-
73
- class DeleteOneOperation extends DeleteOperation {
74
- constructor(collection, filter, options) {
75
- super(collection.s.namespace, [makeDeleteStatement(filter, { ...options,
76
- limit: 1
77
- })], options);
78
- }
79
-
80
- async execute(server, session, timeoutContext) {
81
- const res = await super.execute(server, session, timeoutContext);
82
- if (this.explain) return res;
83
- if (res.code) throw new error_1.MongoServerError(res);
84
- if (res.writeErrors) throw new error_1.MongoServerError(res.writeErrors[0]);
85
- return {
86
- acknowledged: this.writeConcern?.w !== 0,
87
- deletedCount: res.n
88
- };
89
- }
90
-
91
- }
92
-
93
- exports.DeleteOneOperation = DeleteOneOperation;
94
-
95
- class DeleteManyOperation extends DeleteOperation {
96
- constructor(collection, filter, options) {
97
- super(collection.s.namespace, [makeDeleteStatement(filter, options)], options);
98
- }
99
-
100
- async execute(server, session, timeoutContext) {
101
- const res = await super.execute(server, session, timeoutContext);
102
- if (this.explain) return res;
103
- if (res.code) throw new error_1.MongoServerError(res);
104
- if (res.writeErrors) throw new error_1.MongoServerError(res.writeErrors[0]);
105
- return {
106
- acknowledged: this.writeConcern?.w !== 0,
107
- deletedCount: res.n
108
- };
109
- }
110
-
111
- }
112
-
113
- exports.DeleteManyOperation = DeleteManyOperation;
114
-
115
- function makeDeleteStatement(filter, options) {
116
- const op = {
117
- q: filter,
118
- limit: typeof options.limit === 'number' ? options.limit : 0
119
- };
120
-
121
- if (options.collation) {
122
- op.collation = options.collation;
123
- }
124
-
125
- if (options.hint) {
126
- op.hint = options.hint;
127
- }
128
-
129
- return op;
130
- }
131
-
132
- (0, operation_1.defineAspects)(DeleteOperation, [operation_1.Aspect.RETRYABLE, operation_1.Aspect.WRITE_OPERATION]);
133
- (0, operation_1.defineAspects)(DeleteOneOperation, [operation_1.Aspect.RETRYABLE, operation_1.Aspect.WRITE_OPERATION, operation_1.Aspect.EXPLAINABLE, operation_1.Aspect.SKIP_COLLATION]);
134
- (0, operation_1.defineAspects)(DeleteManyOperation, [operation_1.Aspect.WRITE_OPERATION, operation_1.Aspect.EXPLAINABLE, operation_1.Aspect.SKIP_COLLATION]);