@stablyai/internal-playwright-core 0.1.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/LICENSE +202 -0
- package/NOTICE +5 -0
- package/README.md +3 -0
- package/ThirdPartyNotices.txt +1134 -0
- package/bin/install_media_pack.ps1 +5 -0
- package/bin/install_webkit_wsl.ps1 +35 -0
- package/bin/reinstall_chrome_beta_linux.sh +42 -0
- package/bin/reinstall_chrome_beta_mac.sh +13 -0
- package/bin/reinstall_chrome_beta_win.ps1 +24 -0
- package/bin/reinstall_chrome_stable_linux.sh +42 -0
- package/bin/reinstall_chrome_stable_mac.sh +12 -0
- package/bin/reinstall_chrome_stable_win.ps1 +24 -0
- package/bin/reinstall_msedge_beta_linux.sh +48 -0
- package/bin/reinstall_msedge_beta_mac.sh +11 -0
- package/bin/reinstall_msedge_beta_win.ps1 +23 -0
- package/bin/reinstall_msedge_dev_linux.sh +48 -0
- package/bin/reinstall_msedge_dev_mac.sh +11 -0
- package/bin/reinstall_msedge_dev_win.ps1 +23 -0
- package/bin/reinstall_msedge_stable_linux.sh +48 -0
- package/bin/reinstall_msedge_stable_mac.sh +11 -0
- package/bin/reinstall_msedge_stable_win.ps1 +24 -0
- package/browsers.json +80 -0
- package/cli.js +18 -0
- package/index.d.ts +17 -0
- package/index.js +32 -0
- package/index.mjs +28 -0
- package/lib/androidServerImpl.js +65 -0
- package/lib/browserServerImpl.js +120 -0
- package/lib/cli/cli.js +58 -0
- package/lib/cli/driver.js +97 -0
- package/lib/cli/program.js +634 -0
- package/lib/cli/programWithTestStub.js +74 -0
- package/lib/client/accessibility.js +49 -0
- package/lib/client/android.js +361 -0
- package/lib/client/api.js +137 -0
- package/lib/client/artifact.js +79 -0
- package/lib/client/browser.js +163 -0
- package/lib/client/browserContext.js +529 -0
- package/lib/client/browserType.js +184 -0
- package/lib/client/cdpSession.js +51 -0
- package/lib/client/channelOwner.js +194 -0
- package/lib/client/clientHelper.js +64 -0
- package/lib/client/clientInstrumentation.js +55 -0
- package/lib/client/clientStackTrace.js +69 -0
- package/lib/client/clock.js +68 -0
- package/lib/client/connection.js +314 -0
- package/lib/client/consoleMessage.js +54 -0
- package/lib/client/coverage.js +44 -0
- package/lib/client/dialog.js +56 -0
- package/lib/client/download.js +62 -0
- package/lib/client/electron.js +138 -0
- package/lib/client/elementHandle.js +281 -0
- package/lib/client/errors.js +77 -0
- package/lib/client/eventEmitter.js +314 -0
- package/lib/client/events.js +99 -0
- package/lib/client/fetch.js +369 -0
- package/lib/client/fileChooser.js +46 -0
- package/lib/client/fileUtils.js +34 -0
- package/lib/client/frame.js +408 -0
- package/lib/client/harRouter.js +87 -0
- package/lib/client/input.js +84 -0
- package/lib/client/jsHandle.js +109 -0
- package/lib/client/jsonPipe.js +39 -0
- package/lib/client/localUtils.js +60 -0
- package/lib/client/locator.js +368 -0
- package/lib/client/network.js +747 -0
- package/lib/client/page.js +721 -0
- package/lib/client/platform.js +74 -0
- package/lib/client/playwright.js +71 -0
- package/lib/client/selectors.js +55 -0
- package/lib/client/stream.js +39 -0
- package/lib/client/timeoutSettings.js +79 -0
- package/lib/client/tracing.js +117 -0
- package/lib/client/types.js +28 -0
- package/lib/client/video.js +59 -0
- package/lib/client/waiter.js +142 -0
- package/lib/client/webError.js +39 -0
- package/lib/client/webSocket.js +93 -0
- package/lib/client/worker.js +63 -0
- package/lib/client/writableStream.js +39 -0
- package/lib/common/debugLogger.js +90 -0
- package/lib/common/socksProxy.js +569 -0
- package/lib/common/timeoutSettings.js +73 -0
- package/lib/common/types.js +5 -0
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +28 -0
- package/lib/generated/consoleApiSource.js +28 -0
- package/lib/generated/injectedScriptSource.js +28 -0
- package/lib/generated/pollingRecorderSource.js +28 -0
- package/lib/generated/recorderSource.js +28 -0
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +28 -0
- package/lib/generated/webSocketMockSource.js +336 -0
- package/lib/image_tools/colorUtils.js +98 -0
- package/lib/image_tools/compare.js +108 -0
- package/lib/image_tools/imageChannel.js +70 -0
- package/lib/image_tools/stats.js +102 -0
- package/lib/inProcessFactory.js +60 -0
- package/lib/index.js +19 -0
- package/lib/inprocess.js +3 -0
- package/lib/outofprocess.js +76 -0
- package/lib/protocol/debug.js +27 -0
- package/lib/protocol/serializers.js +192 -0
- package/lib/protocol/transport.js +82 -0
- package/lib/protocol/validator.js +2919 -0
- package/lib/protocol/validatorPrimitives.js +193 -0
- package/lib/remote/playwrightConnection.js +129 -0
- package/lib/remote/playwrightServer.js +335 -0
- package/lib/server/accessibility.js +69 -0
- package/lib/server/android/android.js +465 -0
- package/lib/server/android/backendAdb.js +177 -0
- package/lib/server/artifact.js +127 -0
- package/lib/server/bidi/bidiBrowser.js +490 -0
- package/lib/server/bidi/bidiChromium.js +153 -0
- package/lib/server/bidi/bidiConnection.js +212 -0
- package/lib/server/bidi/bidiExecutionContext.js +221 -0
- package/lib/server/bidi/bidiFirefox.js +130 -0
- package/lib/server/bidi/bidiInput.js +146 -0
- package/lib/server/bidi/bidiNetworkManager.js +383 -0
- package/lib/server/bidi/bidiOverCdp.js +102 -0
- package/lib/server/bidi/bidiPage.js +552 -0
- package/lib/server/bidi/bidiPdf.js +106 -0
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +98 -0
- package/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
- package/lib/server/bidi/third_party/bidiProtocol.js +24 -0
- package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +148 -0
- package/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
- package/lib/server/browser.js +149 -0
- package/lib/server/browserContext.js +695 -0
- package/lib/server/browserType.js +328 -0
- package/lib/server/callLog.js +82 -0
- package/lib/server/chromium/appIcon.png +0 -0
- package/lib/server/chromium/chromium.js +402 -0
- package/lib/server/chromium/chromiumSwitches.js +95 -0
- package/lib/server/chromium/crAccessibility.js +263 -0
- package/lib/server/chromium/crBrowser.js +501 -0
- package/lib/server/chromium/crConnection.js +202 -0
- package/lib/server/chromium/crCoverage.js +235 -0
- package/lib/server/chromium/crDevTools.js +113 -0
- package/lib/server/chromium/crDragDrop.js +131 -0
- package/lib/server/chromium/crExecutionContext.js +146 -0
- package/lib/server/chromium/crInput.js +187 -0
- package/lib/server/chromium/crNetworkManager.js +666 -0
- package/lib/server/chromium/crPage.js +1069 -0
- package/lib/server/chromium/crPdf.js +121 -0
- package/lib/server/chromium/crProtocolHelper.js +145 -0
- package/lib/server/chromium/crServiceWorker.js +123 -0
- package/lib/server/chromium/defaultFontFamilies.js +162 -0
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +113 -0
- package/lib/server/clock.js +149 -0
- package/lib/server/codegen/csharp.js +327 -0
- package/lib/server/codegen/java.js +274 -0
- package/lib/server/codegen/javascript.js +270 -0
- package/lib/server/codegen/jsonl.js +52 -0
- package/lib/server/codegen/language.js +132 -0
- package/lib/server/codegen/languages.js +68 -0
- package/lib/server/codegen/python.js +279 -0
- package/lib/server/codegen/types.js +16 -0
- package/lib/server/console.js +53 -0
- package/lib/server/cookieStore.js +206 -0
- package/lib/server/debugController.js +191 -0
- package/lib/server/debugger.js +119 -0
- package/lib/server/deviceDescriptors.js +39 -0
- package/lib/server/deviceDescriptorsSource.json +1779 -0
- package/lib/server/dialog.js +116 -0
- package/lib/server/dispatchers/androidDispatcher.js +325 -0
- package/lib/server/dispatchers/artifactDispatcher.js +118 -0
- package/lib/server/dispatchers/browserContextDispatcher.js +364 -0
- package/lib/server/dispatchers/browserDispatcher.js +118 -0
- package/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
- package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
- package/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
- package/lib/server/dispatchers/dialogDispatcher.js +47 -0
- package/lib/server/dispatchers/dispatcher.js +371 -0
- package/lib/server/dispatchers/electronDispatcher.js +89 -0
- package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
- package/lib/server/dispatchers/frameDispatcher.js +227 -0
- package/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
- package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
- package/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
- package/lib/server/dispatchers/networkDispatchers.js +213 -0
- package/lib/server/dispatchers/pageDispatcher.js +401 -0
- package/lib/server/dispatchers/playwrightDispatcher.js +108 -0
- package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
- package/lib/server/dispatchers/streamDispatcher.js +67 -0
- package/lib/server/dispatchers/tracingDispatcher.js +68 -0
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
- package/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
- package/lib/server/dom.js +806 -0
- package/lib/server/download.js +70 -0
- package/lib/server/electron/electron.js +270 -0
- package/lib/server/electron/loader.js +29 -0
- package/lib/server/errors.js +69 -0
- package/lib/server/fetch.js +621 -0
- package/lib/server/fileChooser.js +43 -0
- package/lib/server/fileUploadUtils.js +84 -0
- package/lib/server/firefox/ffAccessibility.js +238 -0
- package/lib/server/firefox/ffBrowser.js +428 -0
- package/lib/server/firefox/ffConnection.js +147 -0
- package/lib/server/firefox/ffExecutionContext.js +150 -0
- package/lib/server/firefox/ffInput.js +159 -0
- package/lib/server/firefox/ffNetworkManager.js +256 -0
- package/lib/server/firefox/ffPage.js +503 -0
- package/lib/server/firefox/firefox.js +116 -0
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +147 -0
- package/lib/server/frameSelectors.js +156 -0
- package/lib/server/frames.js +1502 -0
- package/lib/server/har/harRecorder.js +147 -0
- package/lib/server/har/harTracer.js +607 -0
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +96 -0
- package/lib/server/index.js +58 -0
- package/lib/server/input.js +273 -0
- package/lib/server/instrumentation.js +69 -0
- package/lib/server/isomorphic/utilityScriptSerializers.js +212 -0
- package/lib/server/javascript.js +291 -0
- package/lib/server/launchApp.js +128 -0
- package/lib/server/localUtils.js +218 -0
- package/lib/server/macEditingCommands.js +143 -0
- package/lib/server/network.js +629 -0
- package/lib/server/page.js +871 -0
- package/lib/server/pipeTransport.js +89 -0
- package/lib/server/playwright.js +69 -0
- package/lib/server/progress.js +112 -0
- package/lib/server/protocolError.js +52 -0
- package/lib/server/recorder/chat.js +161 -0
- package/lib/server/recorder/codeGenerator.js +153 -0
- package/lib/server/recorder/csharp.js +310 -0
- package/lib/server/recorder/java.js +248 -0
- package/lib/server/recorder/javascript.js +229 -0
- package/lib/server/recorder/jsonl.js +47 -0
- package/lib/server/recorder/language.js +44 -0
- package/lib/server/recorder/python.js +276 -0
- package/lib/server/recorder/recorderActions.js +5 -0
- package/lib/server/recorder/recorderApp.js +387 -0
- package/lib/server/recorder/recorderRunner.js +138 -0
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +157 -0
- package/lib/server/recorder/throttledFile.js +57 -0
- package/lib/server/recorder/utils.js +45 -0
- package/lib/server/recorder.js +499 -0
- package/lib/server/registry/browserFetcher.js +175 -0
- package/lib/server/registry/dependencies.js +371 -0
- package/lib/server/registry/index.js +1331 -0
- package/lib/server/registry/nativeDeps.js +1280 -0
- package/lib/server/registry/oopDownloadBrowserMain.js +120 -0
- package/lib/server/screenshotter.js +333 -0
- package/lib/server/selectors.js +112 -0
- package/lib/server/socksClientCertificatesInterceptor.js +383 -0
- package/lib/server/socksInterceptor.js +95 -0
- package/lib/server/stably/ai-tools/http-request.js +70 -0
- package/lib/server/stably/ai-tools/stablyApiCaller.js +137 -0
- package/lib/server/stably/autohealing/elementHandleFromCoordinates.js +64 -0
- package/lib/server/stably/autohealing/healingService.js +228 -0
- package/lib/server/stably/autohealing/screenshotFrame.js +41 -0
- package/lib/server/stably/constants.js +31 -0
- package/lib/server/trace/recorder/snapshotter.js +147 -0
- package/lib/server/trace/recorder/snapshotterInjected.js +541 -0
- package/lib/server/trace/recorder/tracing.js +602 -0
- package/lib/server/trace/test/inMemorySnapshotter.js +87 -0
- package/lib/server/trace/viewer/traceViewer.js +240 -0
- package/lib/server/transport.js +181 -0
- package/lib/server/types.js +28 -0
- package/lib/server/usKeyboardLayout.js +145 -0
- package/lib/server/utils/ascii.js +44 -0
- package/lib/server/utils/comparators.js +161 -0
- package/lib/server/utils/crypto.js +216 -0
- package/lib/server/utils/debug.js +42 -0
- package/lib/server/utils/debugLogger.js +122 -0
- package/lib/server/utils/env.js +73 -0
- package/lib/server/utils/eventsHelper.js +39 -0
- package/lib/server/utils/expectUtils.js +38 -0
- package/lib/server/utils/fileUtils.js +191 -0
- package/lib/server/utils/happyEyeballs.js +207 -0
- package/lib/server/utils/hostPlatform.js +111 -0
- package/lib/server/utils/httpServer.js +218 -0
- package/lib/server/utils/image_tools/colorUtils.js +89 -0
- package/lib/server/utils/image_tools/compare.js +109 -0
- package/lib/server/utils/image_tools/imageChannel.js +78 -0
- package/lib/server/utils/image_tools/stats.js +102 -0
- package/lib/server/utils/linuxUtils.js +71 -0
- package/lib/server/utils/network.js +233 -0
- package/lib/server/utils/nodePlatform.js +148 -0
- package/lib/server/utils/pipeTransport.js +84 -0
- package/lib/server/utils/processLauncher.js +241 -0
- package/lib/server/utils/profiler.js +65 -0
- package/lib/server/utils/socksProxy.js +511 -0
- package/lib/server/utils/spawnAsync.js +41 -0
- package/lib/server/utils/task.js +51 -0
- package/lib/server/utils/userAgent.js +98 -0
- package/lib/server/utils/wsServer.js +121 -0
- package/lib/server/utils/zipFile.js +74 -0
- package/lib/server/utils/zones.js +57 -0
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +119 -0
- package/lib/server/webkit/wkAccessibility.js +237 -0
- package/lib/server/webkit/wkBrowser.js +339 -0
- package/lib/server/webkit/wkConnection.js +149 -0
- package/lib/server/webkit/wkExecutionContext.js +154 -0
- package/lib/server/webkit/wkInput.js +181 -0
- package/lib/server/webkit/wkInterceptableRequest.js +169 -0
- package/lib/server/webkit/wkPage.js +1134 -0
- package/lib/server/webkit/wkProvisionalPage.js +83 -0
- package/lib/server/webkit/wkWorkers.js +104 -0
- package/lib/server/webkit/wsl/webkit-wsl-transport-client.js +74 -0
- package/lib/server/webkit/wsl/webkit-wsl-transport-server.js +113 -0
- package/lib/third_party/diff_match_patch.js +2222 -0
- package/lib/third_party/pixelmatch.js +255 -0
- package/lib/utils/ascii.js +31 -0
- package/lib/utils/comparators.js +171 -0
- package/lib/utils/crypto.js +33 -0
- package/lib/utils/debug.js +46 -0
- package/lib/utils/debugLogger.js +89 -0
- package/lib/utils/env.js +49 -0
- package/lib/utils/eventsHelper.js +38 -0
- package/lib/utils/fileUtils.js +205 -0
- package/lib/utils/glob.js +83 -0
- package/lib/utils/happy-eyeballs.js +160 -0
- package/lib/utils/headers.js +52 -0
- package/lib/utils/hostPlatform.js +128 -0
- package/lib/utils/httpServer.js +236 -0
- package/lib/utils/index.js +346 -0
- package/lib/utils/isomorphic/ariaSnapshot.js +392 -0
- package/lib/utils/isomorphic/assert.js +31 -0
- package/lib/utils/isomorphic/colors.js +72 -0
- package/lib/utils/isomorphic/cssParser.js +245 -0
- package/lib/utils/isomorphic/cssTokenizer.js +1051 -0
- package/lib/utils/isomorphic/headers.js +53 -0
- package/lib/utils/isomorphic/locatorGenerators.js +673 -0
- package/lib/utils/isomorphic/locatorParser.js +176 -0
- package/lib/utils/isomorphic/locatorUtils.js +81 -0
- package/lib/utils/isomorphic/manualPromise.js +114 -0
- package/lib/utils/isomorphic/mimeType.js +459 -0
- package/lib/utils/isomorphic/multimap.js +80 -0
- package/lib/utils/isomorphic/protocolFormatter.js +78 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/rtti.js +43 -0
- package/lib/utils/isomorphic/selectorParser.js +386 -0
- package/lib/utils/isomorphic/semaphore.js +54 -0
- package/lib/utils/isomorphic/stackTrace.js +158 -0
- package/lib/utils/isomorphic/stringUtils.js +155 -0
- package/lib/utils/isomorphic/time.js +49 -0
- package/lib/utils/isomorphic/timeoutRunner.js +66 -0
- package/lib/utils/isomorphic/traceUtils.js +58 -0
- package/lib/utils/isomorphic/types.js +16 -0
- package/lib/utils/isomorphic/urlMatch.js +176 -0
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
- package/lib/utils/linuxUtils.js +78 -0
- package/lib/utils/manualPromise.js +109 -0
- package/lib/utils/mimeType.js +29 -0
- package/lib/utils/multimap.js +75 -0
- package/lib/utils/network.js +188 -0
- package/lib/utils/processLauncher.js +248 -0
- package/lib/utils/profiler.js +53 -0
- package/lib/utils/rtti.js +44 -0
- package/lib/utils/semaphore.js +51 -0
- package/lib/utils/spawnAsync.js +45 -0
- package/lib/utils/stackTrace.js +121 -0
- package/lib/utils/task.js +58 -0
- package/lib/utils/time.js +37 -0
- package/lib/utils/timeoutRunner.js +66 -0
- package/lib/utils/traceUtils.js +44 -0
- package/lib/utils/userAgent.js +105 -0
- package/lib/utils/wsServer.js +127 -0
- package/lib/utils/zipFile.js +75 -0
- package/lib/utils/zones.js +62 -0
- package/lib/utils.js +107 -0
- package/lib/utilsBundle.js +109 -0
- package/lib/utilsBundleImpl/index.js +218 -0
- package/lib/utilsBundleImpl/xdg-open +1066 -0
- package/lib/vite/htmlReport/index.html +84 -0
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +1 -0
- package/lib/vite/recorder/assets/codeMirrorModule-RJCXzfmE.js +24 -0
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-Ri0uHF7I.css +1 -0
- package/lib/vite/recorder/assets/index-Y-X2TGJv.js +193 -0
- package/lib/vite/recorder/index.html +29 -0
- package/lib/vite/recorder/playwright-logo.svg +9 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-Bhnc5o2x.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-ClwvkA2N.js +265 -0
- package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +1 -0
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.TQ8_7ybu.css +1 -0
- package/lib/vite/traceViewer/index.DFO9NNF5.js +2 -0
- package/lib/vite/traceViewer/index.I8N9v4jT.css +1 -0
- package/lib/vite/traceViewer/index.html +43 -0
- package/lib/vite/traceViewer/playwright-logo.svg +9 -0
- package/lib/vite/traceViewer/snapshot.html +21 -0
- package/lib/vite/traceViewer/sw.bundle.js +3 -0
- package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
- package/lib/vite/traceViewer/uiMode.Shu3QS-1.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +17 -0
- package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
- package/lib/zipBundle.js +34 -0
- package/lib/zipBundleImpl.js +5 -0
- package/package.json +43 -0
- package/types/protocol.d.ts +23130 -0
- package/types/structs.d.ts +45 -0
- package/types/types.d.ts +22857 -0
@@ -0,0 +1,74 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var platform_exports = {};
|
20
|
+
__export(platform_exports, {
|
21
|
+
emptyPlatform: () => emptyPlatform
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(platform_exports);
|
24
|
+
var import_colors = require("../utils/isomorphic/colors");
|
25
|
+
const noopZone = {
|
26
|
+
push: () => noopZone,
|
27
|
+
pop: () => noopZone,
|
28
|
+
run: (func) => func(),
|
29
|
+
data: () => void 0
|
30
|
+
};
|
31
|
+
const emptyPlatform = {
|
32
|
+
name: "empty",
|
33
|
+
boxedStackPrefixes: () => [],
|
34
|
+
calculateSha1: async () => {
|
35
|
+
throw new Error("Not implemented");
|
36
|
+
},
|
37
|
+
colors: import_colors.webColors,
|
38
|
+
createGuid: () => {
|
39
|
+
throw new Error("Not implemented");
|
40
|
+
},
|
41
|
+
defaultMaxListeners: () => 10,
|
42
|
+
env: {},
|
43
|
+
fs: () => {
|
44
|
+
throw new Error("Not implemented");
|
45
|
+
},
|
46
|
+
inspectCustom: void 0,
|
47
|
+
isDebugMode: () => false,
|
48
|
+
isJSDebuggerAttached: () => false,
|
49
|
+
isLogEnabled(name) {
|
50
|
+
return false;
|
51
|
+
},
|
52
|
+
isUnderTest: () => false,
|
53
|
+
log(name, message) {
|
54
|
+
},
|
55
|
+
path: () => {
|
56
|
+
throw new Error("Function not implemented.");
|
57
|
+
},
|
58
|
+
pathSeparator: "/",
|
59
|
+
showInternalStackFrames: () => false,
|
60
|
+
streamFile(path, writable) {
|
61
|
+
throw new Error("Streams are not available");
|
62
|
+
},
|
63
|
+
streamReadable: (channel) => {
|
64
|
+
throw new Error("Streams are not available");
|
65
|
+
},
|
66
|
+
streamWritable: (channel) => {
|
67
|
+
throw new Error("Streams are not available");
|
68
|
+
},
|
69
|
+
zones: { empty: noopZone, current: () => noopZone }
|
70
|
+
};
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
72
|
+
0 && (module.exports = {
|
73
|
+
emptyPlatform
|
74
|
+
});
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var playwright_exports = {};
|
20
|
+
__export(playwright_exports, {
|
21
|
+
Playwright: () => Playwright
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(playwright_exports);
|
24
|
+
var import_android = require("./android");
|
25
|
+
var import_browser = require("./browser");
|
26
|
+
var import_browserType = require("./browserType");
|
27
|
+
var import_channelOwner = require("./channelOwner");
|
28
|
+
var import_electron = require("./electron");
|
29
|
+
var import_errors = require("./errors");
|
30
|
+
var import_fetch = require("./fetch");
|
31
|
+
var import_selectors = require("./selectors");
|
32
|
+
class Playwright extends import_channelOwner.ChannelOwner {
|
33
|
+
constructor(parent, type, guid, initializer) {
|
34
|
+
super(parent, type, guid, initializer);
|
35
|
+
this.request = new import_fetch.APIRequest(this);
|
36
|
+
this.chromium = import_browserType.BrowserType.from(initializer.chromium);
|
37
|
+
this.chromium._playwright = this;
|
38
|
+
this.firefox = import_browserType.BrowserType.from(initializer.firefox);
|
39
|
+
this.firefox._playwright = this;
|
40
|
+
this.webkit = import_browserType.BrowserType.from(initializer.webkit);
|
41
|
+
this.webkit._playwright = this;
|
42
|
+
this._android = import_android.Android.from(initializer.android);
|
43
|
+
this._android._playwright = this;
|
44
|
+
this._electron = import_electron.Electron.from(initializer.electron);
|
45
|
+
this._electron._playwright = this;
|
46
|
+
this.devices = this._connection.localUtils()?.devices ?? {};
|
47
|
+
this.selectors = new import_selectors.Selectors(this._connection._platform);
|
48
|
+
this.errors = { TimeoutError: import_errors.TimeoutError };
|
49
|
+
}
|
50
|
+
static from(channel) {
|
51
|
+
return channel._object;
|
52
|
+
}
|
53
|
+
_browserTypes() {
|
54
|
+
return [this.chromium, this.firefox, this.webkit];
|
55
|
+
}
|
56
|
+
_preLaunchedBrowser() {
|
57
|
+
const browser = import_browser.Browser.from(this._initializer.preLaunchedBrowser);
|
58
|
+
browser._connectToBrowserType(this[browser._name], {}, void 0);
|
59
|
+
return browser;
|
60
|
+
}
|
61
|
+
_allContexts() {
|
62
|
+
return this._browserTypes().flatMap((type) => [...type._contexts]);
|
63
|
+
}
|
64
|
+
_allPages() {
|
65
|
+
return this._allContexts().flatMap((context) => context.pages());
|
66
|
+
}
|
67
|
+
}
|
68
|
+
// Annotate the CommonJS export names for ESM import in node:
|
69
|
+
0 && (module.exports = {
|
70
|
+
Playwright
|
71
|
+
});
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var selectors_exports = {};
|
20
|
+
__export(selectors_exports, {
|
21
|
+
Selectors: () => Selectors
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(selectors_exports);
|
24
|
+
var import_clientHelper = require("./clientHelper");
|
25
|
+
var import_locator = require("./locator");
|
26
|
+
class Selectors {
|
27
|
+
constructor(platform) {
|
28
|
+
this._selectorEngines = [];
|
29
|
+
this._contextsForSelectors = /* @__PURE__ */ new Set();
|
30
|
+
this._platform = platform;
|
31
|
+
}
|
32
|
+
async register(name, script, options = {}) {
|
33
|
+
if (this._selectorEngines.some((engine) => engine.name === name))
|
34
|
+
throw new Error(`selectors.register: "${name}" selector engine has been already registered`);
|
35
|
+
const source = await (0, import_clientHelper.evaluationScript)(this._platform, script, void 0, false);
|
36
|
+
const selectorEngine = { ...options, name, source };
|
37
|
+
for (const context of this._contextsForSelectors)
|
38
|
+
await context._channel.registerSelectorEngine({ selectorEngine });
|
39
|
+
this._selectorEngines.push(selectorEngine);
|
40
|
+
}
|
41
|
+
setTestIdAttribute(attributeName) {
|
42
|
+
this._testIdAttributeName = attributeName;
|
43
|
+
(0, import_locator.setTestIdAttribute)(attributeName);
|
44
|
+
for (const context of this._contextsForSelectors)
|
45
|
+
context._channel.setTestIdAttributeName({ testIdAttributeName: attributeName }).catch(() => {
|
46
|
+
});
|
47
|
+
}
|
48
|
+
_withSelectorOptions(options) {
|
49
|
+
return { ...options, selectorEngines: this._selectorEngines, testIdAttributeName: this._testIdAttributeName };
|
50
|
+
}
|
51
|
+
}
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
53
|
+
0 && (module.exports = {
|
54
|
+
Selectors
|
55
|
+
});
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var stream_exports = {};
|
20
|
+
__export(stream_exports, {
|
21
|
+
Stream: () => Stream
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(stream_exports);
|
24
|
+
var import_channelOwner = require("./channelOwner");
|
25
|
+
class Stream extends import_channelOwner.ChannelOwner {
|
26
|
+
static from(Stream2) {
|
27
|
+
return Stream2._object;
|
28
|
+
}
|
29
|
+
constructor(parent, type, guid, initializer) {
|
30
|
+
super(parent, type, guid, initializer);
|
31
|
+
}
|
32
|
+
stream() {
|
33
|
+
return this._platform.streamReadable(this._channel);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
37
|
+
0 && (module.exports = {
|
38
|
+
Stream
|
39
|
+
});
|
@@ -0,0 +1,79 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var timeoutSettings_exports = {};
|
20
|
+
__export(timeoutSettings_exports, {
|
21
|
+
TimeoutSettings: () => TimeoutSettings
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(timeoutSettings_exports);
|
24
|
+
var import_time = require("../utils/isomorphic/time");
|
25
|
+
class TimeoutSettings {
|
26
|
+
constructor(platform, parent) {
|
27
|
+
this._parent = parent;
|
28
|
+
this._platform = platform;
|
29
|
+
}
|
30
|
+
setDefaultTimeout(timeout) {
|
31
|
+
this._defaultTimeout = timeout;
|
32
|
+
}
|
33
|
+
setDefaultNavigationTimeout(timeout) {
|
34
|
+
this._defaultNavigationTimeout = timeout;
|
35
|
+
}
|
36
|
+
defaultNavigationTimeout() {
|
37
|
+
return this._defaultNavigationTimeout;
|
38
|
+
}
|
39
|
+
defaultTimeout() {
|
40
|
+
return this._defaultTimeout;
|
41
|
+
}
|
42
|
+
navigationTimeout(options) {
|
43
|
+
if (typeof options.timeout === "number")
|
44
|
+
return options.timeout;
|
45
|
+
if (this._defaultNavigationTimeout !== void 0)
|
46
|
+
return this._defaultNavigationTimeout;
|
47
|
+
if (this._platform.isDebugMode())
|
48
|
+
return 0;
|
49
|
+
if (this._defaultTimeout !== void 0)
|
50
|
+
return this._defaultTimeout;
|
51
|
+
if (this._parent)
|
52
|
+
return this._parent.navigationTimeout(options);
|
53
|
+
return import_time.DEFAULT_PLAYWRIGHT_TIMEOUT;
|
54
|
+
}
|
55
|
+
timeout(options) {
|
56
|
+
if (typeof options.timeout === "number")
|
57
|
+
return options.timeout;
|
58
|
+
if (this._platform.isDebugMode())
|
59
|
+
return 0;
|
60
|
+
if (this._defaultTimeout !== void 0)
|
61
|
+
return this._defaultTimeout;
|
62
|
+
if (this._parent)
|
63
|
+
return this._parent.timeout(options);
|
64
|
+
return import_time.DEFAULT_PLAYWRIGHT_TIMEOUT;
|
65
|
+
}
|
66
|
+
launchTimeout(options) {
|
67
|
+
if (typeof options.timeout === "number")
|
68
|
+
return options.timeout;
|
69
|
+
if (this._platform.isDebugMode())
|
70
|
+
return 0;
|
71
|
+
if (this._parent)
|
72
|
+
return this._parent.launchTimeout(options);
|
73
|
+
return import_time.DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
// Annotate the CommonJS export names for ESM import in node:
|
77
|
+
0 && (module.exports = {
|
78
|
+
TimeoutSettings
|
79
|
+
});
|
@@ -0,0 +1,117 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var tracing_exports = {};
|
20
|
+
__export(tracing_exports, {
|
21
|
+
Tracing: () => Tracing
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(tracing_exports);
|
24
|
+
var import_artifact = require("./artifact");
|
25
|
+
var import_channelOwner = require("./channelOwner");
|
26
|
+
class Tracing extends import_channelOwner.ChannelOwner {
|
27
|
+
constructor(parent, type, guid, initializer) {
|
28
|
+
super(parent, type, guid, initializer);
|
29
|
+
this._includeSources = false;
|
30
|
+
this._isTracing = false;
|
31
|
+
}
|
32
|
+
static from(channel) {
|
33
|
+
return channel._object;
|
34
|
+
}
|
35
|
+
async start(options = {}) {
|
36
|
+
await this._wrapApiCall(async () => {
|
37
|
+
this._includeSources = !!options.sources;
|
38
|
+
await this._channel.tracingStart({
|
39
|
+
name: options.name,
|
40
|
+
snapshots: options.snapshots,
|
41
|
+
screenshots: options.screenshots,
|
42
|
+
live: options._live
|
43
|
+
});
|
44
|
+
const { traceName } = await this._channel.tracingStartChunk({ name: options.name, title: options.title });
|
45
|
+
await this._startCollectingStacks(traceName);
|
46
|
+
});
|
47
|
+
}
|
48
|
+
async startChunk(options = {}) {
|
49
|
+
await this._wrapApiCall(async () => {
|
50
|
+
const { traceName } = await this._channel.tracingStartChunk(options);
|
51
|
+
await this._startCollectingStacks(traceName);
|
52
|
+
});
|
53
|
+
}
|
54
|
+
async group(name, options = {}) {
|
55
|
+
await this._channel.tracingGroup({ name, location: options.location });
|
56
|
+
}
|
57
|
+
async groupEnd() {
|
58
|
+
await this._channel.tracingGroupEnd();
|
59
|
+
}
|
60
|
+
async _startCollectingStacks(traceName) {
|
61
|
+
if (!this._isTracing) {
|
62
|
+
this._isTracing = true;
|
63
|
+
this._connection.setIsTracing(true);
|
64
|
+
}
|
65
|
+
const result = await this._connection.localUtils()?.tracingStarted({ tracesDir: this._tracesDir, traceName });
|
66
|
+
this._stacksId = result?.stacksId;
|
67
|
+
}
|
68
|
+
async stopChunk(options = {}) {
|
69
|
+
await this._wrapApiCall(async () => {
|
70
|
+
await this._doStopChunk(options.path);
|
71
|
+
});
|
72
|
+
}
|
73
|
+
async stop(options = {}) {
|
74
|
+
await this._wrapApiCall(async () => {
|
75
|
+
await this._doStopChunk(options.path);
|
76
|
+
await this._channel.tracingStop();
|
77
|
+
});
|
78
|
+
}
|
79
|
+
async _doStopChunk(filePath) {
|
80
|
+
this._resetStackCounter();
|
81
|
+
if (!filePath) {
|
82
|
+
await this._channel.tracingStopChunk({ mode: "discard" });
|
83
|
+
if (this._stacksId)
|
84
|
+
await this._connection.localUtils().traceDiscarded({ stacksId: this._stacksId });
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
const localUtils = this._connection.localUtils();
|
88
|
+
if (!localUtils)
|
89
|
+
throw new Error("Cannot save trace in thin clients");
|
90
|
+
const isLocal = !this._connection.isRemote();
|
91
|
+
if (isLocal) {
|
92
|
+
const result2 = await this._channel.tracingStopChunk({ mode: "entries" });
|
93
|
+
await localUtils.zip({ zipFile: filePath, entries: result2.entries, mode: "write", stacksId: this._stacksId, includeSources: this._includeSources });
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
const result = await this._channel.tracingStopChunk({ mode: "archive" });
|
97
|
+
if (!result.artifact) {
|
98
|
+
if (this._stacksId)
|
99
|
+
await localUtils.traceDiscarded({ stacksId: this._stacksId });
|
100
|
+
return;
|
101
|
+
}
|
102
|
+
const artifact = import_artifact.Artifact.from(result.artifact);
|
103
|
+
await artifact.saveAs(filePath);
|
104
|
+
await artifact.delete();
|
105
|
+
await localUtils.zip({ zipFile: filePath, entries: [], mode: "append", stacksId: this._stacksId, includeSources: this._includeSources });
|
106
|
+
}
|
107
|
+
_resetStackCounter() {
|
108
|
+
if (this._isTracing) {
|
109
|
+
this._isTracing = false;
|
110
|
+
this._connection.setIsTracing(false);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}
|
114
|
+
// Annotate the CommonJS export names for ESM import in node:
|
115
|
+
0 && (module.exports = {
|
116
|
+
Tracing
|
117
|
+
});
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var types_exports = {};
|
20
|
+
__export(types_exports, {
|
21
|
+
kLifecycleEvents: () => kLifecycleEvents
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(types_exports);
|
24
|
+
const kLifecycleEvents = /* @__PURE__ */ new Set(["load", "domcontentloaded", "networkidle", "commit"]);
|
25
|
+
// Annotate the CommonJS export names for ESM import in node:
|
26
|
+
0 && (module.exports = {
|
27
|
+
kLifecycleEvents
|
28
|
+
});
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var video_exports = {};
|
20
|
+
__export(video_exports, {
|
21
|
+
Video: () => Video
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(video_exports);
|
24
|
+
var import_manualPromise = require("../utils/isomorphic/manualPromise");
|
25
|
+
class Video {
|
26
|
+
constructor(page, connection) {
|
27
|
+
this._artifact = null;
|
28
|
+
this._artifactReadyPromise = new import_manualPromise.ManualPromise();
|
29
|
+
this._isRemote = false;
|
30
|
+
this._isRemote = connection.isRemote();
|
31
|
+
this._artifact = page._closedOrCrashedScope.safeRace(this._artifactReadyPromise);
|
32
|
+
}
|
33
|
+
_artifactReady(artifact) {
|
34
|
+
this._artifactReadyPromise.resolve(artifact);
|
35
|
+
}
|
36
|
+
async path() {
|
37
|
+
if (this._isRemote)
|
38
|
+
throw new Error(`Path is not available when connecting remotely. Use saveAs() to save a local copy.`);
|
39
|
+
const artifact = await this._artifact;
|
40
|
+
if (!artifact)
|
41
|
+
throw new Error("Page did not produce any video frames");
|
42
|
+
return artifact._initializer.absolutePath;
|
43
|
+
}
|
44
|
+
async saveAs(path) {
|
45
|
+
const artifact = await this._artifact;
|
46
|
+
if (!artifact)
|
47
|
+
throw new Error("Page did not produce any video frames");
|
48
|
+
return await artifact.saveAs(path);
|
49
|
+
}
|
50
|
+
async delete() {
|
51
|
+
const artifact = await this._artifact;
|
52
|
+
if (artifact)
|
53
|
+
await artifact.delete();
|
54
|
+
}
|
55
|
+
}
|
56
|
+
// Annotate the CommonJS export names for ESM import in node:
|
57
|
+
0 && (module.exports = {
|
58
|
+
Video
|
59
|
+
});
|
@@ -0,0 +1,142 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var waiter_exports = {};
|
20
|
+
__export(waiter_exports, {
|
21
|
+
Waiter: () => Waiter
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(waiter_exports);
|
24
|
+
var import_errors = require("./errors");
|
25
|
+
var import_stackTrace = require("../utils/isomorphic/stackTrace");
|
26
|
+
class Waiter {
|
27
|
+
constructor(channelOwner, event) {
|
28
|
+
this._failures = [];
|
29
|
+
this._logs = [];
|
30
|
+
this._waitId = channelOwner._platform.createGuid();
|
31
|
+
this._channelOwner = channelOwner;
|
32
|
+
this._savedZone = channelOwner._platform.zones.current().pop();
|
33
|
+
this._channelOwner._channel.waitForEventInfo({ info: { waitId: this._waitId, phase: "before", event } }).catch(() => {
|
34
|
+
});
|
35
|
+
this._dispose = [
|
36
|
+
() => this._channelOwner._wrapApiCall(async () => {
|
37
|
+
await this._channelOwner._channel.waitForEventInfo({ info: { waitId: this._waitId, phase: "after", error: this._error } });
|
38
|
+
}, { internal: true }).catch(() => {
|
39
|
+
})
|
40
|
+
];
|
41
|
+
}
|
42
|
+
static createForEvent(channelOwner, event) {
|
43
|
+
return new Waiter(channelOwner, event);
|
44
|
+
}
|
45
|
+
async waitForEvent(emitter, event, predicate) {
|
46
|
+
const { promise, dispose } = waitForEvent(emitter, event, this._savedZone, predicate);
|
47
|
+
return await this.waitForPromise(promise, dispose);
|
48
|
+
}
|
49
|
+
rejectOnEvent(emitter, event, error, predicate) {
|
50
|
+
const { promise, dispose } = waitForEvent(emitter, event, this._savedZone, predicate);
|
51
|
+
this._rejectOn(promise.then(() => {
|
52
|
+
throw typeof error === "function" ? error() : error;
|
53
|
+
}), dispose);
|
54
|
+
}
|
55
|
+
rejectOnTimeout(timeout, message) {
|
56
|
+
if (!timeout)
|
57
|
+
return;
|
58
|
+
const { promise, dispose } = waitForTimeout(timeout);
|
59
|
+
this._rejectOn(promise.then(() => {
|
60
|
+
throw new import_errors.TimeoutError(message);
|
61
|
+
}), dispose);
|
62
|
+
}
|
63
|
+
rejectImmediately(error) {
|
64
|
+
this._immediateError = error;
|
65
|
+
}
|
66
|
+
dispose() {
|
67
|
+
for (const dispose of this._dispose)
|
68
|
+
dispose();
|
69
|
+
}
|
70
|
+
async waitForPromise(promise, dispose) {
|
71
|
+
try {
|
72
|
+
if (this._immediateError)
|
73
|
+
throw this._immediateError;
|
74
|
+
const result = await Promise.race([promise, ...this._failures]);
|
75
|
+
if (dispose)
|
76
|
+
dispose();
|
77
|
+
return result;
|
78
|
+
} catch (e) {
|
79
|
+
if (dispose)
|
80
|
+
dispose();
|
81
|
+
this._error = e.message;
|
82
|
+
this.dispose();
|
83
|
+
(0, import_stackTrace.rewriteErrorMessage)(e, e.message + formatLogRecording(this._logs));
|
84
|
+
throw e;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
log(s) {
|
88
|
+
this._logs.push(s);
|
89
|
+
this._channelOwner._wrapApiCall(async () => {
|
90
|
+
await this._channelOwner._channel.waitForEventInfo({ info: { waitId: this._waitId, phase: "log", message: s } });
|
91
|
+
}, { internal: true }).catch(() => {
|
92
|
+
});
|
93
|
+
}
|
94
|
+
_rejectOn(promise, dispose) {
|
95
|
+
this._failures.push(promise);
|
96
|
+
if (dispose)
|
97
|
+
this._dispose.push(dispose);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
function waitForEvent(emitter, event, savedZone, predicate) {
|
101
|
+
let listener;
|
102
|
+
const promise = new Promise((resolve, reject) => {
|
103
|
+
listener = async (eventArg) => {
|
104
|
+
await savedZone.run(async () => {
|
105
|
+
try {
|
106
|
+
if (predicate && !await predicate(eventArg))
|
107
|
+
return;
|
108
|
+
emitter.removeListener(event, listener);
|
109
|
+
resolve(eventArg);
|
110
|
+
} catch (e) {
|
111
|
+
emitter.removeListener(event, listener);
|
112
|
+
reject(e);
|
113
|
+
}
|
114
|
+
});
|
115
|
+
};
|
116
|
+
emitter.addListener(event, listener);
|
117
|
+
});
|
118
|
+
const dispose = () => emitter.removeListener(event, listener);
|
119
|
+
return { promise, dispose };
|
120
|
+
}
|
121
|
+
function waitForTimeout(timeout) {
|
122
|
+
let timeoutId;
|
123
|
+
const promise = new Promise((resolve) => timeoutId = setTimeout(resolve, timeout));
|
124
|
+
const dispose = () => clearTimeout(timeoutId);
|
125
|
+
return { promise, dispose };
|
126
|
+
}
|
127
|
+
function formatLogRecording(log) {
|
128
|
+
if (!log.length)
|
129
|
+
return "";
|
130
|
+
const header = ` logs `;
|
131
|
+
const headerLength = 60;
|
132
|
+
const leftLength = (headerLength - header.length) / 2;
|
133
|
+
const rightLength = headerLength - header.length - leftLength;
|
134
|
+
return `
|
135
|
+
${"=".repeat(leftLength)}${header}${"=".repeat(rightLength)}
|
136
|
+
${log.join("\n")}
|
137
|
+
${"=".repeat(headerLength)}`;
|
138
|
+
}
|
139
|
+
// Annotate the CommonJS export names for ESM import in node:
|
140
|
+
0 && (module.exports = {
|
141
|
+
Waiter
|
142
|
+
});
|