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.
- package/CHANGELOG.md +1755 -1742
- package/LICENSE +672 -672
- package/README.md +37 -37
- package/build/core/OxygenCore.js +1 -1
- package/build/core/OxygenEvents.js +1 -1
- package/build/core/OxygenModule.js +1 -1
- package/build/core/OxygenService.js +1 -1
- package/build/core/OxygenSubModule.js +1 -1
- package/build/core/WebDriverModule.js +1 -1
- package/build/core/utils.js +1 -1
- package/build/errors/HookError.js +1 -1
- package/build/errors/ModuleError.js +1 -1
- package/build/errors/ModuleUnavailableError.js +1 -1
- package/build/errors/OxygenError.js +1 -1
- package/build/errors/ScriptNotFound.js +1 -1
- package/build/errors/helper.js +1 -1
- package/build/index.js +1 -1
- package/build/lib/cli-util.js +1 -1
- package/build/lib/cli.js +1 -1
- package/build/lib/debugger.js +1 -1
- package/build/lib/img-merge.js +1 -1
- package/build/lib/launcher.js +1 -1
- package/build/lib/logger.js +43 -43
- package/build/lib/moduleRequire.js +1 -1
- package/build/lib/parallel-launcher.js +1 -1
- package/build/lib/param-manager.js +1 -1
- package/build/lib/param-reader-csv.js +1 -1
- package/build/lib/param-reader-excel.js +1 -1
- package/build/lib/param-reader-json.js +1 -1
- package/build/lib/text-to-image.js +1 -1
- package/build/lib/util.js +1 -1
- package/build/model/case-result.js +1 -1
- package/build/model/failure.js +1 -1
- package/build/model/status.js +1 -1
- package/build/model/step-result.js +1 -1
- package/build/model/suite-result.js +1 -1
- package/build/model/test-result.js +1 -1
- package/build/model/testcase.js +1 -1
- package/build/model/testsuite.js +1 -1
- package/build/ox_modules/index.js +1 -1
- package/build/ox_modules/module-assert.js +37 -37
- package/build/ox_modules/module-date.js +24 -24
- package/build/ox_modules/module-db.js +52 -52
- package/build/ox_modules/module-email.js +59 -59
- package/build/ox_modules/module-eyes.js +34 -34
- package/build/ox_modules/module-http/ntlm-util.js +10 -10
- package/build/ox_modules/module-http/ntlm.js +15 -15
- package/build/ox_modules/module-http.js +132 -132
- package/build/ox_modules/module-log.js +27 -27
- package/build/ox_modules/module-mailinator.js +87 -87
- package/build/ox_modules/module-mob/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-mob/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-mob/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-mob/commands/assertText.js +21 -21
- package/build/ox_modules/module-mob/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-mob/commands/assertValue.js +18 -18
- package/build/ox_modules/module-mob/commands/back.js +16 -16
- package/build/ox_modules/module-mob/commands/clear.js +19 -19
- package/build/ox_modules/module-mob/commands/click.js +17 -17
- package/build/ox_modules/module-mob/commands/clickHidden.js +17 -17
- package/build/ox_modules/module-mob/commands/clickLong.js +18 -18
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +18 -18
- package/build/ox_modules/module-mob/commands/closeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/debug.js +16 -16
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +19 -19
- package/build/ox_modules/module-mob/commands/enableNetwork.js +27 -27
- package/build/ox_modules/module-mob/commands/execute.js +21 -21
- package/build/ox_modules/module-mob/commands/findElement.js +20 -20
- package/build/ox_modules/module-mob/commands/findElements.js +23 -23
- package/build/ox_modules/module-mob/commands/getAlertText.js +17 -17
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +15 -15
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +15 -15
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +16 -16
- package/build/ox_modules/module-mob/commands/getLocation.js +20 -20
- package/build/ox_modules/module-mob/commands/getSource.js +16 -16
- package/build/ox_modules/module-mob/commands/getText.js +18 -18
- package/build/ox_modules/module-mob/commands/getTitle.js +13 -13
- package/build/ox_modules/module-mob/commands/getUrl.js +17 -17
- package/build/ox_modules/module-mob/commands/getValue.js +18 -18
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +17 -17
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +21 -21
- package/build/ox_modules/module-mob/commands/index.js +1 -1
- package/build/ox_modules/module-mob/commands/installApp.js +16 -16
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +16 -16
- package/build/ox_modules/module-mob/commands/isCheckable.js +18 -18
- package/build/ox_modules/module-mob/commands/isChecked.js +18 -18
- package/build/ox_modules/module-mob/commands/isClickable.js +18 -18
- package/build/ox_modules/module-mob/commands/isExist.js +19 -19
- package/build/ox_modules/module-mob/commands/isSelected.js +23 -23
- package/build/ox_modules/module-mob/commands/isVisible.js +19 -19
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/launchApp.js +15 -15
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +18 -18
- package/build/ox_modules/module-mob/commands/open.js +17 -17
- package/build/ox_modules/module-mob/commands/pause.js +16 -16
- package/build/ox_modules/module-mob/commands/removeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/resetApp.js +15 -15
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +22 -22
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +27 -27
- package/build/ox_modules/module-mob/commands/select.js +24 -24
- package/build/ox_modules/module-mob/commands/selectFrame.js +23 -23
- package/build/ox_modules/module-mob/commands/selectWindow.js +28 -28
- package/build/ox_modules/module-mob/commands/sendKeys.js +29 -29
- package/build/ox_modules/module-mob/commands/setContext.js +16 -16
- package/build/ox_modules/module-mob/commands/setNativeContext.js +15 -15
- package/build/ox_modules/module-mob/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/shake.js +16 -16
- package/build/ox_modules/module-mob/commands/smsClickLink.js +19 -19
- package/build/ox_modules/module-mob/commands/smsGetText.js +20 -20
- package/build/ox_modules/module-mob/commands/swipe.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeElement.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeScreen.js +20 -20
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-mob/commands/tap.js +17 -17
- package/build/ox_modules/module-mob/commands/type.js +20 -20
- package/build/ox_modules/module-mob/commands/unlockPattern.js +22 -22
- package/build/ox_modules/module-mob/commands/waitForExist.js +18 -18
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-mob/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-mob.js +74 -74
- package/build/ox_modules/module-mongo.js +82 -82
- package/build/ox_modules/module-pdf.js +35 -35
- package/build/ox_modules/module-proxy.js +77 -77
- package/build/ox_modules/module-serial.js +55 -55
- package/build/ox_modules/module-shell.js +52 -33
- package/build/ox_modules/module-soap.js +72 -72
- package/build/ox_modules/module-twilio.js +41 -41
- package/build/ox_modules/module-utils.js +91 -91
- package/build/ox_modules/module-web/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-web/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-web/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-web/commands/assertExist.js +17 -17
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/assertText.js +21 -21
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-web/commands/assertValue.js +20 -20
- package/build/ox_modules/module-web/commands/back.js +16 -16
- package/build/ox_modules/module-web/commands/clear.js +18 -18
- package/build/ox_modules/module-web/commands/click.js +25 -25
- package/build/ox_modules/module-web/commands/clickHidden.js +23 -23
- package/build/ox_modules/module-web/commands/closeWindow.js +15 -15
- package/build/ox_modules/module-web/commands/debug.js +15 -15
- package/build/ox_modules/module-web/commands/deleteCookies.js +12 -12
- package/build/ox_modules/module-web/commands/deselect.js +22 -22
- package/build/ox_modules/module-web/commands/doubleClick.js +17 -17
- package/build/ox_modules/module-web/commands/dragAndDrop.js +20 -20
- package/build/ox_modules/module-web/commands/execute.js +24 -24
- package/build/ox_modules/module-web/commands/fileBrowse.js +18 -18
- package/build/ox_modules/module-web/commands/findElement.js +19 -19
- package/build/ox_modules/module-web/commands/findElements.js +22 -22
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +14 -14
- package/build/ox_modules/module-web/commands/getAlertText.js +16 -16
- package/build/ox_modules/module-web/commands/getAttribute.js +19 -19
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +17 -17
- package/build/ox_modules/module-web/commands/getCookies.js +13 -13
- package/build/ox_modules/module-web/commands/getCssValue.js +19 -19
- package/build/ox_modules/module-web/commands/getElementCount.js +17 -17
- package/build/ox_modules/module-web/commands/getHTML.js +17 -17
- package/build/ox_modules/module-web/commands/getSource.js +16 -16
- package/build/ox_modules/module-web/commands/getText.js +18 -18
- package/build/ox_modules/module-web/commands/getTitle.js +12 -12
- package/build/ox_modules/module-web/commands/getUrl.js +16 -16
- package/build/ox_modules/module-web/commands/getValue.js +18 -18
- package/build/ox_modules/module-web/commands/getWindowHandles.js +16 -16
- package/build/ox_modules/module-web/commands/getWindowSize.js +16 -16
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +16 -16
- package/build/ox_modules/module-web/commands/index.js +1 -1
- package/build/ox_modules/module-web/commands/isAlertPresent.js +16 -16
- package/build/ox_modules/module-web/commands/isChecked.js +18 -18
- package/build/ox_modules/module-web/commands/isExist.js +19 -19
- package/build/ox_modules/module-web/commands/isInteractable.js +22 -22
- package/build/ox_modules/module-web/commands/isSelected.js +23 -23
- package/build/ox_modules/module-web/commands/isVisible.js +19 -19
- package/build/ox_modules/module-web/commands/makeVisible.js +25 -25
- package/build/ox_modules/module-web/commands/maximizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/minimizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/mock.js +20 -20
- package/build/ox_modules/module-web/commands/mockClearAll.js +12 -12
- package/build/ox_modules/module-web/commands/mockRestoreAll.js +12 -12
- package/build/ox_modules/module-web/commands/newWindow.js +16 -16
- package/build/ox_modules/module-web/commands/open.js +16 -16
- package/build/ox_modules/module-web/commands/pause.js +15 -15
- package/build/ox_modules/module-web/commands/point.js +21 -21
- package/build/ox_modules/module-web/commands/pointJS.js +15 -15
- package/build/ox_modules/module-web/commands/refresh.js +15 -15
- package/build/ox_modules/module-web/commands/rightClick.js +17 -17
- package/build/ox_modules/module-web/commands/rightClickActions.js +19 -19
- package/build/ox_modules/module-web/commands/scrollToElement.js +21 -21
- package/build/ox_modules/module-web/commands/select.js +23 -23
- package/build/ox_modules/module-web/commands/selectFrame.js +24 -24
- package/build/ox_modules/module-web/commands/selectWindow.js +27 -27
- package/build/ox_modules/module-web/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +20 -20
- package/build/ox_modules/module-web/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-web/commands/setWindowSize.js +17 -17
- package/build/ox_modules/module-web/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-web/commands/type.js +20 -20
- package/build/ox_modules/module-web/commands/verifyAlert.js +20 -20
- package/build/ox_modules/module-web/commands/verifyExist.js +17 -17
- package/build/ox_modules/module-web/commands/verifySelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/verifySelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/verifyText.js +21 -21
- package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTitle.js +19 -19
- package/build/ox_modules/module-web/commands/verifyValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForAngular.js +19 -19
- package/build/ox_modules/module-web/commands/waitForExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForNotValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-web/commands/waitForWindow.js +22 -22
- package/build/ox_modules/module-web.js +94 -94
- package/build/ox_modules/module-win/commands/assertText.js +17 -17
- package/build/ox_modules/module-win/commands/assertTitle.js +15 -15
- package/build/ox_modules/module-win/commands/assertValue.js +14 -14
- package/build/ox_modules/module-win/commands/back.js +11 -11
- package/build/ox_modules/module-win/commands/clear.js +13 -13
- package/build/ox_modules/module-win/commands/click.js +13 -13
- package/build/ox_modules/module-win/commands/clickLong.js +14 -14
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +14 -14
- package/build/ox_modules/module-win/commands/findElement.js +15 -15
- package/build/ox_modules/module-win/commands/findElements.js +15 -15
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +12 -12
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +15 -15
- package/build/ox_modules/module-win/commands/getLocation.js +14 -14
- package/build/ox_modules/module-win/commands/getSource.js +12 -12
- package/build/ox_modules/module-win/commands/getText.js +14 -14
- package/build/ox_modules/module-win/commands/getValue.js +14 -14
- package/build/ox_modules/module-win/commands/getWindowHandles.js +15 -15
- package/build/ox_modules/module-win/commands/index.js +1 -1
- package/build/ox_modules/module-win/commands/isCheckable.js +14 -14
- package/build/ox_modules/module-win/commands/isChecked.js +14 -14
- package/build/ox_modules/module-win/commands/isClickable.js +14 -14
- package/build/ox_modules/module-win/commands/isExist.js +15 -15
- package/build/ox_modules/module-win/commands/isSelected.js +14 -14
- package/build/ox_modules/module-win/commands/isVisible.js +15 -15
- package/build/ox_modules/module-win/commands/open.js +13 -13
- package/build/ox_modules/module-win/commands/pause.js +12 -12
- package/build/ox_modules/module-win/commands/rightClick.js +13 -13
- package/build/ox_modules/module-win/commands/selectWindow.js +23 -23
- package/build/ox_modules/module-win/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-win/commands/setTimeout.js +17 -17
- package/build/ox_modules/module-win/commands/takeScreenshot.js +16 -16
- package/build/ox_modules/module-win/commands/tap.js +13 -13
- package/build/ox_modules/module-win/commands/type.js +16 -16
- package/build/ox_modules/module-win/commands/waitForExist.js +14 -14
- package/build/ox_modules/module-win/commands/waitForInteractable.js +16 -16
- package/build/ox_modules/module-win/commands/waitForVisible.js +13 -13
- package/build/ox_modules/module-win.js +47 -47
- package/build/ox_modules/utils.js +8 -8
- package/build/ox_reporters/excel/template.json +48 -48
- package/build/ox_reporters/html/index.ejs +163 -163
- package/build/ox_reporters/html/summary.ejs +77 -77
- package/build/ox_reporters/html/tests-details.ejs +134 -134
- package/build/ox_reporters/html/tests-devices-browsers.ejs +83 -83
- package/build/ox_reporters/reporter-excel.js +1 -1
- package/build/ox_reporters/reporter-html.js +1 -1
- package/build/ox_reporters/reporter-json.js +1 -1
- package/build/ox_reporters/reporter-junit.js +1 -1
- package/build/ox_reporters/reporter-pdf.js +1 -1
- package/build/ox_reporters/reporter-rp.js +73 -42
- package/build/ox_reporters/reporter-xml.js +1 -1
- package/build/ox_services/service-devtools/submodule-network.js +1 -1
- package/build/ox_services/service-devtools.js +1 -1
- package/build/reporter/FileReporterBase.js +1 -1
- package/build/reporter/ReportAggregator.js +1 -1
- package/build/reporter/ReporterBase.js +1 -1
- package/build/reporter/WebSocketReporter.js +1 -1
- package/build/runners/WorkerProcess.js +1 -1
- package/build/runners/cucumber/CucumberEventListener.js +1 -1
- package/build/runners/cucumber/CucumberReporter.js +1 -1
- package/build/runners/cucumber/CucumberWorker.js +1 -1
- package/build/runners/cucumber/index.js +1 -1
- package/build/runners/cucumber/worker.js +1 -1
- package/build/runners/index.js +1 -1
- package/build/runners/oxygen/OxygenWorker.js +1 -1
- package/build/runners/oxygen/index.js +1 -1
- package/build/runners/oxygen/worker.js +1 -1
- package/config/default.json +6 -6
- package/package.json +139 -139
- package/types/index.d.ts +70 -70
- package/types/module-eyes.d.ts +39 -39
- package/types/module-http.d.ts +163 -163
- package/types/module-log.d.ts +34 -34
- package/types/module-mob.d.ts +966 -966
- package/types/module-pdf.d.ts +40 -40
- package/types/module-proxy.d.ts +100 -100
- package/types/module-shell.d.ts +24 -24
- package/types/module-utils.d.ts +99 -99
- package/types/module-web.d.ts +1053 -1053
- package/types/module-win.d.ts +352 -352
- package/types/oxygen.d.ts +53 -53
- package/log.txt +0 -1614
- package/reports/2025-06-08_231627/report.html +0 -440
- package/reports/2025-06-09_223615/report.html +0 -440
- package/transpiled/mongodb/etc/prepare.js +0 -18
- package/transpiled/mongodb/lib/admin.js +0 -182
- package/transpiled/mongodb/lib/beta.js +0 -26
- package/transpiled/mongodb/lib/bson.js +0 -220
- package/transpiled/mongodb/lib/bulk/common.js +0 -1041
- package/transpiled/mongodb/lib/bulk/ordered.js +0 -76
- package/transpiled/mongodb/lib/bulk/unordered.js +0 -102
- package/transpiled/mongodb/lib/change_stream.js +0 -517
- package/transpiled/mongodb/lib/client-side-encryption/auto_encrypter.js +0 -329
- package/transpiled/mongodb/lib/client-side-encryption/client_encryption.js +0 -779
- package/transpiled/mongodb/lib/client-side-encryption/crypto_callbacks.js +0 -95
- package/transpiled/mongodb/lib/client-side-encryption/errors.js +0 -171
- package/transpiled/mongodb/lib/client-side-encryption/mongocryptd_manager.js +0 -98
- package/transpiled/mongodb/lib/client-side-encryption/providers/aws.js +0 -34
- package/transpiled/mongodb/lib/client-side-encryption/providers/azure.js +0 -186
- package/transpiled/mongodb/lib/client-side-encryption/providers/gcp.js +0 -29
- package/transpiled/mongodb/lib/client-side-encryption/providers/index.js +0 -58
- package/transpiled/mongodb/lib/client-side-encryption/state_machine.js +0 -505
- package/transpiled/mongodb/lib/cmap/auth/auth_provider.js +0 -63
- package/transpiled/mongodb/lib/cmap/auth/aws_temporary_credentials.js +0 -167
- package/transpiled/mongodb/lib/cmap/auth/gssapi.js +0 -207
- package/transpiled/mongodb/lib/cmap/auth/mongo_credentials.js +0 -193
- package/transpiled/mongodb/lib/cmap/auth/mongodb_aws.js +0 -181
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +0 -101
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +0 -81
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +0 -174
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +0 -59
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +0 -58
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +0 -138
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +0 -42
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +0 -71
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +0 -34
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc.js +0 -111
- package/transpiled/mongodb/lib/cmap/auth/plain.js +0 -43
- package/transpiled/mongodb/lib/cmap/auth/providers.js +0 -22
- package/transpiled/mongodb/lib/cmap/auth/scram.js +0 -318
- package/transpiled/mongodb/lib/cmap/auth/x509.js +0 -61
- package/transpiled/mongodb/lib/cmap/command_monitoring_events.js +0 -266
- package/transpiled/mongodb/lib/cmap/commands.js +0 -605
- package/transpiled/mongodb/lib/cmap/connect.js +0 -418
- package/transpiled/mongodb/lib/cmap/connection.js +0 -673
- package/transpiled/mongodb/lib/cmap/connection_pool.js +0 -688
- package/transpiled/mongodb/lib/cmap/connection_pool_events.js +0 -254
- package/transpiled/mongodb/lib/cmap/errors.js +0 -128
- package/transpiled/mongodb/lib/cmap/handshake/client_metadata.js +0 -278
- package/transpiled/mongodb/lib/cmap/metrics.js +0 -67
- package/transpiled/mongodb/lib/cmap/stream_description.js +0 -74
- package/transpiled/mongodb/lib/cmap/wire_protocol/compression.js +0 -196
- package/transpiled/mongodb/lib/cmap/wire_protocol/constants.js +0 -19
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_data.js +0 -144
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_demand/document.js +0 -278
- package/transpiled/mongodb/lib/cmap/wire_protocol/responses.js +0 -376
- package/transpiled/mongodb/lib/cmap/wire_protocol/shared.js +0 -49
- package/transpiled/mongodb/lib/collection.js +0 -852
- package/transpiled/mongodb/lib/connection_string.js +0 -1452
- package/transpiled/mongodb/lib/constants.js +0 -162
- package/transpiled/mongodb/lib/cursor/abstract_cursor.js +0 -1082
- package/transpiled/mongodb/lib/cursor/aggregation_cursor.js +0 -227
- package/transpiled/mongodb/lib/cursor/change_stream_cursor.js +0 -136
- package/transpiled/mongodb/lib/cursor/client_bulk_write_cursor.js +0 -69
- package/transpiled/mongodb/lib/cursor/find_cursor.js +0 -476
- package/transpiled/mongodb/lib/cursor/list_collections_cursor.js +0 -48
- package/transpiled/mongodb/lib/cursor/list_indexes_cursor.js +0 -46
- package/transpiled/mongodb/lib/cursor/list_search_indexes_cursor.js +0 -30
- package/transpiled/mongodb/lib/cursor/run_command_cursor.js +0 -125
- package/transpiled/mongodb/lib/db.js +0 -467
- package/transpiled/mongodb/lib/deps.js +0 -174
- package/transpiled/mongodb/lib/encrypter.js +0 -129
- package/transpiled/mongodb/lib/error.js +0 -1550
- package/transpiled/mongodb/lib/explain.js +0 -122
- package/transpiled/mongodb/lib/gridfs/download.js +0 -369
- package/transpiled/mongodb/lib/gridfs/index.js +0 -240
- package/transpiled/mongodb/lib/gridfs/upload.js +0 -446
- package/transpiled/mongodb/lib/index.js +0 -975
- package/transpiled/mongodb/lib/mongo_client.js +0 -626
- package/transpiled/mongodb/lib/mongo_client_auth_providers.js +0 -98
- package/transpiled/mongodb/lib/mongo_logger.js +0 -812
- package/transpiled/mongodb/lib/mongo_types.js +0 -71
- package/transpiled/mongodb/lib/operations/aggregate.js +0 -129
- package/transpiled/mongodb/lib/operations/bulk_write.js +0 -48
- package/transpiled/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +0 -96
- package/transpiled/mongodb/lib/operations/client_bulk_write/command_builder.js +0 -409
- package/transpiled/mongodb/lib/operations/client_bulk_write/common.js +0 -5
- package/transpiled/mongodb/lib/operations/client_bulk_write/executor.js +0 -144
- package/transpiled/mongodb/lib/operations/client_bulk_write/results_merger.js +0 -228
- package/transpiled/mongodb/lib/operations/collections.js +0 -49
- package/transpiled/mongodb/lib/operations/command.js +0 -102
- package/transpiled/mongodb/lib/operations/count.js +0 -60
- package/transpiled/mongodb/lib/operations/create_collection.js +0 -109
- package/transpiled/mongodb/lib/operations/delete.js +0 -134
- package/transpiled/mongodb/lib/operations/distinct.js +0 -77
- package/transpiled/mongodb/lib/operations/drop.js +0 -102
- package/transpiled/mongodb/lib/operations/estimated_document_count.js +0 -47
- package/transpiled/mongodb/lib/operations/execute_operation.js +0 -251
- package/transpiled/mongodb/lib/operations/find.js +0 -197
- package/transpiled/mongodb/lib/operations/find_and_modify.js +0 -191
- package/transpiled/mongodb/lib/operations/get_more.js +0 -84
- package/transpiled/mongodb/lib/operations/indexes.js +0 -197
- package/transpiled/mongodb/lib/operations/insert.js +0 -138
- package/transpiled/mongodb/lib/operations/is_capped.js +0 -44
- package/transpiled/mongodb/lib/operations/kill_cursors.js +0 -58
- package/transpiled/mongodb/lib/operations/list_collections.js +0 -66
- package/transpiled/mongodb/lib/operations/list_databases.js +0 -56
- package/transpiled/mongodb/lib/operations/operation.js +0 -88
- package/transpiled/mongodb/lib/operations/options_operation.js +0 -44
- package/transpiled/mongodb/lib/operations/profiling_level.js +0 -42
- package/transpiled/mongodb/lib/operations/remove_user.js +0 -35
- package/transpiled/mongodb/lib/operations/rename.js +0 -48
- package/transpiled/mongodb/lib/operations/run_command.js +0 -64
- package/transpiled/mongodb/lib/operations/search_indexes/create.js +0 -41
- package/transpiled/mongodb/lib/operations/search_indexes/drop.js +0 -51
- package/transpiled/mongodb/lib/operations/search_indexes/update.js +0 -40
- package/transpiled/mongodb/lib/operations/set_profiling_level.js +0 -70
- package/transpiled/mongodb/lib/operations/stats.js +0 -39
- package/transpiled/mongodb/lib/operations/update.js +0 -218
- package/transpiled/mongodb/lib/operations/validate_collection.js +0 -49
- package/transpiled/mongodb/lib/read_concern.js +0 -92
- package/transpiled/mongodb/lib/read_preference.js +0 -215
- package/transpiled/mongodb/lib/resource_management.js +0 -74
- package/transpiled/mongodb/lib/sdam/common.js +0 -53
- package/transpiled/mongodb/lib/sdam/events.js +0 -177
- package/transpiled/mongodb/lib/sdam/monitor.js +0 -656
- package/transpiled/mongodb/lib/sdam/server.js +0 -463
- package/transpiled/mongodb/lib/sdam/server_description.js +0 -196
- package/transpiled/mongodb/lib/sdam/server_selection.js +0 -283
- package/transpiled/mongodb/lib/sdam/server_selection_events.js +0 -112
- package/transpiled/mongodb/lib/sdam/srv_polling.js +0 -139
- package/transpiled/mongodb/lib/sdam/topology.js +0 -833
- package/transpiled/mongodb/lib/sdam/topology_description.js +0 -447
- package/transpiled/mongodb/lib/sessions.js +0 -988
- package/transpiled/mongodb/lib/sort.js +0 -123
- package/transpiled/mongodb/lib/timeout.js +0 -349
- package/transpiled/mongodb/lib/transactions.js +0 -149
- package/transpiled/mongodb/lib/utils.js +0 -1502
- package/transpiled/mongodb/lib/write_concern.js +0 -115
|
@@ -7,31 +7,31 @@ exports.select = select;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Selects an option from a drop-down list using an option locator. This command works
|
|
21
|
-
* with multiple-choice lists as well.
|
|
22
|
-
* @description Option locator can be one of the following (No prefix is same as label matching):
|
|
23
|
-
* - `label=STRING` - Matches option based on the visible text.
|
|
24
|
-
* - `value=STRING` - Matches option based on its value.
|
|
25
|
-
* - `index=STRING` - Matches option based on its index. The index is 0-based.
|
|
26
|
-
* @function select
|
|
27
|
-
* @param {String} selectLocator - An element locator identifying a drop-down menu.
|
|
28
|
-
* @param {String} optionLocator - An option locator.
|
|
29
|
-
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
30
|
-
* @for hybrid, web
|
|
31
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
32
|
-
* mob.init(); //Starts a mobile session
|
|
33
|
-
* mob.open("www.yourwebsite.com");// Opens a website.
|
|
34
|
-
* mob.select("id=Selection","label=United States");// Selects an option from a list.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Selects an option from a drop-down list using an option locator. This command works
|
|
21
|
+
* with multiple-choice lists as well.
|
|
22
|
+
* @description Option locator can be one of the following (No prefix is same as label matching):
|
|
23
|
+
* - `label=STRING` - Matches option based on the visible text.
|
|
24
|
+
* - `value=STRING` - Matches option based on its value.
|
|
25
|
+
* - `index=STRING` - Matches option based on its index. The index is 0-based.
|
|
26
|
+
* @function select
|
|
27
|
+
* @param {String} selectLocator - An element locator identifying a drop-down menu.
|
|
28
|
+
* @param {String} optionLocator - An option locator.
|
|
29
|
+
* @param {Number=} timeout - Timeout in milliseconds. Default is 60 seconds.
|
|
30
|
+
* @for hybrid, web
|
|
31
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
32
|
+
* mob.init(); //Starts a mobile session
|
|
33
|
+
* mob.open("www.yourwebsite.com");// Opens a website.
|
|
34
|
+
* mob.select("id=Selection","label=United States");// Selects an option from a list.
|
|
35
35
|
*/
|
|
36
36
|
async function select(selectLocator, optionLocator, timeout) {
|
|
37
37
|
this.helpers.assertArgumentNonEmptyString(optionLocator, 'optionLocator');
|
|
@@ -56,4 +56,4 @@ async function select(selectLocator, optionLocator, timeout) {
|
|
|
56
56
|
throw e;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0LmpzIl0sIm5hbWVzIjpbInNlbGVjdCIsInNlbGVjdExvY2F0b3IiLCJvcHRpb25Mb2NhdG9yIiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwiYXNzZXJ0QXJndW1lbnRUaW1lb3V0IiwiZWwiLCJnZXRFbGVtZW50IiwiaW5kZXhPZiIsInNlbGVjdEJ5QXR0cmlidXRlIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwic2VsZWN0QnlJbmRleCIsInNlbGVjdEJ5VmlzaWJsZVRleHQiLCJlIiwibWVzc2FnZSIsInN0YXJ0c1dpdGgiLCJPeEVycm9yIiwiZXJySGVscGVyIiwiZXJyb3JDb2RlIiwiT1BUSU9OX05PVF9GT1VORCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsTUFBZixDQUFzQkMsYUFBdEIsRUFBcUNDLGFBQXJDLEVBQW9EQyxPQUFwRCxFQUE2RDtBQUNoRSxPQUFLQyxPQUFMLENBQWFDLDRCQUFiLENBQTBDSCxhQUExQyxFQUF5RCxlQUF6RDtBQUNBLE9BQUtFLE9BQUwsQ0FBYUUscUJBQWIsQ0FBbUNILE9BQW5DLEVBQTRDLFNBQTVDO0FBRUEsTUFBSUksRUFBRSxHQUFHLE1BQU0sS0FBS0gsT0FBTCxDQUFhSSxVQUFiLENBQXdCUCxhQUF4QixFQUF1QyxLQUF2QyxFQUE4Q0UsT0FBOUMsQ0FBZjs7QUFFQSxNQUFJO0FBQ0EsUUFBSUQsYUFBYSxDQUFDTyxPQUFkLENBQXNCLFFBQXRCLE1BQW9DLENBQXhDLEVBQTJDO0FBQ3ZDLFlBQU1GLEVBQUUsQ0FBQ0csaUJBQUgsQ0FBcUIsT0FBckIsRUFBOEJSLGFBQWEsQ0FBQ1MsU0FBZCxDQUF3QixTQUFTQyxNQUFqQyxDQUE5QixDQUFOO0FBQ0gsS0FGRCxNQUVPLElBQUlWLGFBQWEsQ0FBQ08sT0FBZCxDQUFzQixRQUF0QixNQUFvQyxDQUF4QyxFQUEyQztBQUM5QyxZQUFNRixFQUFFLENBQUNNLGFBQUgsQ0FBaUJYLGFBQWEsQ0FBQ1MsU0FBZCxDQUF3QixTQUFTQyxNQUFqQyxDQUFqQixDQUFOO0FBQ0gsS0FGTSxNQUVBLElBQUlWLGFBQWEsQ0FBQ08sT0FBZCxDQUFzQixRQUF0QixNQUFvQyxDQUF4QyxFQUEyQztBQUM5QyxZQUFNRixFQUFFLENBQUNPLG1CQUFILENBQXVCWixhQUFhLENBQUNTLFNBQWQsQ0FBd0IsU0FBU0MsTUFBakMsQ0FBdkIsQ0FBTjtBQUNILEtBRk0sTUFFQTtBQUNILFlBQU1MLEVBQUUsQ0FBQ08sbUJBQUgsQ0FBdUJaLGFBQXZCLENBQU47QUFDSDtBQUNKLEdBVkQsQ0FVRSxPQUFPYSxDQUFQLEVBQVU7QUFDUixRQUFJQSxDQUFDLENBQUNDLE9BQUYsSUFBYUQsQ0FBQyxDQUFDQyxPQUFGLENBQVVDLFVBQVYsQ0FBcUIsY0FBckIsQ0FBakIsRUFBdUQ7QUFDbkQsWUFBTSxJQUFJLEtBQUtDLE9BQVQsQ0FBaUIsS0FBS0MsU0FBTCxDQUFlQyxTQUFmLENBQXlCQyxnQkFBMUMsRUFBNEROLENBQUMsQ0FBQ0MsT0FBOUQsQ0FBTjtBQUNIOztBQUNELFVBQU1ELENBQU47QUFDSDtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU2VsZWN0cyBhbiBvcHRpb24gZnJvbSBhIGRyb3AtZG93biBsaXN0IHVzaW5nIGFuIG9wdGlvbiBsb2NhdG9yLiBUaGlzIGNvbW1hbmQgd29ya3NcclxuICogICAgICAgICAgd2l0aCBtdWx0aXBsZS1jaG9pY2UgbGlzdHMgYXMgd2VsbC5cclxuICogQGRlc2NyaXB0aW9uIE9wdGlvbiBsb2NhdG9yIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyAoTm8gcHJlZml4IGlzIHNhbWUgYXMgbGFiZWwgbWF0Y2hpbmcpOiAgXHJcbiAqICAgICAgICAgICAgICAtIGBsYWJlbD1TVFJJTkdgIC0gTWF0Y2hlcyBvcHRpb24gYmFzZWQgb24gdGhlIHZpc2libGUgdGV4dC4gIFxyXG4gKiAgICAgICAgICAgICAgLSBgdmFsdWU9U1RSSU5HYCAtIE1hdGNoZXMgb3B0aW9uIGJhc2VkIG9uIGl0cyB2YWx1ZS4gIFxyXG4gKiAgICAgICAgICAgICAgLSBgaW5kZXg9U1RSSU5HYCAtIE1hdGNoZXMgb3B0aW9uIGJhc2VkIG9uIGl0cyBpbmRleC4gVGhlIGluZGV4IGlzIDAtYmFzZWQuXHJcbiAqIEBmdW5jdGlvbiBzZWxlY3RcclxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdExvY2F0b3IgLSBBbiBlbGVtZW50IGxvY2F0b3IgaWRlbnRpZnlpbmcgYSBkcm9wLWRvd24gbWVudS5cclxuICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbkxvY2F0b3IgLSBBbiBvcHRpb24gbG9jYXRvci5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQgaXMgNjAgc2Vjb25kcy5cclxuICogQGZvciBoeWJyaWQsIHdlYlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoKTsgLy9TdGFydHMgYSBtb2JpbGUgc2Vzc2lvblxyXG4gKiBtb2Iub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiBtb2Iuc2VsZWN0KFwiaWQ9U2VsZWN0aW9uXCIsXCJsYWJlbD1Vbml0ZWQgU3RhdGVzXCIpOy8vIFNlbGVjdHMgYW4gb3B0aW9uIGZyb20gYSBsaXN0LiBcclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZWxlY3Qoc2VsZWN0TG9jYXRvciwgb3B0aW9uTG9jYXRvciwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmcob3B0aW9uTG9jYXRvciwgJ29wdGlvbkxvY2F0b3InKTtcclxuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudFRpbWVvdXQodGltZW91dCwgJ3RpbWVvdXQnKTtcclxuXHJcbiAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChzZWxlY3RMb2NhdG9yLCBmYWxzZSwgdGltZW91dCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgICBpZiAob3B0aW9uTG9jYXRvci5pbmRleE9mKCd2YWx1ZT0nKSA9PT0gMCkge1xyXG4gICAgICAgICAgICBhd2FpdCBlbC5zZWxlY3RCeUF0dHJpYnV0ZSgndmFsdWUnLCBvcHRpb25Mb2NhdG9yLnN1YnN0cmluZygndmFsdWU9Jy5sZW5ndGgpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbkxvY2F0b3IuaW5kZXhPZignaW5kZXg9JykgPT09IDApIHtcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VsZWN0QnlJbmRleChvcHRpb25Mb2NhdG9yLnN1YnN0cmluZygnaW5kZXg9Jy5sZW5ndGgpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbkxvY2F0b3IuaW5kZXhPZignbGFiZWw9JykgPT09IDApIHtcclxuICAgICAgICAgICAgYXdhaXQgZWwuc2VsZWN0QnlWaXNpYmxlVGV4dChvcHRpb25Mb2NhdG9yLnN1YnN0cmluZygnbGFiZWw9Jy5sZW5ndGgpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBhd2FpdCBlbC5zZWxlY3RCeVZpc2libGVUZXh0KG9wdGlvbkxvY2F0b3IpO1xyXG4gICAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBpZiAoZS5tZXNzYWdlICYmIGUubWVzc2FnZS5zdGFydHNXaXRoKCdPcHRpb24gd2l0aCAnKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5PUFRJT05fTk9UX0ZPVU5ELCBlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -7,30 +7,30 @@ exports.selectFrame = selectFrame;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Selects a frame or an iframe within the current window.
|
|
21
|
-
* @description Available frame locators:
|
|
22
|
-
* - `'parent'` - Select parent frame.
|
|
23
|
-
* - `'top'` - Select top window.
|
|
24
|
-
* - `NUMBER` - Select frame by its 0-based index.
|
|
25
|
-
* - `LOCATOR` - Locator identifying the frame (relative to the top window).
|
|
26
|
-
* Multiple locators can be passed in order to switch between nested frames.
|
|
27
|
-
* @function selectFrame
|
|
28
|
-
* @param {...String|Number} frameLocator - A locator identifying the frame or iframe. Or a series
|
|
29
|
-
* of locators.
|
|
30
|
-
* @for hybrid, web
|
|
31
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
32
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
33
|
-
* mob.selectFrame("//iframe[@id='frame1']", "//iframe[@id='nested_frame']");
|
|
19
|
+
/**
|
|
20
|
+
* @summary Selects a frame or an iframe within the current window.
|
|
21
|
+
* @description Available frame locators:
|
|
22
|
+
* - `'parent'` - Select parent frame.
|
|
23
|
+
* - `'top'` - Select top window.
|
|
24
|
+
* - `NUMBER` - Select frame by its 0-based index.
|
|
25
|
+
* - `LOCATOR` - Locator identifying the frame (relative to the top window).
|
|
26
|
+
* Multiple locators can be passed in order to switch between nested frames.
|
|
27
|
+
* @function selectFrame
|
|
28
|
+
* @param {...String|Number} frameLocator - A locator identifying the frame or iframe. Or a series
|
|
29
|
+
* of locators.
|
|
30
|
+
* @for hybrid, web
|
|
31
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
32
|
+
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
33
|
+
* mob.selectFrame("//iframe[@id='frame1']", "//iframe[@id='nested_frame']");
|
|
34
34
|
*/
|
|
35
35
|
async function selectFrame(frameLocator) {
|
|
36
36
|
await this.helpers.assertContext(this.helpers.contextList.hybrid, this.helpers.contextList.web);
|
|
@@ -55,4 +55,4 @@ async function selectFrame(frameLocator) {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0RnJhbWUuanMiXSwibmFtZXMiOlsic2VsZWN0RnJhbWUiLCJmcmFtZUxvY2F0b3IiLCJoZWxwZXJzIiwiYXNzZXJ0Q29udGV4dCIsImNvbnRleHRMaXN0IiwiaHlicmlkIiwid2ViIiwiZHJpdmVyIiwic3dpdGNoVG9QYXJlbnRGcmFtZSIsInN3aXRjaFRvRnJhbWUiLCJpc05hTiIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJsb2NhdG9yIiwiZWwiLCJnZXRFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsV0FBZixDQUEyQkMsWUFBM0IsRUFBeUM7QUFDNUMsUUFBTSxLQUFLQyxPQUFMLENBQWFDLGFBQWIsQ0FBMkIsS0FBS0QsT0FBTCxDQUFhRSxXQUFiLENBQXlCQyxNQUFwRCxFQUE0RCxLQUFLSCxPQUFMLENBQWFFLFdBQWIsQ0FBeUJFLEdBQXJGLENBQU47O0FBQ0EsTUFBSUwsWUFBWSxLQUFLLFFBQXJCLEVBQStCO0FBQWlCO0FBQzVDLFVBQU0sS0FBS00sTUFBTCxDQUFZQyxtQkFBWixFQUFOO0FBQ0gsR0FGRCxNQUVPLElBQUlQLFlBQVksS0FBSyxLQUFyQixFQUE0QjtBQUFhO0FBQzVDLFVBQU0sS0FBS00sTUFBTCxDQUFZRSxhQUFaLENBQTBCLElBQTFCLENBQU47QUFDSCxHQUZNLE1BRUEsSUFBSSxDQUFDQyxLQUFLLENBQUNULFlBQUQsQ0FBVixFQUEwQjtBQUFlO0FBQzVDLFVBQU0sS0FBS00sTUFBTCxDQUFZRSxhQUFaLENBQTBCUixZQUExQixDQUFOO0FBQ0gsR0FGTSxNQUVBO0FBQXlDO0FBQzVDLFVBQU0sS0FBS00sTUFBTCxDQUFZRSxhQUFaLENBQTBCLElBQTFCLENBQU47O0FBQ0EsU0FBSyxJQUFJRSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHQyxTQUFTLENBQUNDLE1BQTlCLEVBQXNDRixDQUFDLEVBQXZDLEVBQTJDO0FBQ3ZDLFVBQUlHLE9BQU8sR0FBR0YsU0FBUyxDQUFDRCxDQUFELENBQXZCO0FBQ0EsVUFBSUksRUFBRSxHQUFHLE1BQU0sS0FBS2IsT0FBTCxDQUFhYyxVQUFiLENBQXdCRixPQUF4QixDQUFmO0FBQ0EsWUFBTSxLQUFLUCxNQUFMLENBQVlFLGFBQVosQ0FBMEJNLEVBQTFCLENBQU47QUFDSDtBQUNKO0FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZWxlY3RzIGEgZnJhbWUgb3IgYW4gaWZyYW1lIHdpdGhpbiB0aGUgY3VycmVudCB3aW5kb3cuXHJcbiAqIEBkZXNjcmlwdGlvbiBBdmFpbGFibGUgZnJhbWUgbG9jYXRvcnM6ICBcclxuICogICAgICAgICAgICAgIC0gYCdwYXJlbnQnYCAtIFNlbGVjdCBwYXJlbnQgZnJhbWUuICBcclxuICogICAgICAgICAgICAgIC0gYCd0b3AnYCAtIFNlbGVjdCB0b3Agd2luZG93LiAgXHJcbiAqICAgICAgICAgICAgICAtIGBOVU1CRVJgIC0gU2VsZWN0IGZyYW1lIGJ5IGl0cyAwLWJhc2VkIGluZGV4LiAgXHJcbiAqICAgICAgICAgICAgICAtIGBMT0NBVE9SYCAtIExvY2F0b3IgaWRlbnRpZnlpbmcgdGhlIGZyYW1lIChyZWxhdGl2ZSB0byB0aGUgdG9wIHdpbmRvdykuXHJcbiAqICAgICAgICAgICAgICBNdWx0aXBsZSBsb2NhdG9ycyBjYW4gYmUgcGFzc2VkIGluIG9yZGVyIHRvIHN3aXRjaCBiZXR3ZWVuIG5lc3RlZCBmcmFtZXMuXHJcbiAqIEBmdW5jdGlvbiBzZWxlY3RGcmFtZVxyXG4gKiBAcGFyYW0gey4uLlN0cmluZ3xOdW1iZXJ9IGZyYW1lTG9jYXRvciAtIEEgbG9jYXRvciBpZGVudGlmeWluZyB0aGUgZnJhbWUgb3IgaWZyYW1lLiBPciBhIHNlcmllcyBcclxuICogICAgICAgICBvZiBsb2NhdG9ycy5cclxuICogQGZvciBoeWJyaWQsIHdlYlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoY2Fwcyk7Ly9TdGFydHMgYSBtb2JpbGUgc2Vzc2lvbiBhbmQgb3BlbnMgYXBwIGZyb20gZGVzaXJlZCBjYXBhYmlsaXRpZXNcclxuICogbW9iLnNlbGVjdEZyYW1lKFwiLy9pZnJhbWVbQGlkPSdmcmFtZTEnXVwiLCBcIi8vaWZyYW1lW0BpZD0nbmVzdGVkX2ZyYW1lJ11cIik7XHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VsZWN0RnJhbWUoZnJhbWVMb2NhdG9yKSB7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuYXNzZXJ0Q29udGV4dCh0aGlzLmhlbHBlcnMuY29udGV4dExpc3QuaHlicmlkLCB0aGlzLmhlbHBlcnMuY29udGV4dExpc3Qud2ViKTtcclxuICAgIGlmIChmcmFtZUxvY2F0b3IgPT09ICdwYXJlbnQnKSB7ICAgICAgICAgICAgICAgIC8vIHBhcmVudFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvUGFyZW50RnJhbWUoKTtcclxuICAgIH0gZWxzZSBpZiAoZnJhbWVMb2NhdG9yID09PSAndG9wJykgeyAgICAgICAgICAgIC8vIHRvcFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvRnJhbWUobnVsbCk7XHJcbiAgICB9IGVsc2UgaWYgKCFpc05hTihmcmFtZUxvY2F0b3IpKSB7ICAgICAgICAgICAgICAvLyBmcmFtZSBpbmRleFxyXG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvRnJhbWUoZnJhbWVMb2NhdG9yKTtcclxuICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZyYW1lIGxvY2F0b3IocylcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb0ZyYW1lKG51bGwpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBsb2NhdG9yID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICB2YXIgZWwgPSBhd2FpdCB0aGlzLmhlbHBlcnMuZ2V0RWxlbWVudChsb2NhdG9yKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9GcmFtZShlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -7,35 +7,35 @@ exports.selectWindow = selectWindow;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Selects window. Once window has been selected, all commands go to that window.
|
|
21
|
-
* @description `windowLocator` can be:
|
|
22
|
-
* - `title=TITLE` Switch to the first window which matches the specified title. `TITLE` can be any of
|
|
23
|
-
* the supported string matching patterns (see top of the page). When using title locator, this command
|
|
24
|
-
* will wait for the window to appear first similarly to `waitForWindow` command.
|
|
25
|
-
* - `url=URL` Switch to the first window which matches the specified URL. `URL` can be any of
|
|
26
|
-
* the supported string matching patterns (see top of the page). When using url locator, this command
|
|
27
|
-
* will wait for the window to appear first similarly to `waitForWindow` command.
|
|
28
|
-
* - `windowHandle` Switch to a window using its unique handle.
|
|
29
|
-
* @function selectWindow
|
|
30
|
-
* @param {String=} windowLocator - Window locator.
|
|
31
|
-
* @param {Number=} timeout - Timeout in milliseconds when using 'title' window locating strategy.
|
|
32
|
-
* Default is 60 seconds.
|
|
33
|
-
* @return {String} windowHandle of the previously selected window.
|
|
34
|
-
* @for web
|
|
35
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
36
|
-
* mob.init();// Starts a mobile session.
|
|
37
|
-
* mob.open("www.yourwebsite.com");// Opens a website.
|
|
38
|
-
* mob.selectWindow("title=Website");// Selects and focus a window.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Selects window. Once window has been selected, all commands go to that window.
|
|
21
|
+
* @description `windowLocator` can be:
|
|
22
|
+
* - `title=TITLE` Switch to the first window which matches the specified title. `TITLE` can be any of
|
|
23
|
+
* the supported string matching patterns (see top of the page). When using title locator, this command
|
|
24
|
+
* will wait for the window to appear first similarly to `waitForWindow` command.
|
|
25
|
+
* - `url=URL` Switch to the first window which matches the specified URL. `URL` can be any of
|
|
26
|
+
* the supported string matching patterns (see top of the page). When using url locator, this command
|
|
27
|
+
* will wait for the window to appear first similarly to `waitForWindow` command.
|
|
28
|
+
* - `windowHandle` Switch to a window using its unique handle.
|
|
29
|
+
* @function selectWindow
|
|
30
|
+
* @param {String=} windowLocator - Window locator.
|
|
31
|
+
* @param {Number=} timeout - Timeout in milliseconds when using 'title' window locating strategy.
|
|
32
|
+
* Default is 60 seconds.
|
|
33
|
+
* @return {String} windowHandle of the previously selected window.
|
|
34
|
+
* @for web
|
|
35
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
36
|
+
* mob.init();// Starts a mobile session.
|
|
37
|
+
* mob.open("www.yourwebsite.com");// Opens a website.
|
|
38
|
+
* mob.selectWindow("title=Website");// Selects and focus a window.
|
|
39
39
|
*/
|
|
40
40
|
async function selectWindow(windowLocator, timeout) {
|
|
41
41
|
this.helpers.assertArgument(windowLocator, 'windowLocator');
|
|
@@ -151,4 +151,4 @@ async function selectWindow(windowLocator, timeout) {
|
|
|
151
151
|
|
|
152
152
|
return currentHandle;
|
|
153
153
|
}
|
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0V2luZG93LmpzIl0sIm5hbWVzIjpbInNlbGVjdFdpbmRvdyIsIndpbmRvd0xvY2F0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50IiwiY3VycmVudEhhbmRsZSIsImN1cnJlbnRIYW5kbGVUaXRsZSIsImN1cnJlbnRIYW5kbGVVcmwiLCJzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnIiwiZHJpdmVyIiwiZ2V0V2luZG93SGFuZGxlIiwiZXJyIiwid25kcyIsImdldFdpbmRvd0hhbmRsZXMiLCJzd2l0Y2hUb1dpbmRvdyIsImxlbmd0aCIsImdldFRpdGxlIiwiZ2V0VXJsIiwid2luZG93SGFuZGxlcyIsImluZGV4T2YiLCJwYXR0ZXJuIiwic3Vic3RyaW5nIiwic3RhcnQiLCJEYXRlIiwiZ2V0VGltZSIsIndhaXRGb3JUaW1lb3V0IiwiaSIsImhhbmRsZSIsInRpdGxlIiwibWF0Y2hQYXR0ZXJuIiwicGF1c2UiLCJPeEVycm9yIiwiZXJySGVscGVyIiwiZXJyb3JDb2RlIiwiV0lORE9XX05PVF9GT1VORCIsInVybCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsWUFBZixDQUE0QkMsYUFBNUIsRUFBMkNDLE9BQTNDLEVBQW9EO0FBQ3ZELE9BQUtDLE9BQUwsQ0FBYUMsY0FBYixDQUE0QkgsYUFBNUIsRUFBMkMsZUFBM0M7QUFDQSxNQUFJSSxhQUFKO0FBQ0EsTUFBSUMsa0JBQUo7QUFDQSxNQUFJQyxnQkFBSjtBQUNBLE1BQUlDLDRCQUE0QixH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QWVDLFNBQWYsQ0FBeUJDLGdCQUExQyxFQUE0RDFCLDRCQUE1RCxDQUFOO0FBQ0g7O0FBQ0QsVUFBTSxJQUFJLEtBQUt1QixPQUFULENBQWlCLEtBQUtDLFNBQUwsQ0FBZUMsU0FBZixDQUF5QkMsZ0JBQTFDLEVBQTZELDBCQUF5QmpDLGFBQWMsRUFBcEcsQ0FBTjtBQUNILEdBL0JNLE1BK0JBO0FBQ0gsUUFBSTtBQUNBLFlBQU0sS0FBS1EsTUFBTCxDQUFZSyxjQUFaLENBQTJCYixhQUEzQixDQUFOO0FBQ0gsS0FGRCxDQUVFLE9BQU9VLEdBQVAsRUFBWTtBQUNWLFlBQU0sSUFBSSxLQUFLb0IsT0FBVCxDQUFpQixLQUFLQyxTQUFMLENBQWVDLFNBQWYsQ0FBeUJDLGdCQUExQyxFQUE0RHZCLEdBQUcsQ0FBQ3lCLE9BQWhFLENBQU47QUFDSDtBQUNKOztBQUVELFNBQU8vQixhQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICovXG5cbi8qKlxuICogQHN1bW1hcnkgU2VsZWN0cyB3aW5kb3cuIE9uY2Ugd2luZG93IGhhcyBiZWVuIHNlbGVjdGVkLCBhbGwgY29tbWFuZHMgZ28gdG8gdGhhdCB3aW5kb3cuXG4gKiBAZGVzY3JpcHRpb24gYHdpbmRvd0xvY2F0b3JgIGNhbiBiZTogIFxuICogLSBgdGl0bGU9VElUTEVgIFN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdoaWNoIG1hdGNoZXMgdGhlIHNwZWNpZmllZCB0aXRsZS4gYFRJVExFYCBjYW4gYmUgYW55IG9mXG4gKiB0aGUgc3VwcG9ydGVkIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyAoc2VlIHRvcCBvZiB0aGUgcGFnZSkuIFdoZW4gdXNpbmcgdGl0bGUgbG9jYXRvciwgdGhpcyBjb21tYW5kXG4gKiB3aWxsIHdhaXQgZm9yIHRoZSB3aW5kb3cgdG8gYXBwZWFyIGZpcnN0IHNpbWlsYXJseSB0byBgd2FpdEZvcldpbmRvd2AgY29tbWFuZC4gIFxuICogLSBgdXJsPVVSTGAgU3dpdGNoIHRvIHRoZSBmaXJzdCB3aW5kb3cgd2hpY2ggbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFVSTC4gYFVSTGAgY2FuIGJlIGFueSBvZlxuICogdGhlIHN1cHBvcnRlZCBzdHJpbmcgbWF0Y2hpbmcgcGF0dGVybnMgKHNlZSB0b3Agb2YgdGhlIHBhZ2UpLiBXaGVuIHVzaW5nIHVybCBsb2NhdG9yLCB0aGlzIGNvbW1hbmRcbiAqIHdpbGwgd2FpdCBmb3IgdGhlIHdpbmRvdyB0byBhcHBlYXIgZmlyc3Qgc2ltaWxhcmx5IHRvIGB3YWl0Rm9yV2luZG93YCBjb21tYW5kLiAgXG4gKiAtIGB3aW5kb3dIYW5kbGVgIFN3aXRjaCB0byBhIHdpbmRvdyB1c2luZyBpdHMgdW5pcXVlIGhhbmRsZS5cbiAqIEBmdW5jdGlvbiBzZWxlY3RXaW5kb3dcbiAqIEBwYXJhbSB7U3RyaW5nPX0gd2luZG93TG9jYXRvciAtIFdpbmRvdyBsb2NhdG9yLlxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMgd2hlbiB1c2luZyAndGl0bGUnIHdpbmRvdyBsb2NhdGluZyBzdHJhdGVneS4gXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBpcyA2MCBzZWNvbmRzLlxuICogQHJldHVybiB7U3RyaW5nfSB3aW5kb3dIYW5kbGUgb2YgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgd2luZG93LlxuICogQGZvciB3ZWJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxuICogbW9iLmluaXQoKTsvLyBTdGFydHMgYSBtb2JpbGUgc2Vzc2lvbi5cbiAqIG1vYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXG4gKiBtb2Iuc2VsZWN0V2luZG93KFwidGl0bGU9V2Vic2l0ZVwiKTsvLyBTZWxlY3RzIGFuZCBmb2N1cyBhIHdpbmRvdy4gXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZWxlY3RXaW5kb3cod2luZG93TG9jYXRvciwgdGltZW91dCkge1xuICAgIHRoaXMuaGVscGVycy5hc3NlcnRBcmd1bWVudCh3aW5kb3dMb2NhdG9yLCAnd2luZG93TG9jYXRvcicpO1xuICAgIHZhciBjdXJyZW50SGFuZGxlO1xuICAgIHZhciBjdXJyZW50SGFuZGxlVGl0bGU7XG4gICAgdmFyIGN1cnJlbnRIYW5kbGVVcmw7XG4gICAgdmFyIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cgPSAnVW5hYmxlIHRvIHN3aXRjaCB0byBwcmV2aW91cyBzZWxlY3RlZCB3aW5kb3cnO1xuXG4gICAgLy8gZ2V0V2luZG93SGFuZGxlKCkgY291bGQgcG9zc2libHkgZmFpbCBpZiB0aGVyZSBpcyBubyBhY3RpdmUgd2luZG93LFxuICAgIC8vIHNvIHdlIHNlbGVjdCB0aGUgbGFzdCBvcGVuZWQgb25lIGluIHN1Y2ggY2FzZVxuICAgIHRyeSB7XG4gICAgICAgIGN1cnJlbnRIYW5kbGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGUoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdmFyIHduZHMgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGVzKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KHduZHNbd25kcy5sZW5ndGggLSAxXSk7XG4gICAgICAgIGN1cnJlbnRIYW5kbGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGUoKTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEhhbmRsZSkge1xuICAgICAgICBjdXJyZW50SGFuZGxlVGl0bGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRUaXRsZSgpO1xuICAgICAgICBjdXJyZW50SGFuZGxlVXJsID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0VXJsKCk7XG4gICAgfVxuXG4gICAgdmFyIHdpbmRvd0hhbmRsZXM7XG4gICAgaWYgKHdpbmRvd0xvY2F0b3IuaW5kZXhPZigndGl0bGU9JykgPT09IDApIHtcbiAgICAgICAgbGV0IHBhdHRlcm4gPSB3aW5kb3dMb2NhdG9yLnN1YnN0cmluZygndGl0bGU9Jy5sZW5ndGgpO1xuICAgICAgICBsZXQgc3RhcnQgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xuICAgICAgICB0aW1lb3V0ID0gIXRpbWVvdXQgPyB0aGlzLndhaXRGb3JUaW1lb3V0IDogdGltZW91dDtcbiAgICAgICAgd2hpbGUgKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSBzdGFydCA8IHRpbWVvdXQpIHtcbiAgICAgICAgICAgIHdpbmRvd0hhbmRsZXMgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGVzKCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdpbmRvd0hhbmRsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgaGFuZGxlID0gd2luZG93SGFuZGxlc1tpXTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyhoYW5kbGUpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgeyAvLyBpbiBjYXNlIHdpbmRvdyB3YXMgY2xvc2VkXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRUaXRsZSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhlbHBlcnMubWF0Y2hQYXR0ZXJuKHRpdGxlLCBwYXR0ZXJuKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEhhbmRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhdXNlKDEwMDApO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIGlmIHdpbmRvdyBub3QgZm91bmQgLSBzd2l0Y2ggdG8gb3JpZ2luYWwgb25lIGFuZCB0aHJvd1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3coY3VycmVudEhhbmRsZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikgeyAvLyBpbiBjYXNlIHdpbmRvdyB3YXMgY2xvc2VkXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50SGFuZGxlVGl0bGUpIHtcbiAgICAgICAgICAgICAgICBzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnICs9IGA6ICR7Y3VycmVudEhhbmRsZVRpdGxlfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGBVbmFibGUgdG8gZmluZCB3aW5kb3c6ICR7d2luZG93TG9jYXRvcn1gKTtcbiAgICB9IGVsc2UgaWYgKHdpbmRvd0xvY2F0b3IuaW5kZXhPZigndXJsPScpID09PSAwKSB7XG4gICAgICAgIGxldCBwYXR0ZXJuID0gd2luZG93TG9jYXRvci5zdWJzdHJpbmcoJ3VybD0nLmxlbmd0aCk7XG4gICAgICAgIGxldCBzdGFydCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XG4gICAgICAgIHRpbWVvdXQgPSAhdGltZW91dCA/IHRoaXMud2FpdEZvclRpbWVvdXQgOiB0aW1lb3V0O1xuICAgICAgICB3aGlsZSAoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAtIHN0YXJ0IDwgdGltZW91dCkge1xuICAgICAgICAgICAgd2luZG93SGFuZGxlcyA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZXMoKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2luZG93SGFuZGxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBoYW5kbGUgPSB3aW5kb3dIYW5kbGVzW2ldO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7IC8vIGluIGNhc2Ugd2luZG93IHdhcyBjbG9zZWRcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxldCB1cmwgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRVcmwoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWxwZXJzLm1hdGNoUGF0dGVybih1cmwsIHBhdHRlcm4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SGFuZGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGF1c2UoMTAwMCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gaWYgd2luZG93IG5vdCBmb3VuZCAtIHN3aXRjaCB0byBvcmlnaW5hbCBvbmUgYW5kIHRocm93XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyhjdXJyZW50SGFuZGxlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudEhhbmRsZVVybCkge1xuICAgICAgICAgICAgICAgIHN3aXRoVG9DdXJyZW50SGFuZGxlRXJyb3JNc2cgKz0gYDogJHtjdXJyZW50SGFuZGxlVXJsfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5XSU5ET1dfTk9UX0ZPVU5ELCBzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5XSU5ET1dfTk9UX0ZPVU5ELCBgVW5hYmxlIHRvIGZpbmQgd2luZG93OiAke3dpbmRvd0xvY2F0b3J9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KHdpbmRvd0xvY2F0b3IpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyB0aGlzLk94RXJyb3IodGhpcy5lcnJIZWxwZXIuZXJyb3JDb2RlLldJTkRPV19OT1RfRk9VTkQsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50SGFuZGxlO1xufSJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VsZWN0V2luZG93LmpzIl0sIm5hbWVzIjpbInNlbGVjdFdpbmRvdyIsIndpbmRvd0xvY2F0b3IiLCJ0aW1lb3V0IiwiaGVscGVycyIsImFzc2VydEFyZ3VtZW50IiwiY3VycmVudEhhbmRsZSIsImN1cnJlbnRIYW5kbGVUaXRsZSIsImN1cnJlbnRIYW5kbGVVcmwiLCJzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnIiwiZHJpdmVyIiwiZ2V0V2luZG93SGFuZGxlIiwiZXJyIiwid25kcyIsImdldFdpbmRvd0hhbmRsZXMiLCJzd2l0Y2hUb1dpbmRvdyIsImxlbmd0aCIsImdldFRpdGxlIiwiZ2V0VXJsIiwid2luZG93SGFuZGxlcyIsImluZGV4T2YiLCJwYXR0ZXJuIiwic3Vic3RyaW5nIiwic3RhcnQiLCJEYXRlIiwiZ2V0VGltZSIsIndhaXRGb3JUaW1lb3V0IiwiaSIsImhhbmRsZSIsInRpdGxlIiwibWF0Y2hQYXR0ZXJuIiwicGF1c2UiLCJPeEVycm9yIiwiZXJySGVscGVyIiwiZXJyb3JDb2RlIiwiV0lORE9XX05PVF9GT1VORCIsInVybCIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsWUFBZixDQUE0QkMsYUFBNUIsRUFBMkNDLE9BQTNDLEVBQW9EO0FBQ3ZELE9BQUtDLE9BQUwsQ0FBYUMsY0FBYixDQUE0QkgsYUFBNUIsRUFBMkMsZUFBM0M7QUFDQSxNQUFJSSxhQUFKO0FBQ0EsTUFBSUMsa0JBQUo7QUFDQSxNQUFJQyxnQkFBSjtBQUNBLE1BQUlDLDRCQUE0QixH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QWVDLFNBQWYsQ0FBeUJDLGdCQUExQyxFQUE0RDFCLDRCQUE1RCxDQUFOO0FBQ0g7O0FBQ0QsVUFBTSxJQUFJLEtBQUt1QixPQUFULENBQWlCLEtBQUtDLFNBQUwsQ0FBZUMsU0FBZixDQUF5QkMsZ0JBQTFDLEVBQTZELDBCQUF5QmpDLGFBQWMsRUFBcEcsQ0FBTjtBQUNILEdBL0JNLE1BK0JBO0FBQ0gsUUFBSTtBQUNBLFlBQU0sS0FBS1EsTUFBTCxDQUFZSyxjQUFaLENBQTJCYixhQUEzQixDQUFOO0FBQ0gsS0FGRCxDQUVFLE9BQU9VLEdBQVAsRUFBWTtBQUNWLFlBQU0sSUFBSSxLQUFLb0IsT0FBVCxDQUFpQixLQUFLQyxTQUFMLENBQWVDLFNBQWYsQ0FBeUJDLGdCQUExQyxFQUE0RHZCLEdBQUcsQ0FBQ3lCLE9BQWhFLENBQU47QUFDSDtBQUNKOztBQUVELFNBQU8vQixhQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZWxlY3RzIHdpbmRvdy4gT25jZSB3aW5kb3cgaGFzIGJlZW4gc2VsZWN0ZWQsIGFsbCBjb21tYW5kcyBnbyB0byB0aGF0IHdpbmRvdy5cclxuICogQGRlc2NyaXB0aW9uIGB3aW5kb3dMb2NhdG9yYCBjYW4gYmU6ICBcclxuICogLSBgdGl0bGU9VElUTEVgIFN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdoaWNoIG1hdGNoZXMgdGhlIHNwZWNpZmllZCB0aXRsZS4gYFRJVExFYCBjYW4gYmUgYW55IG9mXHJcbiAqIHRoZSBzdXBwb3J0ZWQgc3RyaW5nIG1hdGNoaW5nIHBhdHRlcm5zIChzZWUgdG9wIG9mIHRoZSBwYWdlKS4gV2hlbiB1c2luZyB0aXRsZSBsb2NhdG9yLCB0aGlzIGNvbW1hbmRcclxuICogd2lsbCB3YWl0IGZvciB0aGUgd2luZG93IHRvIGFwcGVhciBmaXJzdCBzaW1pbGFybHkgdG8gYHdhaXRGb3JXaW5kb3dgIGNvbW1hbmQuICBcclxuICogLSBgdXJsPVVSTGAgU3dpdGNoIHRvIHRoZSBmaXJzdCB3aW5kb3cgd2hpY2ggbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFVSTC4gYFVSTGAgY2FuIGJlIGFueSBvZlxyXG4gKiB0aGUgc3VwcG9ydGVkIHN0cmluZyBtYXRjaGluZyBwYXR0ZXJucyAoc2VlIHRvcCBvZiB0aGUgcGFnZSkuIFdoZW4gdXNpbmcgdXJsIGxvY2F0b3IsIHRoaXMgY29tbWFuZFxyXG4gKiB3aWxsIHdhaXQgZm9yIHRoZSB3aW5kb3cgdG8gYXBwZWFyIGZpcnN0IHNpbWlsYXJseSB0byBgd2FpdEZvcldpbmRvd2AgY29tbWFuZC4gIFxyXG4gKiAtIGB3aW5kb3dIYW5kbGVgIFN3aXRjaCB0byBhIHdpbmRvdyB1c2luZyBpdHMgdW5pcXVlIGhhbmRsZS5cclxuICogQGZ1bmN0aW9uIHNlbGVjdFdpbmRvd1xyXG4gKiBAcGFyYW0ge1N0cmluZz19IHdpbmRvd0xvY2F0b3IgLSBXaW5kb3cgbG9jYXRvci5cclxuICogQHBhcmFtIHtOdW1iZXI9fSB0aW1lb3V0IC0gVGltZW91dCBpbiBtaWxsaXNlY29uZHMgd2hlbiB1c2luZyAndGl0bGUnIHdpbmRvdyBsb2NhdGluZyBzdHJhdGVneS4gXHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gd2luZG93SGFuZGxlIG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHdpbmRvdy5cclxuICogQGZvciB3ZWJcclxuICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAqIG1vYi5pbml0KCk7Ly8gU3RhcnRzIGEgbW9iaWxlIHNlc3Npb24uXHJcbiAqIG1vYi5vcGVuKFwid3d3LnlvdXJ3ZWJzaXRlLmNvbVwiKTsvLyBPcGVucyBhIHdlYnNpdGUuXHJcbiAqIG1vYi5zZWxlY3RXaW5kb3coXCJ0aXRsZT1XZWJzaXRlXCIpOy8vIFNlbGVjdHMgYW5kIGZvY3VzIGEgd2luZG93LiBcclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZWxlY3RXaW5kb3cod2luZG93TG9jYXRvciwgdGltZW91dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50KHdpbmRvd0xvY2F0b3IsICd3aW5kb3dMb2NhdG9yJyk7XHJcbiAgICB2YXIgY3VycmVudEhhbmRsZTtcclxuICAgIHZhciBjdXJyZW50SGFuZGxlVGl0bGU7XHJcbiAgICB2YXIgY3VycmVudEhhbmRsZVVybDtcclxuICAgIHZhciBzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnID0gJ1VuYWJsZSB0byBzd2l0Y2ggdG8gcHJldmlvdXMgc2VsZWN0ZWQgd2luZG93JztcclxuXHJcbiAgICAvLyBnZXRXaW5kb3dIYW5kbGUoKSBjb3VsZCBwb3NzaWJseSBmYWlsIGlmIHRoZXJlIGlzIG5vIGFjdGl2ZSB3aW5kb3csXHJcbiAgICAvLyBzbyB3ZSBzZWxlY3QgdGhlIGxhc3Qgb3BlbmVkIG9uZSBpbiBzdWNoIGNhc2VcclxuICAgIHRyeSB7XHJcbiAgICAgICAgY3VycmVudEhhbmRsZSA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZSgpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgdmFyIHduZHMgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRXaW5kb3dIYW5kbGVzKCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3cod25kc1t3bmRzLmxlbmd0aCAtIDFdKTtcclxuICAgICAgICBjdXJyZW50SGFuZGxlID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0V2luZG93SGFuZGxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGN1cnJlbnRIYW5kbGUpIHtcclxuICAgICAgICBjdXJyZW50SGFuZGxlVGl0bGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRUaXRsZSgpO1xyXG4gICAgICAgIGN1cnJlbnRIYW5kbGVVcmwgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRVcmwoKTtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgd2luZG93SGFuZGxlcztcclxuICAgIGlmICh3aW5kb3dMb2NhdG9yLmluZGV4T2YoJ3RpdGxlPScpID09PSAwKSB7XHJcbiAgICAgICAgbGV0IHBhdHRlcm4gPSB3aW5kb3dMb2NhdG9yLnN1YnN0cmluZygndGl0bGU9Jy5sZW5ndGgpO1xyXG4gICAgICAgIGxldCBzdGFydCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGltZW91dCA9ICF0aW1lb3V0ID8gdGhpcy53YWl0Rm9yVGltZW91dCA6IHRpbWVvdXQ7XHJcbiAgICAgICAgd2hpbGUgKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSBzdGFydCA8IHRpbWVvdXQpIHtcclxuICAgICAgICAgICAgd2luZG93SGFuZGxlcyA9IGF3YWl0IHRoaXMuZHJpdmVyLmdldFdpbmRvd0hhbmRsZXMoKTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aW5kb3dIYW5kbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaGFuZGxlID0gd2luZG93SGFuZGxlc1tpXTtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoVG9XaW5kb3coaGFuZGxlKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgeyAvLyBpbiBjYXNlIHdpbmRvdyB3YXMgY2xvc2VkXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRUaXRsZSgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaGVscGVycy5tYXRjaFBhdHRlcm4odGl0bGUsIHBhdHRlcm4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRIYW5kbGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5wYXVzZSgxMDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIC8vIGlmIHdpbmRvdyBub3QgZm91bmQgLSBzd2l0Y2ggdG8gb3JpZ2luYWwgb25lIGFuZCB0aHJvd1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyhjdXJyZW50SGFuZGxlKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHsgLy8gaW4gY2FzZSB3aW5kb3cgd2FzIGNsb3NlZFxyXG5cclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRIYW5kbGVUaXRsZSkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyArPSBgOiAke2N1cnJlbnRIYW5kbGVUaXRsZX1gO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5XSU5ET1dfTk9UX0ZPVU5ELCBzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgYFVuYWJsZSB0byBmaW5kIHdpbmRvdzogJHt3aW5kb3dMb2NhdG9yfWApO1xyXG4gICAgfSBlbHNlIGlmICh3aW5kb3dMb2NhdG9yLmluZGV4T2YoJ3VybD0nKSA9PT0gMCkge1xyXG4gICAgICAgIGxldCBwYXR0ZXJuID0gd2luZG93TG9jYXRvci5zdWJzdHJpbmcoJ3VybD0nLmxlbmd0aCk7XHJcbiAgICAgICAgbGV0IHN0YXJ0ID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcclxuICAgICAgICB0aW1lb3V0ID0gIXRpbWVvdXQgPyB0aGlzLndhaXRGb3JUaW1lb3V0IDogdGltZW91dDtcclxuICAgICAgICB3aGlsZSAoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAtIHN0YXJ0IDwgdGltZW91dCkge1xyXG4gICAgICAgICAgICB3aW5kb3dIYW5kbGVzID0gYXdhaXQgdGhpcy5kcml2ZXIuZ2V0V2luZG93SGFuZGxlcygpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdpbmRvd0hhbmRsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGxldCBoYW5kbGUgPSB3aW5kb3dIYW5kbGVzW2ldO1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyhoYW5kbGUpO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7IC8vIGluIGNhc2Ugd2luZG93IHdhcyBjbG9zZWRcclxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB1cmwgPSBhd2FpdCB0aGlzLmRyaXZlci5nZXRVcmwoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhlbHBlcnMubWF0Y2hQYXR0ZXJuKHVybCwgcGF0dGVybikpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudEhhbmRsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBhdXNlKDEwMDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLy8gaWYgd2luZG93IG5vdCBmb3VuZCAtIHN3aXRjaCB0byBvcmlnaW5hbCBvbmUgYW5kIHRocm93XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaFRvV2luZG93KGN1cnJlbnRIYW5kbGUpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudEhhbmRsZVVybCkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGhUb0N1cnJlbnRIYW5kbGVFcnJvck1zZyArPSBgOiAke2N1cnJlbnRIYW5kbGVVcmx9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgdGhpcy5PeEVycm9yKHRoaXMuZXJySGVscGVyLmVycm9yQ29kZS5XSU5ET1dfTk9UX0ZPVU5ELCBzd2l0aFRvQ3VycmVudEhhbmRsZUVycm9yTXNnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgYFVuYWJsZSB0byBmaW5kIHdpbmRvdzogJHt3aW5kb3dMb2NhdG9yfWApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zd2l0Y2hUb1dpbmRvdyh3aW5kb3dMb2NhdG9yKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IHRoaXMuT3hFcnJvcih0aGlzLmVyckhlbHBlci5lcnJvckNvZGUuV0lORE9XX05PVF9GT1VORCwgZXJyLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3VycmVudEhhbmRsZTtcclxufSJdfQ==
|
|
@@ -7,30 +7,30 @@ exports.sendKeys = sendKeys;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Send a sequence of keyboard strokes to the active window or element.
|
|
21
|
-
* @description Refer to [Key Codes](https://w3c.github.io/webdriver/#keyboard-actions)
|
|
22
|
-
* for the list of supported raw keyboard key codes.
|
|
23
|
-
* @function sendKeys
|
|
24
|
-
* @param {(String|String[])} value - Sequence of key strokes to send. Can be either a string or an
|
|
25
|
-
* array of strings for sending raw key codes.
|
|
26
|
-
* @for android, ios, hybrid, web
|
|
27
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
28
|
-
* mob.init();//Opens browser session.
|
|
29
|
-
* mob.open("www.yourwebsite.com");// Opens a website.
|
|
30
|
-
* mob.sendKeys("Hello World");
|
|
31
|
-
* mob.sendKeys(["Backspace", "Backspace", "Enter"]); // send two Backspace key codes and Enter.
|
|
32
|
-
* // Unicode representation can be used directly as well:
|
|
33
|
-
* mob.sendKeys("Hello World\uE003\uE003\uE007");
|
|
19
|
+
/**
|
|
20
|
+
* @summary Send a sequence of keyboard strokes to the active window or element.
|
|
21
|
+
* @description Refer to [Key Codes](https://w3c.github.io/webdriver/#keyboard-actions)
|
|
22
|
+
* for the list of supported raw keyboard key codes.
|
|
23
|
+
* @function sendKeys
|
|
24
|
+
* @param {(String|String[])} value - Sequence of key strokes to send. Can be either a string or an
|
|
25
|
+
* array of strings for sending raw key codes.
|
|
26
|
+
* @for android, ios, hybrid, web
|
|
27
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
28
|
+
* mob.init();//Opens browser session.
|
|
29
|
+
* mob.open("www.yourwebsite.com");// Opens a website.
|
|
30
|
+
* mob.sendKeys("Hello World");
|
|
31
|
+
* mob.sendKeys(["Backspace", "Backspace", "Enter"]); // send two Backspace key codes and Enter.
|
|
32
|
+
* // Unicode representation can be used directly as well:
|
|
33
|
+
* mob.sendKeys("Hello World\uE003\uE003\uE007");
|
|
34
34
|
*/
|
|
35
35
|
var checkUnicode = require('webdriverio/build/utils').checkUnicode;
|
|
36
36
|
|
|
@@ -41,8 +41,8 @@ async function sendKeys(value) {
|
|
|
41
41
|
// and `keys` crashes.
|
|
42
42
|
// thus, do same thing as WDIO except releaseActions
|
|
43
43
|
|
|
44
|
-
/*
|
|
45
|
-
* replace key with corresponding unicode character
|
|
44
|
+
/*
|
|
45
|
+
* replace key with corresponding unicode character
|
|
46
46
|
*/
|
|
47
47
|
|
|
48
48
|
if (typeof value === 'string') {
|
|
@@ -58,8 +58,8 @@ async function sendKeys(value) {
|
|
|
58
58
|
} else {
|
|
59
59
|
throw new Error('"keys" command requires a string or array of strings as parameter');
|
|
60
60
|
}
|
|
61
|
-
/*
|
|
62
|
-
* JsonWireProtocol action
|
|
61
|
+
/*
|
|
62
|
+
* JsonWireProtocol action
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
65
|
|
|
@@ -67,8 +67,8 @@ async function sendKeys(value) {
|
|
|
67
67
|
await this.driver.sendKeys(keySequence);
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
/*
|
|
71
|
-
* W3C way of handle it key actions
|
|
70
|
+
/*
|
|
71
|
+
* W3C way of handle it key actions
|
|
72
72
|
*/
|
|
73
73
|
|
|
74
74
|
|
|
@@ -86,4 +86,4 @@ async function sendKeys(value) {
|
|
|
86
86
|
actions: [...keyDownActions, ...keyUpActions]
|
|
87
87
|
}]);
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2VuZEtleXMuanMiXSwibmFtZXMiOlsiY2hlY2tVbmljb2RlIiwicmVxdWlyZSIsInNlbmRLZXlzIiwidmFsdWUiLCJoZWxwZXJzIiwiYXNzZXJ0QXJndW1lbnQiLCJrZXlTZXF1ZW5jZSIsIkFycmF5IiwiaXNBcnJheSIsImNoYXJTZXQiLCJjb25jYXQiLCJFcnJvciIsImRyaXZlciIsImlzVzNDIiwia2V5RG93bkFjdGlvbnMiLCJtYXAiLCJ0eXBlIiwia2V5VXBBY3Rpb25zIiwicGVyZm9ybUFjdGlvbnMiLCJpZCIsImFjdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxZQUFZLEdBQUdDLE9BQU8sQ0FBQyx5QkFBRCxDQUFQLENBQW1DRCxZQUF0RDs7QUFFTyxlQUFlRSxRQUFmLENBQXdCQyxLQUF4QixFQUErQjtBQUNsQyxPQUFLQyxPQUFMLENBQWFDLGNBQWIsQ0FBNEJGLEtBQTVCLEVBQW1DLE9BQW5DO0FBRUEsTUFBSUcsV0FBVyxHQUFHLEVBQWxCLENBSGtDLENBS2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0o7QUFDQTs7QUFDSSxNQUFJLE9BQU9ILEtBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDM0JHLElBQUFBLFdBQVcsR0FBR04sWUFBWSxDQUFDRyxLQUFELENBQTFCO0FBQ0gsR0FGRCxNQUVPLElBQUlJLEtBQUssQ0FBQ0MsT0FBTixDQUFjTCxLQUFkLENBQUosRUFBMEI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFLLE1BQU1NLE9BQVgsSUFBc0JOLEtBQXRCLEVBQTZCO0FBQ3pCRyxNQUFBQSxXQUFXLEdBQUdBLFdBQVcsQ0FBQ0ksTUFBWixDQUFtQlYsWUFBWSxDQUFDUyxPQUFELENBQS9CLENBQWQ7QUFDSDtBQUNKLEdBUk0sTUFRQTtBQUNILFVBQU0sSUFBSUUsS0FBSixDQUFVLG1FQUFWLENBQU47QUFDSDtBQUVEO0FBQ0o7QUFDQTs7O0FBQ0ksTUFBSSxDQUFDLEtBQUtDLE1BQUwsQ0FBWUMsS0FBakIsRUFBd0I7QUFDcEIsVUFBTSxLQUFLRCxNQUFMLENBQVlWLFFBQVosQ0FBcUJJLFdBQXJCLENBQU47QUFDQTtBQUNIO0FBRUQ7QUFDSjtBQUNBOzs7QUFDSSxRQUFNUSxjQUFjLEdBQUdSLFdBQVcsQ0FBQ1MsR0FBWixDQUFpQlosS0FBRCxLQUFZO0FBQUVhLElBQUFBLElBQUksRUFBRSxTQUFSO0FBQW1CYixJQUFBQTtBQUFuQixHQUFaLENBQWhCLENBQXZCO0FBQ0EsUUFBTWMsWUFBWSxHQUFHWCxXQUFXLENBQUNTLEdBQVosQ0FBaUJaLEtBQUQsS0FBWTtBQUFFYSxJQUFBQSxJQUFJLEVBQUUsT0FBUjtBQUFpQmIsSUFBQUE7QUFBakIsR0FBWixDQUFoQixDQUFyQjtBQUVBLFFBQU0sS0FBS1MsTUFBTCxDQUFZTSxjQUFaLENBQTJCLENBQUM7QUFDOUJGLElBQUFBLElBQUksRUFBRSxLQUR3QjtBQUU5QkcsSUFBQUEsRUFBRSxFQUFFLFVBRjBCO0FBRzlCQyxJQUFBQSxPQUFPLEVBQUUsQ0FBQyxHQUFHTixjQUFKLEVBQW9CLEdBQUdHLFlBQXZCO0FBSHFCLEdBQUQsQ0FBM0IsQ0FBTjtBQUtIIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQHN1bW1hcnkgU2VuZCBhIHNlcXVlbmNlIG9mIGtleWJvYXJkIHN0cm9rZXMgdG8gdGhlIGFjdGl2ZSB3aW5kb3cgb3IgZWxlbWVudC5cclxuICogQGRlc2NyaXB0aW9uIFJlZmVyIHRvIFtLZXkgQ29kZXNdKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvI2tleWJvYXJkLWFjdGlvbnMpXHJcbiAqICAgICAgICAgICAgICBmb3IgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIHJhdyBrZXlib2FyZCBrZXkgY29kZXMuXHJcbiAqIEBmdW5jdGlvbiBzZW5kS2V5c1xyXG4gKiBAcGFyYW0geyhTdHJpbmd8U3RyaW5nW10pfSB2YWx1ZSAtIFNlcXVlbmNlIG9mIGtleSBzdHJva2VzIHRvIHNlbmQuIENhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gXHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5IG9mIHN0cmluZ3MgZm9yIHNlbmRpbmcgcmF3IGtleSBjb2Rlcy5cclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdCgpOy8vT3BlbnMgYnJvd3NlciBzZXNzaW9uLlxyXG4gKiBtb2Iub3BlbihcInd3dy55b3Vyd2Vic2l0ZS5jb21cIik7Ly8gT3BlbnMgYSB3ZWJzaXRlLlxyXG4gKiBtb2Iuc2VuZEtleXMoXCJIZWxsbyBXb3JsZFwiKTtcclxuICogbW9iLnNlbmRLZXlzKFtcIkJhY2tzcGFjZVwiLCBcIkJhY2tzcGFjZVwiLCBcIkVudGVyXCJdKTsgLy8gc2VuZCB0d28gQmFja3NwYWNlIGtleSBjb2RlcyBhbmQgRW50ZXIuXHJcbiAqIC8vIFVuaWNvZGUgcmVwcmVzZW50YXRpb24gY2FuIGJlIHVzZWQgZGlyZWN0bHkgYXMgd2VsbDpcclxuICogbW9iLnNlbmRLZXlzKFwiSGVsbG8gV29ybGRcXHVFMDAzXFx1RTAwM1xcdUUwMDdcIik7XHJcbiovXHJcbnZhciBjaGVja1VuaWNvZGUgPSByZXF1aXJlKCd3ZWJkcml2ZXJpby9idWlsZC91dGlscycpLmNoZWNrVW5pY29kZTtcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kS2V5cyh2YWx1ZSkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50KHZhbHVlLCAndmFsdWUnKTtcclxuXHJcbiAgICBsZXQga2V5U2VxdWVuY2UgPSBbXTtcclxuXHJcbiAgICAvLyBXRElPIGltcGxtZW50YXRpb24gb2Yga2V5cyBjb21tYW5kIGludm9rZXMgJ3JlbGVhc2VBY3Rpb25zJyBmb3IgVzNDLlxyXG4gICAgLy8gSG93ZXZlciAnIERFTEVURSAvd2QvaHViL3Nlc3Npb24vKi9hY3Rpb25zJyBpcyBub3QgaW1wbG1lbmV0ZWQgYXQgdGhlIHZlcnkgbGVhc3QgaW4gdWlhdG9tYXRvcjJcclxuICAgIC8vIGFuZCBga2V5c2AgY3Jhc2hlcy5cclxuICAgIC8vIHRodXMsIGRvIHNhbWUgdGhpbmcgYXMgV0RJTyBleGNlcHQgcmVsZWFzZUFjdGlvbnNcclxuXHJcbiAgICAvKlxyXG4gICAgICogcmVwbGFjZSBrZXkgd2l0aCBjb3JyZXNwb25kaW5nIHVuaWNvZGUgY2hhcmFjdGVyXHJcbiAgICAgKi9cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAga2V5U2VxdWVuY2UgPSBjaGVja1VuaWNvZGUodmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIC8vIGBpbnN0YW5jZW9mIEFycmF5YCBiZWhhdmVzIHN0cmFuZ2Ugd2hlbiBleGVjdXRlZCB0aHJvdWdoIHZtLnJ1bkluTmV3Q29udGV4dCxcclxuICAgICAgICAvLyBpdCByZXR1cm5zIGZhbHNlIGZvciBhcnJheXMgYW5kIGBkcml2ZXIua2V5cygpYCB0ZXN0cyBmb3IgYXJyYXlzIHVzaW5nIGBpbnN0YWNlb2YgQXJyYXlgXHJcbiAgICAgICAgLy8gdGh1cyB3ZSB0ZXN0IHVzaW5nIEFycmF5LmlzQXJyYXkgaW5zdGVhZFxyXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mZWxpeGdlL25vZGUtc2FuZGJveGVkLW1vZHVsZS9pc3N1ZXMvMTMjaXNzdWVjb21tZW50LTI5OTU4NTIxM1xyXG4gICAgICAgIGZvciAoY29uc3QgY2hhclNldCBvZiB2YWx1ZSkge1xyXG4gICAgICAgICAgICBrZXlTZXF1ZW5jZSA9IGtleVNlcXVlbmNlLmNvbmNhdChjaGVja1VuaWNvZGUoY2hhclNldCkpO1xyXG4gICAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImtleXNcIiBjb21tYW5kIHJlcXVpcmVzIGEgc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcGFyYW1ldGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIEpzb25XaXJlUHJvdG9jb2wgYWN0aW9uXHJcbiAgICAgKi9cclxuICAgIGlmICghdGhpcy5kcml2ZXIuaXNXM0MpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5zZW5kS2V5cyhrZXlTZXF1ZW5jZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBXM0Mgd2F5IG9mIGhhbmRsZSBpdCBrZXkgYWN0aW9uc1xyXG4gICAgICovXHJcbiAgICBjb25zdCBrZXlEb3duQWN0aW9ucyA9IGtleVNlcXVlbmNlLm1hcCgodmFsdWUpID0+ICh7IHR5cGU6ICdrZXlEb3duJywgdmFsdWUgfSkpO1xyXG4gICAgY29uc3Qga2V5VXBBY3Rpb25zID0ga2V5U2VxdWVuY2UubWFwKCh2YWx1ZSkgPT4gKHsgdHlwZTogJ2tleVVwJywgdmFsdWUgfSkpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZHJpdmVyLnBlcmZvcm1BY3Rpb25zKFt7XHJcbiAgICAgICAgdHlwZTogJ2tleScsXHJcbiAgICAgICAgaWQ6ICdrZXlib2FyZCcsXHJcbiAgICAgICAgYWN0aW9uczogWy4uLmtleURvd25BY3Rpb25zLCAuLi5rZXlVcEFjdGlvbnNdXHJcbiAgICB9XSk7XHJcbn1cclxuIl19
|
|
@@ -7,27 +7,27 @@ exports.setContext = setContext;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @function setContext
|
|
21
|
-
* @summary Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
|
|
22
|
-
* @param {String} context - The context name.
|
|
23
|
-
* @for android, ios, hybrid, web
|
|
24
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
25
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
26
|
-
* mob.setContext('NATIVE_APP');//Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
|
|
19
|
+
/**
|
|
20
|
+
* @function setContext
|
|
21
|
+
* @summary Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
|
|
22
|
+
* @param {String} context - The context name.
|
|
23
|
+
* @for android, ios, hybrid, web
|
|
24
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
25
|
+
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
26
|
+
* mob.setContext('NATIVE_APP');//Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
|
|
27
27
|
*/
|
|
28
28
|
async function setContext(context) {
|
|
29
29
|
this.helpers.assertArgumentNonEmptyString(context, 'context');
|
|
30
30
|
await this.driver.switchContext(context);
|
|
31
31
|
this.appContext = context;
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0Q29udGV4dC5qcyJdLCJuYW1lcyI6WyJzZXRDb250ZXh0IiwiY29udGV4dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE5vbkVtcHR5U3RyaW5nIiwiZHJpdmVyIiwic3dpdGNoQ29udGV4dCIsImFwcENvbnRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUEsVUFBZixDQUEwQkMsT0FBMUIsRUFBbUM7QUFDdEMsT0FBS0MsT0FBTCxDQUFhQyw0QkFBYixDQUEwQ0YsT0FBMUMsRUFBbUQsU0FBbkQ7QUFDQSxRQUFNLEtBQUtHLE1BQUwsQ0FBWUMsYUFBWixDQUEwQkosT0FBMUIsQ0FBTjtBQUNBLE9BQUtLLFVBQUwsR0FBa0JMLE9BQWxCO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZnVuY3Rpb24gc2V0Q29udGV4dFxyXG4gKiBAc3VtbWFyeSBTZXRzIGEgc3BlY2lmaWMgY29udGV4dCAoTkFUSVZFX0FQUCwgV0VCVklFVywgZXRjLikuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb250ZXh0IC0gVGhlIGNvbnRleHQgbmFtZS5cclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc2V0Q29udGV4dCgnTkFUSVZFX0FQUCcpOy8vU2V0cyBhIHNwZWNpZmljIGNvbnRleHQgKE5BVElWRV9BUFAsIFdFQlZJRVcsIGV0Yy4pLlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldENvbnRleHQoY29udGV4dCkge1xyXG4gICAgdGhpcy5oZWxwZXJzLmFzc2VydEFyZ3VtZW50Tm9uRW1wdHlTdHJpbmcoY29udGV4dCwgJ2NvbnRleHQnKTtcclxuICAgIGF3YWl0IHRoaXMuZHJpdmVyLnN3aXRjaENvbnRleHQoY29udGV4dCk7XHJcbiAgICB0aGlzLmFwcENvbnRleHQgPSBjb250ZXh0O1xyXG59XHJcbiJdfQ==
|
|
@@ -7,25 +7,25 @@ exports.setNativeContext = setNativeContext;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Sets context to NATIVE_APP.
|
|
21
|
-
* @function setNativeContext
|
|
22
|
-
* @for android, ios, hybrid, web
|
|
23
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
-
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
25
|
-
* mob.setNativeContext();//Sets context to NATIVE_APP.
|
|
19
|
+
/**
|
|
20
|
+
* @summary Sets context to NATIVE_APP.
|
|
21
|
+
* @function setNativeContext
|
|
22
|
+
* @for android, ios, hybrid, web
|
|
23
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
24
|
+
* mob.init(caps);//Starts a mobile session and opens app from desired capabilities
|
|
25
|
+
* mob.setNativeContext();//Sets context to NATIVE_APP.
|
|
26
26
|
*/
|
|
27
27
|
async function setNativeContext() {
|
|
28
28
|
await this.driver.switchContext('NATIVE_APP');
|
|
29
29
|
this.appContext = 'NATIVE_APP';
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0TmF0aXZlQ29udGV4dC5qcyJdLCJuYW1lcyI6WyJzZXROYXRpdmVDb250ZXh0IiwiZHJpdmVyIiwic3dpdGNoQ29udGV4dCIsImFwcENvbnRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLGVBQWVBLGdCQUFmLEdBQWtDO0FBQ3JDLFFBQU0sS0FBS0MsTUFBTCxDQUFZQyxhQUFaLENBQTBCLFlBQTFCLENBQU47QUFDQSxPQUFLQyxVQUFMLEdBQWtCLFlBQWxCO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAc3VtbWFyeSBTZXRzIGNvbnRleHQgdG8gTkFUSVZFX0FQUC5cclxuICogQGZ1bmN0aW9uIHNldE5hdGl2ZUNvbnRleHRcclxuICogQGZvciBhbmRyb2lkLCBpb3MsIGh5YnJpZCwgd2ViXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gKiBtb2IuaW5pdChjYXBzKTsvL1N0YXJ0cyBhIG1vYmlsZSBzZXNzaW9uIGFuZCBvcGVucyBhcHAgZnJvbSBkZXNpcmVkIGNhcGFiaWxpdGllc1xyXG4gKiBtb2Iuc2V0TmF0aXZlQ29udGV4dCgpOy8vU2V0cyBjb250ZXh0IHRvIE5BVElWRV9BUFAuXHJcbiovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXROYXRpdmVDb250ZXh0KCkge1xyXG4gICAgYXdhaXQgdGhpcy5kcml2ZXIuc3dpdGNoQ29udGV4dCgnTkFUSVZFX0FQUCcpO1xyXG4gICAgdGhpcy5hcHBDb250ZXh0ID0gJ05BVElWRV9BUFAnO1xyXG59XHJcbiJdfQ==
|
|
@@ -7,32 +7,32 @@ exports.setTimeout = setTimeout;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
-
*
|
|
13
|
-
* This program is free software: you can redistribute it and/or modify
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (C) 2015-present CloudBeat Limited
|
|
12
|
+
*
|
|
13
|
+
* This program is free software: you can redistribute it and/or modify
|
|
14
|
+
* it under the terms of the GNU General Public License as published by
|
|
15
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
16
|
+
* (at your option) any later version.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
* @summary Specifies the amount of time that Oxygen will wait for actions to complete.
|
|
21
|
-
* @description This includes the `open` command, `waitFor*` commands, and commands which wait
|
|
22
|
-
* for elements to appear in DOM or become visible before operating on them.
|
|
23
|
-
* If command wasn't able to complete within the specified period it will fail the
|
|
24
|
-
* test.
|
|
25
|
-
* The default time-out is 60 seconds.
|
|
26
|
-
* @function setTimeout
|
|
27
|
-
* @for android, ios, hybrid, web
|
|
28
|
-
* @param {Number} timeout - A time-out in milliseconds.
|
|
29
|
-
* @example <caption>[javascript] Usage example</caption>
|
|
30
|
-
* mob.init();//Opens browser session.
|
|
31
|
-
* mob.setTimeout(60000);//Sets the time out to amount of milliseconds .
|
|
19
|
+
/**
|
|
20
|
+
* @summary Specifies the amount of time that Oxygen will wait for actions to complete.
|
|
21
|
+
* @description This includes the `open` command, `waitFor*` commands, and commands which wait
|
|
22
|
+
* for elements to appear in DOM or become visible before operating on them.
|
|
23
|
+
* If command wasn't able to complete within the specified period it will fail the
|
|
24
|
+
* test.
|
|
25
|
+
* The default time-out is 60 seconds.
|
|
26
|
+
* @function setTimeout
|
|
27
|
+
* @for android, ios, hybrid, web
|
|
28
|
+
* @param {Number} timeout - A time-out in milliseconds.
|
|
29
|
+
* @example <caption>[javascript] Usage example</caption>
|
|
30
|
+
* mob.init();//Opens browser session.
|
|
31
|
+
* mob.setTimeout(60000);//Sets the time out to amount of milliseconds .
|
|
32
32
|
*/
|
|
33
33
|
async function setTimeout(timeout) {
|
|
34
34
|
this.helpers.assertArgumentNumberNonNegative(timeout, 'timeout');
|
|
35
35
|
this.waitForTimeout = timeout;
|
|
36
36
|
await this.helpers.setTimeoutImplicit(timeout);
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1tb2IvY29tbWFuZHMvc2V0VGltZW91dC5qcyJdLCJuYW1lcyI6WyJzZXRUaW1lb3V0IiwidGltZW91dCIsImhlbHBlcnMiLCJhc3NlcnRBcmd1bWVudE51bWJlck5vbk5lZ2F0aXZlIiwid2FpdEZvclRpbWVvdXQiLCJzZXRUaW1lb3V0SW1wbGljaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLGVBQWVBLFVBQWYsQ0FBMEJDLE9BQTFCLEVBQW1DO0FBQ3RDLE9BQUtDLE9BQUwsQ0FBYUMsK0JBQWIsQ0FBNkNGLE9BQTdDLEVBQXNELFNBQXREO0FBQ0EsT0FBS0csY0FBTCxHQUFzQkgsT0FBdEI7QUFDQSxRQUFNLEtBQUtDLE9BQUwsQ0FBYUcsa0JBQWIsQ0FBZ0NKLE9BQWhDLENBQU47QUFDSCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCBPeHlnZW4gd2lsbCB3YWl0IGZvciBhY3Rpb25zIHRvIGNvbXBsZXRlLlxyXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBpbmNsdWRlcyB0aGUgYG9wZW5gIGNvbW1hbmQsIGB3YWl0Rm9yKmAgY29tbWFuZHMsIGFuZCBjb21tYW5kcyB3aGljaCB3YWl0XHJcbiAqICAgICAgICAgICAgICBmb3IgZWxlbWVudHMgdG8gYXBwZWFyIGluIERPTSBvciBiZWNvbWUgdmlzaWJsZSBiZWZvcmUgb3BlcmF0aW5nIG9uIHRoZW0uICBcclxuICogICAgICAgICAgICAgIElmIGNvbW1hbmQgd2Fzbid0IGFibGUgdG8gY29tcGxldGUgd2l0aGluIHRoZSBzcGVjaWZpZWQgcGVyaW9kIGl0IHdpbGwgZmFpbCB0aGVcclxuICogICAgICAgICAgICAgIHRlc3QuICBcclxuICogICAgICAgICAgICAgIFRoZSBkZWZhdWx0IHRpbWUtb3V0IGlzIDYwIHNlY29uZHMuXHJcbiAqIEBmdW5jdGlvbiBzZXRUaW1lb3V0XHJcbiAqIEBmb3IgYW5kcm9pZCwgaW9zLCBoeWJyaWQsIHdlYlxyXG4gKiBAcGFyYW0ge051bWJlcn0gdGltZW91dCAtIEEgdGltZS1vdXQgaW4gbWlsbGlzZWNvbmRzLlxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5bamF2YXNjcmlwdF0gVXNhZ2UgZXhhbXBsZTwvY2FwdGlvbj5cclxuICogbW9iLmluaXQoKTsvL09wZW5zIGJyb3dzZXIgc2Vzc2lvbi5cclxuICogbW9iLnNldFRpbWVvdXQoNjAwMDApOy8vU2V0cyB0aGUgdGltZSBvdXQgdG8gYW1vdW50IG9mIG1pbGxpc2Vjb25kcyAuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0VGltZW91dCh0aW1lb3V0KSB7XHJcbiAgICB0aGlzLmhlbHBlcnMuYXNzZXJ0QXJndW1lbnROdW1iZXJOb25OZWdhdGl2ZSh0aW1lb3V0LCAndGltZW91dCcpO1xyXG4gICAgdGhpcy53YWl0Rm9yVGltZW91dCA9IHRpbWVvdXQ7XHJcbiAgICBhd2FpdCB0aGlzLmhlbHBlcnMuc2V0VGltZW91dEltcGxpY2l0KHRpbWVvdXQpO1xyXG59XHJcbiJdfQ==
|