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,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SetProfilingLevelOperation = exports.ProfilingLevel = void 0;
7
-
8
- const error_1 = require("../error");
9
-
10
- const utils_1 = require("../utils");
11
-
12
- const command_1 = require("./command");
13
-
14
- const levelValues = new Set(['off', 'slow_only', 'all']);
15
- /** @public */
16
-
17
- exports.ProfilingLevel = Object.freeze({
18
- off: 'off',
19
- slowOnly: 'slow_only',
20
- all: 'all'
21
- });
22
- /** @internal */
23
-
24
- class SetProfilingLevelOperation extends command_1.CommandOperation {
25
- constructor(db, level, options) {
26
- super(db, options);
27
- this.options = options;
28
-
29
- switch (level) {
30
- case exports.ProfilingLevel.off:
31
- this.profile = 0;
32
- break;
33
-
34
- case exports.ProfilingLevel.slowOnly:
35
- this.profile = 1;
36
- break;
37
-
38
- case exports.ProfilingLevel.all:
39
- this.profile = 2;
40
- break;
41
-
42
- default:
43
- this.profile = 0;
44
- break;
45
- }
46
-
47
- this.level = level;
48
- }
49
-
50
- get commandName() {
51
- return 'profile';
52
- }
53
-
54
- async execute(server, session, timeoutContext) {
55
- const level = this.level;
56
-
57
- if (!levelValues.has(level)) {
58
- throw new error_1.MongoInvalidArgumentError(`Profiling level must be one of "${(0, utils_1.enumToString)(exports.ProfilingLevel)}"`);
59
- } // TODO(NODE-3483): Determine error to put here
60
-
61
-
62
- await super.executeCommand(server, session, {
63
- profile: this.profile
64
- }, timeoutContext);
65
- return level;
66
- }
67
-
68
- }
69
-
70
- exports.SetProfilingLevelOperation = SetProfilingLevelOperation;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DbStatsOperation = void 0;
7
-
8
- const command_1 = require("./command");
9
-
10
- const operation_1 = require("./operation");
11
- /** @internal */
12
-
13
-
14
- class DbStatsOperation extends command_1.CommandOperation {
15
- constructor(db, options) {
16
- super(db, options);
17
- this.options = options;
18
- }
19
-
20
- get commandName() {
21
- return 'dbStats';
22
- }
23
-
24
- async execute(server, session, timeoutContext) {
25
- const command = {
26
- dbStats: true
27
- };
28
-
29
- if (this.options.scale != null) {
30
- command.scale = this.options.scale;
31
- }
32
-
33
- return await super.executeCommand(server, session, command, timeoutContext);
34
- }
35
-
36
- }
37
-
38
- exports.DbStatsOperation = DbStatsOperation;
39
- (0, operation_1.defineAspects)(DbStatsOperation, [operation_1.Aspect.READ_OPERATION]);
@@ -1,218 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ReplaceOneOperation = exports.UpdateManyOperation = exports.UpdateOneOperation = exports.UpdateOperation = void 0;
7
- exports.makeUpdateStatement = makeUpdateStatement;
8
-
9
- const error_1 = require("../error");
10
-
11
- const sort_1 = require("../sort");
12
-
13
- const utils_1 = require("../utils");
14
-
15
- const command_1 = require("./command");
16
-
17
- const operation_1 = require("./operation");
18
- /**
19
- * @internal
20
- * UpdateOperation is used in bulk write, while UpdateOneOperation and UpdateManyOperation are only used in the collections API
21
- */
22
-
23
-
24
- class UpdateOperation extends command_1.CommandOperation {
25
- constructor(ns, statements, options) {
26
- super(undefined, options);
27
- this.options = options;
28
- this.ns = ns;
29
- this.statements = statements;
30
- }
31
-
32
- get commandName() {
33
- return 'update';
34
- }
35
-
36
- get canRetryWrite() {
37
- if (super.canRetryWrite === false) {
38
- return false;
39
- }
40
-
41
- return this.statements.every(op => op.multi == null || op.multi === false);
42
- }
43
-
44
- async execute(server, session, timeoutContext) {
45
- const options = this.options ?? {};
46
- const ordered = typeof options.ordered === 'boolean' ? options.ordered : true;
47
- const command = {
48
- update: this.ns.collection,
49
- updates: this.statements,
50
- ordered
51
- };
52
-
53
- if (typeof options.bypassDocumentValidation === 'boolean') {
54
- command.bypassDocumentValidation = options.bypassDocumentValidation;
55
- }
56
-
57
- if (options.let) {
58
- command.let = options.let;
59
- } // we check for undefined specifically here to allow falsy values
60
- // eslint-disable-next-line no-restricted-syntax
61
-
62
-
63
- if (options.comment !== undefined) {
64
- command.comment = options.comment;
65
- }
66
-
67
- const unacknowledgedWrite = this.writeConcern && this.writeConcern.w === 0;
68
-
69
- if (unacknowledgedWrite) {
70
- if (this.statements.find(o => o.hint)) {
71
- // TODO(NODE-3541): fix error for hint with unacknowledged writes
72
- throw new error_1.MongoCompatibilityError(`hint is not supported with unacknowledged writes`);
73
- }
74
- }
75
-
76
- const res = await super.executeCommand(server, session, command, timeoutContext);
77
- return res;
78
- }
79
-
80
- }
81
-
82
- exports.UpdateOperation = UpdateOperation;
83
- /** @internal */
84
-
85
- class UpdateOneOperation extends UpdateOperation {
86
- constructor(collection, filter, update, options) {
87
- super(collection.s.namespace, [makeUpdateStatement(filter, update, { ...options,
88
- multi: false
89
- })], options);
90
-
91
- if (!(0, utils_1.hasAtomicOperators)(update, options)) {
92
- throw new error_1.MongoInvalidArgumentError('Update document requires atomic operators');
93
- }
94
- }
95
-
96
- async execute(server, session, timeoutContext) {
97
- const res = await super.execute(server, session, timeoutContext);
98
- if (this.explain != null) return res;
99
- if (res.code) throw new error_1.MongoServerError(res);
100
- if (res.writeErrors) throw new error_1.MongoServerError(res.writeErrors[0]);
101
- return {
102
- acknowledged: this.writeConcern?.w !== 0,
103
- modifiedCount: res.nModified ?? res.n,
104
- upsertedId: Array.isArray(res.upserted) && res.upserted.length > 0 ? res.upserted[0]._id : null,
105
- upsertedCount: Array.isArray(res.upserted) && res.upserted.length ? res.upserted.length : 0,
106
- matchedCount: Array.isArray(res.upserted) && res.upserted.length > 0 ? 0 : res.n
107
- };
108
- }
109
-
110
- }
111
-
112
- exports.UpdateOneOperation = UpdateOneOperation;
113
- /** @internal */
114
-
115
- class UpdateManyOperation extends UpdateOperation {
116
- constructor(collection, filter, update, options) {
117
- super(collection.s.namespace, [makeUpdateStatement(filter, update, { ...options,
118
- multi: true
119
- })], options);
120
-
121
- if (!(0, utils_1.hasAtomicOperators)(update, options)) {
122
- throw new error_1.MongoInvalidArgumentError('Update document requires atomic operators');
123
- }
124
- }
125
-
126
- async execute(server, session, timeoutContext) {
127
- const res = await super.execute(server, session, timeoutContext);
128
- if (this.explain != null) return res;
129
- if (res.code) throw new error_1.MongoServerError(res);
130
- if (res.writeErrors) throw new error_1.MongoServerError(res.writeErrors[0]);
131
- return {
132
- acknowledged: this.writeConcern?.w !== 0,
133
- modifiedCount: res.nModified ?? res.n,
134
- upsertedId: Array.isArray(res.upserted) && res.upserted.length > 0 ? res.upserted[0]._id : null,
135
- upsertedCount: Array.isArray(res.upserted) && res.upserted.length ? res.upserted.length : 0,
136
- matchedCount: Array.isArray(res.upserted) && res.upserted.length > 0 ? 0 : res.n
137
- };
138
- }
139
-
140
- }
141
-
142
- exports.UpdateManyOperation = UpdateManyOperation;
143
- /** @internal */
144
-
145
- class ReplaceOneOperation extends UpdateOperation {
146
- constructor(collection, filter, replacement, options) {
147
- super(collection.s.namespace, [makeUpdateStatement(filter, replacement, { ...options,
148
- multi: false
149
- })], options);
150
-
151
- if ((0, utils_1.hasAtomicOperators)(replacement)) {
152
- throw new error_1.MongoInvalidArgumentError('Replacement document must not contain atomic operators');
153
- }
154
- }
155
-
156
- async execute(server, session, timeoutContext) {
157
- const res = await super.execute(server, session, timeoutContext);
158
- if (this.explain != null) return res;
159
- if (res.code) throw new error_1.MongoServerError(res);
160
- if (res.writeErrors) throw new error_1.MongoServerError(res.writeErrors[0]);
161
- return {
162
- acknowledged: this.writeConcern?.w !== 0,
163
- modifiedCount: res.nModified ?? res.n,
164
- upsertedId: Array.isArray(res.upserted) && res.upserted.length > 0 ? res.upserted[0]._id : null,
165
- upsertedCount: Array.isArray(res.upserted) && res.upserted.length ? res.upserted.length : 0,
166
- matchedCount: Array.isArray(res.upserted) && res.upserted.length > 0 ? 0 : res.n
167
- };
168
- }
169
-
170
- }
171
-
172
- exports.ReplaceOneOperation = ReplaceOneOperation;
173
-
174
- function makeUpdateStatement(filter, update, options) {
175
- if (filter == null || typeof filter !== 'object') {
176
- throw new error_1.MongoInvalidArgumentError('Selector must be a valid JavaScript object');
177
- }
178
-
179
- if (update == null || typeof update !== 'object') {
180
- throw new error_1.MongoInvalidArgumentError('Document must be a valid JavaScript object');
181
- }
182
-
183
- const op = {
184
- q: filter,
185
- u: update
186
- };
187
-
188
- if (typeof options.upsert === 'boolean') {
189
- op.upsert = options.upsert;
190
- }
191
-
192
- if (options.multi) {
193
- op.multi = options.multi;
194
- }
195
-
196
- if (options.hint) {
197
- op.hint = options.hint;
198
- }
199
-
200
- if (options.arrayFilters) {
201
- op.arrayFilters = options.arrayFilters;
202
- }
203
-
204
- if (options.collation) {
205
- op.collation = options.collation;
206
- }
207
-
208
- if (!options.multi && options.sort != null) {
209
- op.sort = (0, sort_1.formatSort)(options.sort);
210
- }
211
-
212
- return op;
213
- }
214
-
215
- (0, operation_1.defineAspects)(UpdateOperation, [operation_1.Aspect.RETRYABLE, operation_1.Aspect.WRITE_OPERATION, operation_1.Aspect.SKIP_COLLATION]);
216
- (0, operation_1.defineAspects)(UpdateOneOperation, [operation_1.Aspect.RETRYABLE, operation_1.Aspect.WRITE_OPERATION, operation_1.Aspect.EXPLAINABLE, operation_1.Aspect.SKIP_COLLATION]);
217
- (0, operation_1.defineAspects)(UpdateManyOperation, [operation_1.Aspect.WRITE_OPERATION, operation_1.Aspect.EXPLAINABLE, operation_1.Aspect.SKIP_COLLATION]);
218
- (0, operation_1.defineAspects)(ReplaceOneOperation, [operation_1.Aspect.RETRYABLE, operation_1.Aspect.WRITE_OPERATION, operation_1.Aspect.SKIP_COLLATION]);
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ValidateCollectionOperation = void 0;
7
-
8
- const error_1 = require("../error");
9
-
10
- const command_1 = require("./command");
11
- /** @internal */
12
-
13
-
14
- class ValidateCollectionOperation extends command_1.CommandOperation {
15
- constructor(admin, collectionName, options) {
16
- // Decorate command with extra options
17
- const command = {
18
- validate: collectionName
19
- };
20
- const keys = Object.keys(options);
21
-
22
- for (let i = 0; i < keys.length; i++) {
23
- if (Object.prototype.hasOwnProperty.call(options, keys[i]) && keys[i] !== 'session') {
24
- command[keys[i]] = options[keys[i]];
25
- }
26
- }
27
-
28
- super(admin.s.db, options);
29
- this.options = options;
30
- this.command = command;
31
- this.collectionName = collectionName;
32
- }
33
-
34
- get commandName() {
35
- return 'validate';
36
- }
37
-
38
- async execute(server, session, timeoutContext) {
39
- const collectionName = this.collectionName;
40
- const doc = await super.executeCommand(server, session, this.command, timeoutContext);
41
- if (doc.result != null && typeof doc.result !== 'string') throw new error_1.MongoUnexpectedServerResponseError('Error with validation data');
42
- if (doc.result != null && doc.result.match(/exception|corrupt/) != null) throw new error_1.MongoUnexpectedServerResponseError(`Invalid collection ${collectionName}`);
43
- if (doc.valid != null && !doc.valid) throw new error_1.MongoUnexpectedServerResponseError(`Invalid collection ${collectionName}`);
44
- return doc;
45
- }
46
-
47
- }
48
-
49
- exports.ValidateCollectionOperation = ValidateCollectionOperation;
@@ -1,92 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ReadConcern = exports.ReadConcernLevel = void 0;
7
- /** @public */
8
-
9
- exports.ReadConcernLevel = Object.freeze({
10
- local: 'local',
11
- majority: 'majority',
12
- linearizable: 'linearizable',
13
- available: 'available',
14
- snapshot: 'snapshot'
15
- });
16
- /**
17
- * The MongoDB ReadConcern, which allows for control of the consistency and isolation properties
18
- * of the data read from replica sets and replica set shards.
19
- * @public
20
- *
21
- * @see https://www.mongodb.com/docs/manual/reference/read-concern/index.html
22
- */
23
-
24
- class ReadConcern {
25
- /** Constructs a ReadConcern from the read concern level.*/
26
- constructor(level) {
27
- /**
28
- * A spec test exists that allows level to be any string.
29
- * "invalid readConcern with out stage"
30
- * @see ./test/spec/crud/v2/aggregate-out-readConcern.json
31
- * @see https://github.com/mongodb/specifications/blob/master/source/read-write-concern/read-write-concern.md#unknown-levels-and-additional-options-for-string-based-readconcerns
32
- */
33
- this.level = exports.ReadConcernLevel[level] ?? level;
34
- }
35
- /**
36
- * Construct a ReadConcern given an options object.
37
- *
38
- * @param options - The options object from which to extract the write concern.
39
- */
40
-
41
-
42
- static fromOptions(options) {
43
- if (options == null) {
44
- return;
45
- }
46
-
47
- if (options.readConcern) {
48
- const {
49
- readConcern
50
- } = options;
51
-
52
- if (readConcern instanceof ReadConcern) {
53
- return readConcern;
54
- } else if (typeof readConcern === 'string') {
55
- return new ReadConcern(readConcern);
56
- } else if ('level' in readConcern && readConcern.level) {
57
- return new ReadConcern(readConcern.level);
58
- }
59
- }
60
-
61
- if (options.level) {
62
- return new ReadConcern(options.level);
63
- }
64
-
65
- return;
66
- }
67
-
68
- static get MAJORITY() {
69
- return exports.ReadConcernLevel.majority;
70
- }
71
-
72
- static get AVAILABLE() {
73
- return exports.ReadConcernLevel.available;
74
- }
75
-
76
- static get LINEARIZABLE() {
77
- return exports.ReadConcernLevel.linearizable;
78
- }
79
-
80
- static get SNAPSHOT() {
81
- return exports.ReadConcernLevel.snapshot;
82
- }
83
-
84
- toJSON() {
85
- return {
86
- level: this.level
87
- };
88
- }
89
-
90
- }
91
-
92
- exports.ReadConcern = ReadConcern;
@@ -1,215 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ReadPreference = exports.ReadPreferenceMode = void 0;
7
-
8
- const error_1 = require("./error");
9
- /** @public */
10
-
11
-
12
- exports.ReadPreferenceMode = Object.freeze({
13
- primary: 'primary',
14
- primaryPreferred: 'primaryPreferred',
15
- secondary: 'secondary',
16
- secondaryPreferred: 'secondaryPreferred',
17
- nearest: 'nearest'
18
- });
19
- /**
20
- * The **ReadPreference** class is a class that represents a MongoDB ReadPreference and is
21
- * used to construct connections.
22
- * @public
23
- *
24
- * @see https://www.mongodb.com/docs/manual/core/read-preference/
25
- */
26
-
27
- class ReadPreference {
28
- /**
29
- * @param mode - A string describing the read preference mode (primary|primaryPreferred|secondary|secondaryPreferred|nearest)
30
- * @param tags - A tag set used to target reads to members with the specified tag(s). tagSet is not available if using read preference mode primary.
31
- * @param options - Additional read preference options
32
- */
33
- constructor(mode, tags, options) {
34
- if (!ReadPreference.isValid(mode)) {
35
- throw new error_1.MongoInvalidArgumentError(`Invalid read preference mode ${JSON.stringify(mode)}`);
36
- }
37
-
38
- if (options == null && typeof tags === 'object' && !Array.isArray(tags)) {
39
- options = tags;
40
- tags = undefined;
41
- } else if (tags && !Array.isArray(tags)) {
42
- throw new error_1.MongoInvalidArgumentError('ReadPreference tags must be an array');
43
- }
44
-
45
- this.mode = mode;
46
- this.tags = tags;
47
- this.hedge = options?.hedge;
48
- this.maxStalenessSeconds = undefined;
49
- this.minWireVersion = undefined;
50
- options = options ?? {};
51
-
52
- if (options.maxStalenessSeconds != null) {
53
- if (options.maxStalenessSeconds <= 0) {
54
- throw new error_1.MongoInvalidArgumentError('maxStalenessSeconds must be a positive integer');
55
- }
56
-
57
- this.maxStalenessSeconds = options.maxStalenessSeconds; // NOTE: The minimum required wire version is 5 for this read preference. If the existing
58
- // topology has a lower value then a MongoError will be thrown during server selection.
59
-
60
- this.minWireVersion = 5;
61
- }
62
-
63
- if (this.mode === ReadPreference.PRIMARY) {
64
- if (this.tags && Array.isArray(this.tags) && this.tags.length > 0) {
65
- throw new error_1.MongoInvalidArgumentError('Primary read preference cannot be combined with tags');
66
- }
67
-
68
- if (this.maxStalenessSeconds) {
69
- throw new error_1.MongoInvalidArgumentError('Primary read preference cannot be combined with maxStalenessSeconds');
70
- }
71
-
72
- if (this.hedge) {
73
- throw new error_1.MongoInvalidArgumentError('Primary read preference cannot be combined with hedge');
74
- }
75
- }
76
- } // Support the deprecated `preference` property introduced in the porcelain layer
77
-
78
-
79
- get preference() {
80
- return this.mode;
81
- }
82
-
83
- static fromString(mode) {
84
- return new ReadPreference(mode);
85
- }
86
- /**
87
- * Construct a ReadPreference given an options object.
88
- *
89
- * @param options - The options object from which to extract the read preference.
90
- */
91
-
92
-
93
- static fromOptions(options) {
94
- if (!options) return;
95
- const readPreference = options.readPreference ?? options.session?.transaction.options.readPreference;
96
- const readPreferenceTags = options.readPreferenceTags;
97
-
98
- if (readPreference == null) {
99
- return;
100
- }
101
-
102
- if (typeof readPreference === 'string') {
103
- return new ReadPreference(readPreference, readPreferenceTags, {
104
- maxStalenessSeconds: options.maxStalenessSeconds,
105
- hedge: options.hedge
106
- });
107
- } else if (!(readPreference instanceof ReadPreference) && typeof readPreference === 'object') {
108
- const mode = readPreference.mode || readPreference.preference;
109
-
110
- if (mode && typeof mode === 'string') {
111
- return new ReadPreference(mode, readPreference.tags ?? readPreferenceTags, {
112
- maxStalenessSeconds: readPreference.maxStalenessSeconds,
113
- hedge: options.hedge
114
- });
115
- }
116
- }
117
-
118
- if (readPreferenceTags) {
119
- readPreference.tags = readPreferenceTags;
120
- }
121
-
122
- return readPreference;
123
- }
124
- /**
125
- * Replaces options.readPreference with a ReadPreference instance
126
- */
127
-
128
-
129
- static translate(options) {
130
- if (options.readPreference == null) return options;
131
- const r = options.readPreference;
132
-
133
- if (typeof r === 'string') {
134
- options.readPreference = new ReadPreference(r);
135
- } else if (r && !(r instanceof ReadPreference) && typeof r === 'object') {
136
- const mode = r.mode || r.preference;
137
-
138
- if (mode && typeof mode === 'string') {
139
- options.readPreference = new ReadPreference(mode, r.tags, {
140
- maxStalenessSeconds: r.maxStalenessSeconds
141
- });
142
- }
143
- } else if (!(r instanceof ReadPreference)) {
144
- throw new error_1.MongoInvalidArgumentError(`Invalid read preference: ${r}`);
145
- }
146
-
147
- return options;
148
- }
149
- /**
150
- * Validate if a mode is legal
151
- *
152
- * @param mode - The string representing the read preference mode.
153
- */
154
-
155
-
156
- static isValid(mode) {
157
- const VALID_MODES = new Set([ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST, null]);
158
- return VALID_MODES.has(mode);
159
- }
160
- /**
161
- * Validate if a mode is legal
162
- *
163
- * @param mode - The string representing the read preference mode.
164
- */
165
-
166
-
167
- isValid(mode) {
168
- return ReadPreference.isValid(typeof mode === 'string' ? mode : this.mode);
169
- }
170
- /**
171
- * Indicates that this readPreference needs the "SecondaryOk" bit when sent over the wire
172
- * @see https://www.mongodb.com/docs/manual/reference/mongodb-wire-protocol/#op-query
173
- */
174
-
175
-
176
- secondaryOk() {
177
- const NEEDS_SECONDARYOK = new Set([ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST]);
178
- return NEEDS_SECONDARYOK.has(this.mode);
179
- }
180
- /**
181
- * Check if the two ReadPreferences are equivalent
182
- *
183
- * @param readPreference - The read preference with which to check equality
184
- */
185
-
186
-
187
- equals(readPreference) {
188
- return readPreference.mode === this.mode;
189
- }
190
- /** Return JSON representation */
191
-
192
-
193
- toJSON() {
194
- const readPreference = {
195
- mode: this.mode
196
- };
197
- if (Array.isArray(this.tags)) readPreference.tags = this.tags;
198
- if (this.maxStalenessSeconds) readPreference.maxStalenessSeconds = this.maxStalenessSeconds;
199
- if (this.hedge) readPreference.hedge = this.hedge;
200
- return readPreference;
201
- }
202
-
203
- }
204
-
205
- exports.ReadPreference = ReadPreference;
206
- ReadPreference.PRIMARY = exports.ReadPreferenceMode.primary;
207
- ReadPreference.PRIMARY_PREFERRED = exports.ReadPreferenceMode.primaryPreferred;
208
- ReadPreference.SECONDARY = exports.ReadPreferenceMode.secondary;
209
- ReadPreference.SECONDARY_PREFERRED = exports.ReadPreferenceMode.secondaryPreferred;
210
- ReadPreference.NEAREST = exports.ReadPreferenceMode.nearest;
211
- ReadPreference.primary = new ReadPreference(exports.ReadPreferenceMode.primary);
212
- ReadPreference.primaryPreferred = new ReadPreference(exports.ReadPreferenceMode.primaryPreferred);
213
- ReadPreference.secondary = new ReadPreference(exports.ReadPreferenceMode.secondary);
214
- ReadPreference.secondaryPreferred = new ReadPreference(exports.ReadPreferenceMode.secondaryPreferred);
215
- ReadPreference.nearest = new ReadPreference(exports.ReadPreferenceMode.nearest);