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,123 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.formatSort = formatSort;
7
-
8
- const error_1 = require("./error");
9
- /** @internal */
10
-
11
-
12
- function prepareDirection(direction = 1) {
13
- const value = `${direction}`.toLowerCase();
14
- if (isMeta(direction)) return direction;
15
-
16
- switch (value) {
17
- case 'ascending':
18
- case 'asc':
19
- case '1':
20
- return 1;
21
-
22
- case 'descending':
23
- case 'desc':
24
- case '-1':
25
- return -1;
26
-
27
- default:
28
- throw new error_1.MongoInvalidArgumentError(`Invalid sort direction: ${JSON.stringify(direction)}`);
29
- }
30
- }
31
- /** @internal */
32
-
33
-
34
- function isMeta(t) {
35
- return typeof t === 'object' && t != null && '$meta' in t && typeof t.$meta === 'string';
36
- }
37
- /** @internal */
38
-
39
-
40
- function isPair(t) {
41
- if (Array.isArray(t) && t.length === 2) {
42
- try {
43
- prepareDirection(t[1]);
44
- return true;
45
- } catch {
46
- return false;
47
- }
48
- }
49
-
50
- return false;
51
- }
52
-
53
- function isDeep(t) {
54
- return Array.isArray(t) && Array.isArray(t[0]);
55
- }
56
-
57
- function isMap(t) {
58
- return t instanceof Map && t.size > 0;
59
- }
60
-
61
- function isReadonlyArray(value) {
62
- return Array.isArray(value);
63
- }
64
- /** @internal */
65
-
66
-
67
- function pairToMap(v) {
68
- return new Map([[`${v[0]}`, prepareDirection([v[1]])]]);
69
- }
70
- /** @internal */
71
-
72
-
73
- function deepToMap(t) {
74
- const sortEntries = t.map(([k, v]) => [`${k}`, prepareDirection(v)]);
75
- return new Map(sortEntries);
76
- }
77
- /** @internal */
78
-
79
-
80
- function stringsToMap(t) {
81
- const sortEntries = t.map(key => [`${key}`, 1]);
82
- return new Map(sortEntries);
83
- }
84
- /** @internal */
85
-
86
-
87
- function objectToMap(t) {
88
- const sortEntries = Object.entries(t).map(([k, v]) => [`${k}`, prepareDirection(v)]);
89
- return new Map(sortEntries);
90
- }
91
- /** @internal */
92
-
93
-
94
- function mapToMap(t) {
95
- const sortEntries = Array.from(t).map(([k, v]) => [`${k}`, prepareDirection(v)]);
96
- return new Map(sortEntries);
97
- }
98
- /** converts a Sort type into a type that is valid for the server (SortForCmd) */
99
-
100
-
101
- function formatSort(sort, direction) {
102
- if (sort == null) return undefined;
103
- if (typeof sort === 'string') return new Map([[sort, prepareDirection(direction)]]); // 'fieldName'
104
-
105
- if (typeof sort !== 'object') {
106
- throw new error_1.MongoInvalidArgumentError(`Invalid sort format: ${JSON.stringify(sort)} Sort must be a valid object`);
107
- }
108
-
109
- if (!isReadonlyArray(sort)) {
110
- if (isMap(sort)) return mapToMap(sort); // Map<fieldName, SortDirection>
111
-
112
- if (Object.keys(sort).length) return objectToMap(sort); // { [fieldName: string]: SortDirection }
113
-
114
- return undefined;
115
- }
116
-
117
- if (!sort.length) return undefined;
118
- if (isDeep(sort)) return deepToMap(sort); // [ [fieldName, sortDir], [fieldName, sortDir] ... ]
119
-
120
- if (isPair(sort)) return pairToMap(sort); // [ fieldName, sortDir ]
121
-
122
- return stringsToMap(sort); // [ fieldName, fieldName ]
123
- }
@@ -1,349 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.LegacyTimeoutContext = exports.CSOTTimeoutContext = exports.TimeoutContext = exports.Timeout = exports.TimeoutError = void 0;
7
-
8
- const timers_1 = require("timers");
9
-
10
- const error_1 = require("./error");
11
-
12
- const utils_1 = require("./utils");
13
- /** @internal */
14
-
15
-
16
- class TimeoutError extends Error {
17
- get name() {
18
- return 'TimeoutError';
19
- }
20
-
21
- constructor(message, options) {
22
- super(message, options);
23
- this.duration = options.duration;
24
- }
25
-
26
- static is(error) {
27
- return error != null && typeof error === 'object' && 'name' in error && error.name === 'TimeoutError';
28
- }
29
-
30
- }
31
-
32
- exports.TimeoutError = TimeoutError;
33
- /**
34
- * @internal
35
- * This class is an abstraction over timeouts
36
- * The Timeout class can only be in the pending or rejected states. It is guaranteed not to resolve
37
- * if interacted with exclusively through its public API
38
- * */
39
-
40
- class Timeout extends Promise {
41
- get remainingTime() {
42
- if (this.timedOut) return 0;
43
- if (this.duration === 0) return Infinity;
44
- return this.start + this.duration - Math.trunc(performance.now());
45
- }
46
-
47
- get timeElapsed() {
48
- return Math.trunc(performance.now()) - this.start;
49
- }
50
- /** Create a new timeout that expires in `duration` ms */
51
-
52
-
53
- constructor(executor = () => null, options) {
54
- const duration = options?.duration ?? 0;
55
- const unref = !!options?.unref;
56
- const rejection = options?.rejection;
57
-
58
- if (duration < 0) {
59
- throw new error_1.MongoInvalidArgumentError('Cannot create a Timeout with a negative duration');
60
- }
61
-
62
- let reject;
63
- super((_, promiseReject) => {
64
- reject = promiseReject;
65
- executor(utils_1.noop, promiseReject);
66
- });
67
- this.ended = null;
68
- this.timedOut = false;
69
- this.cleared = false;
70
- this.duration = duration;
71
- this.start = Math.trunc(performance.now());
72
-
73
- if (rejection == null && this.duration > 0) {
74
- this.id = (0, timers_1.setTimeout)(() => {
75
- this.ended = Math.trunc(performance.now());
76
- this.timedOut = true;
77
- reject(new TimeoutError(`Expired after ${duration}ms`, {
78
- duration
79
- }));
80
- }, this.duration);
81
-
82
- if (typeof this.id.unref === 'function' && unref) {
83
- // Ensure we do not keep the Node.js event loop running
84
- this.id.unref();
85
- }
86
- } else if (rejection != null) {
87
- this.ended = Math.trunc(performance.now());
88
- this.timedOut = true;
89
- reject(rejection);
90
- }
91
- }
92
- /**
93
- * Clears the underlying timeout. This method is idempotent
94
- */
95
-
96
-
97
- clear() {
98
- (0, timers_1.clearTimeout)(this.id);
99
- this.id = undefined;
100
- this.timedOut = false;
101
- this.cleared = true;
102
- }
103
-
104
- throwIfExpired() {
105
- if (this.timedOut) {
106
- // This method is invoked when someone wants to throw immediately instead of await the result of this promise
107
- // Since they won't be handling the rejection from the promise (because we're about to throw here)
108
- // attach handling to prevent this from bubbling up to Node.js
109
- this.then(undefined, utils_1.squashError);
110
- throw new TimeoutError('Timed out', {
111
- duration: this.duration
112
- });
113
- }
114
- }
115
-
116
- static expires(duration, unref) {
117
- return new Timeout(undefined, {
118
- duration,
119
- unref
120
- });
121
- }
122
-
123
- static reject(rejection) {
124
- return new Timeout(undefined, {
125
- duration: 0,
126
- unref: true,
127
- rejection
128
- });
129
- }
130
-
131
- }
132
-
133
- exports.Timeout = Timeout;
134
-
135
- function isLegacyTimeoutContextOptions(v) {
136
- return v != null && typeof v === 'object' && 'serverSelectionTimeoutMS' in v && typeof v.serverSelectionTimeoutMS === 'number' && 'waitQueueTimeoutMS' in v && typeof v.waitQueueTimeoutMS === 'number';
137
- }
138
-
139
- function isCSOTTimeoutContextOptions(v) {
140
- return v != null && typeof v === 'object' && 'serverSelectionTimeoutMS' in v && typeof v.serverSelectionTimeoutMS === 'number' && 'timeoutMS' in v && typeof v.timeoutMS === 'number';
141
- }
142
- /** @internal */
143
-
144
-
145
- class TimeoutContext {
146
- static create(options) {
147
- if (options.session?.timeoutContext != null) return options.session?.timeoutContext;
148
- if (isCSOTTimeoutContextOptions(options)) return new CSOTTimeoutContext(options);else if (isLegacyTimeoutContextOptions(options)) return new LegacyTimeoutContext(options);else throw new error_1.MongoRuntimeError('Unrecognized options');
149
- }
150
-
151
- }
152
-
153
- exports.TimeoutContext = TimeoutContext;
154
- /** @internal */
155
-
156
- class CSOTTimeoutContext extends TimeoutContext {
157
- constructor(options) {
158
- super();
159
- this.minRoundTripTime = 0;
160
- this.start = Math.trunc(performance.now());
161
- this.timeoutMS = options.timeoutMS;
162
- this.serverSelectionTimeoutMS = options.serverSelectionTimeoutMS;
163
- this.socketTimeoutMS = options.socketTimeoutMS;
164
- this.clearServerSelectionTimeout = false;
165
- }
166
-
167
- get maxTimeMS() {
168
- return this.remainingTimeMS - this.minRoundTripTime;
169
- }
170
-
171
- get remainingTimeMS() {
172
- const timePassed = Math.trunc(performance.now()) - this.start;
173
- return this.timeoutMS <= 0 ? Infinity : this.timeoutMS - timePassed;
174
- }
175
-
176
- csotEnabled() {
177
- return true;
178
- }
179
-
180
- get serverSelectionTimeout() {
181
- // check for undefined
182
- if (typeof this._serverSelectionTimeout !== 'object' || this._serverSelectionTimeout?.cleared) {
183
- const {
184
- remainingTimeMS,
185
- serverSelectionTimeoutMS
186
- } = this;
187
- if (remainingTimeMS <= 0) return Timeout.reject(new error_1.MongoOperationTimeoutError(`Timed out in server selection after ${this.timeoutMS}ms`));
188
- const usingServerSelectionTimeoutMS = serverSelectionTimeoutMS !== 0 && (0, utils_1.csotMin)(remainingTimeMS, serverSelectionTimeoutMS) === serverSelectionTimeoutMS;
189
-
190
- if (usingServerSelectionTimeoutMS) {
191
- this._serverSelectionTimeout = Timeout.expires(serverSelectionTimeoutMS);
192
- } else {
193
- if (remainingTimeMS > 0 && Number.isFinite(remainingTimeMS)) {
194
- this._serverSelectionTimeout = Timeout.expires(remainingTimeMS);
195
- } else {
196
- this._serverSelectionTimeout = null;
197
- }
198
- }
199
- }
200
-
201
- return this._serverSelectionTimeout;
202
- }
203
-
204
- get connectionCheckoutTimeout() {
205
- if (typeof this._connectionCheckoutTimeout !== 'object' || this._connectionCheckoutTimeout?.cleared) {
206
- if (typeof this._serverSelectionTimeout === 'object') {
207
- // null or Timeout
208
- this._connectionCheckoutTimeout = this._serverSelectionTimeout;
209
- } else {
210
- throw new error_1.MongoRuntimeError('Unreachable. If you are seeing this error, please file a ticket on the NODE driver project on Jira');
211
- }
212
- }
213
-
214
- return this._connectionCheckoutTimeout;
215
- }
216
-
217
- get timeoutForSocketWrite() {
218
- const {
219
- remainingTimeMS
220
- } = this;
221
- if (!Number.isFinite(remainingTimeMS)) return null;
222
- if (remainingTimeMS > 0) return Timeout.expires(remainingTimeMS);
223
- return Timeout.reject(new error_1.MongoOperationTimeoutError('Timed out before socket write'));
224
- }
225
-
226
- get timeoutForSocketRead() {
227
- const {
228
- remainingTimeMS
229
- } = this;
230
- if (!Number.isFinite(remainingTimeMS)) return null;
231
- if (remainingTimeMS > 0) return Timeout.expires(remainingTimeMS);
232
- return Timeout.reject(new error_1.MongoOperationTimeoutError('Timed out before socket read'));
233
- }
234
-
235
- refresh() {
236
- this.start = Math.trunc(performance.now());
237
- this.minRoundTripTime = 0;
238
- this._serverSelectionTimeout?.clear();
239
- this._connectionCheckoutTimeout?.clear();
240
- }
241
-
242
- clear() {
243
- this._serverSelectionTimeout?.clear();
244
- this._connectionCheckoutTimeout?.clear();
245
- }
246
- /**
247
- * @internal
248
- * Throws a MongoOperationTimeoutError if the context has expired.
249
- * If the context has not expired, returns the `remainingTimeMS`
250
- **/
251
-
252
-
253
- getRemainingTimeMSOrThrow(message) {
254
- const {
255
- remainingTimeMS
256
- } = this;
257
- if (remainingTimeMS <= 0) throw new error_1.MongoOperationTimeoutError(message ?? `Expired after ${this.timeoutMS}ms`);
258
- return remainingTimeMS;
259
- }
260
- /**
261
- * @internal
262
- * This method is intended to be used in situations where concurrent operation are on the same deadline, but cannot share a single `TimeoutContext` instance.
263
- * Returns a new instance of `CSOTTimeoutContext` constructed with identical options, but setting the `start` property to `this.start`.
264
- */
265
-
266
-
267
- clone() {
268
- const timeoutContext = new CSOTTimeoutContext({
269
- timeoutMS: this.timeoutMS,
270
- serverSelectionTimeoutMS: this.serverSelectionTimeoutMS
271
- });
272
- timeoutContext.start = this.start;
273
- return timeoutContext;
274
- }
275
-
276
- refreshed() {
277
- return new CSOTTimeoutContext(this);
278
- }
279
-
280
- addMaxTimeMSToCommand(command, options) {
281
- if (options.omitMaxTimeMS) return;
282
- const maxTimeMS = this.remainingTimeMS - this.minRoundTripTime;
283
- if (maxTimeMS > 0 && Number.isFinite(maxTimeMS)) command.maxTimeMS = maxTimeMS;
284
- }
285
-
286
- getSocketTimeoutMS() {
287
- return 0;
288
- }
289
-
290
- }
291
-
292
- exports.CSOTTimeoutContext = CSOTTimeoutContext;
293
- /** @internal */
294
-
295
- class LegacyTimeoutContext extends TimeoutContext {
296
- constructor(options) {
297
- super();
298
- this.options = options;
299
- this.clearServerSelectionTimeout = true;
300
- }
301
-
302
- csotEnabled() {
303
- return false;
304
- }
305
-
306
- get serverSelectionTimeout() {
307
- if (this.options.serverSelectionTimeoutMS != null && this.options.serverSelectionTimeoutMS > 0) return Timeout.expires(this.options.serverSelectionTimeoutMS);
308
- return null;
309
- }
310
-
311
- get connectionCheckoutTimeout() {
312
- if (this.options.waitQueueTimeoutMS != null && this.options.waitQueueTimeoutMS > 0) return Timeout.expires(this.options.waitQueueTimeoutMS);
313
- return null;
314
- }
315
-
316
- get timeoutForSocketWrite() {
317
- return null;
318
- }
319
-
320
- get timeoutForSocketRead() {
321
- return null;
322
- }
323
-
324
- refresh() {
325
- return;
326
- }
327
-
328
- clear() {
329
- return;
330
- }
331
-
332
- get maxTimeMS() {
333
- return null;
334
- }
335
-
336
- refreshed() {
337
- return new LegacyTimeoutContext(this.options);
338
- }
339
-
340
- addMaxTimeMSToCommand(_command, _options) {// No max timeMS is added to commands in legacy timeout mode.
341
- }
342
-
343
- getSocketTimeoutMS() {
344
- return this.options.socketTimeoutMS;
345
- }
346
-
347
- }
348
-
349
- exports.LegacyTimeoutContext = LegacyTimeoutContext;
@@ -1,149 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Transaction = exports.TxnState = void 0;
7
- exports.isTransactionCommand = isTransactionCommand;
8
-
9
- const error_1 = require("./error");
10
-
11
- const read_concern_1 = require("./read_concern");
12
-
13
- const read_preference_1 = require("./read_preference");
14
-
15
- const write_concern_1 = require("./write_concern");
16
- /** @internal */
17
-
18
-
19
- exports.TxnState = Object.freeze({
20
- NO_TRANSACTION: 'NO_TRANSACTION',
21
- STARTING_TRANSACTION: 'STARTING_TRANSACTION',
22
- TRANSACTION_IN_PROGRESS: 'TRANSACTION_IN_PROGRESS',
23
- TRANSACTION_COMMITTED: 'TRANSACTION_COMMITTED',
24
- TRANSACTION_COMMITTED_EMPTY: 'TRANSACTION_COMMITTED_EMPTY',
25
- TRANSACTION_ABORTED: 'TRANSACTION_ABORTED'
26
- });
27
- const stateMachine = {
28
- [exports.TxnState.NO_TRANSACTION]: [exports.TxnState.NO_TRANSACTION, exports.TxnState.STARTING_TRANSACTION],
29
- [exports.TxnState.STARTING_TRANSACTION]: [exports.TxnState.TRANSACTION_IN_PROGRESS, exports.TxnState.TRANSACTION_COMMITTED, exports.TxnState.TRANSACTION_COMMITTED_EMPTY, exports.TxnState.TRANSACTION_ABORTED],
30
- [exports.TxnState.TRANSACTION_IN_PROGRESS]: [exports.TxnState.TRANSACTION_IN_PROGRESS, exports.TxnState.TRANSACTION_COMMITTED, exports.TxnState.TRANSACTION_ABORTED],
31
- [exports.TxnState.TRANSACTION_COMMITTED]: [exports.TxnState.TRANSACTION_COMMITTED, exports.TxnState.TRANSACTION_COMMITTED_EMPTY, exports.TxnState.STARTING_TRANSACTION, exports.TxnState.NO_TRANSACTION],
32
- [exports.TxnState.TRANSACTION_ABORTED]: [exports.TxnState.STARTING_TRANSACTION, exports.TxnState.NO_TRANSACTION],
33
- [exports.TxnState.TRANSACTION_COMMITTED_EMPTY]: [exports.TxnState.TRANSACTION_COMMITTED_EMPTY, exports.TxnState.NO_TRANSACTION]
34
- };
35
- const ACTIVE_STATES = new Set([exports.TxnState.STARTING_TRANSACTION, exports.TxnState.TRANSACTION_IN_PROGRESS]);
36
- const COMMITTED_STATES = new Set([exports.TxnState.TRANSACTION_COMMITTED, exports.TxnState.TRANSACTION_COMMITTED_EMPTY, exports.TxnState.TRANSACTION_ABORTED]);
37
- /**
38
- * @public
39
- * A class maintaining state related to a server transaction. Internal Only
40
- */
41
-
42
- class Transaction {
43
- /** Create a transaction @internal */
44
- constructor(options) {
45
- options = options ?? {};
46
- this.state = exports.TxnState.NO_TRANSACTION;
47
- this.options = {};
48
- const writeConcern = write_concern_1.WriteConcern.fromOptions(options);
49
-
50
- if (writeConcern) {
51
- if (writeConcern.w === 0) {
52
- throw new error_1.MongoTransactionError('Transactions do not support unacknowledged write concern');
53
- }
54
-
55
- this.options.writeConcern = writeConcern;
56
- }
57
-
58
- if (options.readConcern) {
59
- this.options.readConcern = read_concern_1.ReadConcern.fromOptions(options);
60
- }
61
-
62
- if (options.readPreference) {
63
- this.options.readPreference = read_preference_1.ReadPreference.fromOptions(options);
64
- }
65
-
66
- if (options.maxCommitTimeMS) {
67
- this.options.maxTimeMS = options.maxCommitTimeMS;
68
- } // TODO: This isn't technically necessary
69
-
70
-
71
- this._pinnedServer = undefined;
72
- this._recoveryToken = undefined;
73
- }
74
- /** @internal */
75
-
76
-
77
- get server() {
78
- return this._pinnedServer;
79
- }
80
-
81
- get recoveryToken() {
82
- return this._recoveryToken;
83
- }
84
-
85
- get isPinned() {
86
- return !!this.server;
87
- }
88
- /** @returns Whether the transaction has started */
89
-
90
-
91
- get isStarting() {
92
- return this.state === exports.TxnState.STARTING_TRANSACTION;
93
- }
94
- /**
95
- * @returns Whether this session is presently in a transaction
96
- */
97
-
98
-
99
- get isActive() {
100
- return ACTIVE_STATES.has(this.state);
101
- }
102
-
103
- get isCommitted() {
104
- return COMMITTED_STATES.has(this.state);
105
- }
106
- /**
107
- * Transition the transaction in the state machine
108
- * @internal
109
- * @param nextState - The new state to transition to
110
- */
111
-
112
-
113
- transition(nextState) {
114
- const nextStates = stateMachine[this.state];
115
-
116
- if (nextStates && nextStates.includes(nextState)) {
117
- this.state = nextState;
118
-
119
- if (this.state === exports.TxnState.NO_TRANSACTION || this.state === exports.TxnState.STARTING_TRANSACTION || this.state === exports.TxnState.TRANSACTION_ABORTED) {
120
- this.unpinServer();
121
- }
122
-
123
- return;
124
- }
125
-
126
- throw new error_1.MongoRuntimeError(`Attempted illegal state transition from [${this.state}] to [${nextState}]`);
127
- }
128
- /** @internal */
129
-
130
-
131
- pinServer(server) {
132
- if (this.isActive) {
133
- this._pinnedServer = server;
134
- }
135
- }
136
- /** @internal */
137
-
138
-
139
- unpinServer() {
140
- this._pinnedServer = undefined;
141
- }
142
-
143
- }
144
-
145
- exports.Transaction = Transaction;
146
-
147
- function isTransactionCommand(command) {
148
- return !!(command.commitTransaction || command.abortTransaction);
149
- }