@checkly/playwright-core 1.51.17-beta.1 → 1.54.2-beta.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/ThirdPartyNotices.txt +65 -123
- package/browsers.json +16 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +47 -50
- package/lib/browserServerImpl.js +89 -69
- package/lib/checkly/escapeRegExp.js +23 -27
- package/lib/checkly/fetch.js +64 -46
- package/lib/checkly/secretsFilter.js +49 -36
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +400 -359
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +151 -242
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +96 -71
- package/lib/client/browserContext.js +314 -345
- package/lib/client/browserType.js +103 -127
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +90 -113
- package/lib/client/clientHelper.js +48 -39
- package/lib/client/clientInstrumentation.js +40 -37
- package/lib/client/clientStackTrace.js +41 -37
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +188 -214
- package/lib/client/consoleMessage.js +31 -28
- package/lib/client/coverage.js +25 -22
- package/lib/client/dialog.js +30 -31
- package/lib/client/download.js +25 -25
- package/lib/client/electron.js +80 -77
- package/lib/client/elementHandle.js +120 -159
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +124 -121
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +166 -190
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +207 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +42 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -29
- package/lib/client/locator.js +145 -237
- package/lib/client/network.js +282 -307
- package/lib/client/page.js +269 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -76
- package/lib/client/selectors.js +45 -63
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +55 -41
- package/lib/client/tracing.js +49 -96
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +69 -88
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +43 -56
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +26 -6
- package/lib/generated/consoleApiSource.js +26 -6
- package/lib/generated/injectedScriptSource.js +26 -6
- package/lib/generated/pollingRecorderSource.js +26 -6
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +26 -6
- package/lib/generated/webSocketMockSource.js +333 -5
- package/lib/inProcessFactory.js +51 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +51 -46
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2807 -2739
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +88 -242
- package/lib/remote/playwrightServer.js +305 -92
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +251 -241
- package/lib/server/android/backendAdb.js +87 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +297 -158
- package/lib/server/bidi/bidiChromium.js +119 -89
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +129 -113
- package/lib/server/bidi/bidiFirefox.js +86 -76
- package/lib/server/bidi/bidiInput.js +106 -117
- package/lib/server/bidi/bidiNetworkManager.js +142 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +260 -260
- package/lib/server/bidi/bidiPdf.js +52 -86
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
- package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
- package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
- package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
- package/lib/server/browser.js +93 -95
- package/lib/server/browserContext.js +419 -429
- package/lib/server/browserType.js +186 -216
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +235 -203
- package/lib/server/chromium/chromiumSwitches.js +100 -67
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +310 -292
- package/lib/server/chromium/crConnection.js +95 -121
- package/lib/server/chromium/crCoverage.js +121 -131
- package/lib/server/chromium/crDevTools.js +60 -51
- package/lib/server/chromium/crDragDrop.js +68 -84
- package/lib/server/chromium/crExecutionContext.js +89 -83
- package/lib/server/chromium/crInput.js +118 -113
- package/lib/server/chromium/crNetworkManager.js +274 -375
- package/lib/server/chromium/crPage.js +536 -593
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +84 -73
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +66 -99
- package/lib/server/clock.js +107 -83
- package/lib/server/codegen/csharp.js +192 -162
- package/lib/server/codegen/java.js +156 -129
- package/lib/server/codegen/javascript.js +163 -148
- package/lib/server/codegen/jsonl.js +32 -28
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -126
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +108 -86
- package/lib/server/debugController.js +147 -151
- package/lib/server/debugger.js +86 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +238 -128
- package/lib/server/dialog.js +84 -39
- package/lib/server/dispatchers/androidDispatcher.js +257 -148
- package/lib/server/dispatchers/artifactDispatcher.js +79 -79
- package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
- package/lib/server/dispatchers/browserDispatcher.js +96 -148
- package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
- package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
- package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
- package/lib/server/dispatchers/dialogDispatcher.js +34 -31
- package/lib/server/dispatchers/dispatcher.js +208 -248
- package/lib/server/dispatchers/electronDispatcher.js +66 -70
- package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
- package/lib/server/dispatchers/frameDispatcher.js +211 -272
- package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
- package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
- package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
- package/lib/server/dispatchers/networkDispatchers.js +117 -128
- package/lib/server/dispatchers/pageDispatcher.js +256 -248
- package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
- package/lib/server/dispatchers/streamDispatcher.js +52 -48
- package/lib/server/dispatchers/tracingDispatcher.js +47 -52
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
- package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
- package/lib/server/dom.js +485 -582
- package/lib/server/download.js +47 -37
- package/lib/server/electron/electron.js +216 -243
- package/lib/server/electron/loader.js +9 -37
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +317 -360
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -60
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +268 -305
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +92 -73
- package/lib/server/firefox/ffInput.js +82 -84
- package/lib/server/firefox/ffNetworkManager.js +137 -114
- package/lib/server/firefox/ffPage.js +261 -293
- package/lib/server/firefox/firefox.js +80 -72
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +98 -114
- package/lib/server/frames.js +845 -1055
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +290 -223
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +55 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +151 -189
- package/lib/server/instrumentation.js +57 -44
- package/lib/server/javascript.js +133 -134
- package/lib/server/launchApp.js +113 -75
- package/lib/server/localUtils.js +150 -142
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +299 -303
- package/lib/server/page.js +513 -544
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +58 -67
- package/lib/server/progress.js +137 -68
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/recorderApp.js +341 -176
- package/lib/server/recorder/recorderInTraceViewer.js +65 -94
- package/lib/server/recorder/recorderRunner.js +93 -116
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +104 -47
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +395 -275
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +930 -803
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +160 -191
- package/lib/server/selectors.js +90 -51
- package/lib/server/socksClientCertificatesInterceptor.js +171 -186
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/trace/recorder/snapshotter.js +76 -102
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +354 -362
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +160 -147
- package/lib/server/transport.js +119 -134
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +39 -26
- package/lib/server/utils/comparators.js +105 -103
- package/lib/server/utils/crypto.js +157 -112
- package/lib/server/utils/debug.js +36 -32
- package/lib/server/utils/debugLogger.js +77 -48
- package/lib/server/utils/env.js +52 -37
- package/lib/server/utils/eventsHelper.js +29 -28
- package/lib/server/utils/expectUtils.js +31 -26
- package/lib/server/utils/fileUtils.js +123 -136
- package/lib/server/utils/happyEyeballs.js +141 -126
- package/lib/server/utils/hostPlatform.js +84 -120
- package/lib/server/utils/httpServer.js +106 -121
- package/lib/server/utils/image_tools/colorUtils.js +42 -51
- package/lib/server/utils/image_tools/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +38 -30
- package/lib/server/utils/image_tools/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +50 -37
- package/lib/server/utils/network.js +152 -96
- package/lib/server/utils/nodePlatform.js +87 -79
- package/lib/server/utils/pipeTransport.js +44 -42
- package/lib/server/utils/processLauncher.js +111 -121
- package/lib/server/utils/profiler.js +52 -39
- package/lib/server/utils/socksProxy.js +280 -339
- package/lib/server/utils/spawnAsync.js +37 -41
- package/lib/server/utils/task.js +31 -38
- package/lib/server/utils/userAgent.js +73 -66
- package/lib/server/utils/wsServer.js +68 -75
- package/lib/server/utils/zipFile.js +36 -37
- package/lib/server/utils/zones.js +37 -34
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +77 -61
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +193 -184
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +85 -70
- package/lib/server/webkit/wkInput.js +97 -95
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +568 -667
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +79 -79
- package/lib/utils/expectUtils.js +31 -26
- package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +120 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +358 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +46 -39
- package/lib/utils/isomorphic/mimeType.js +447 -25
- package/lib/utils/isomorphic/multimap.js +34 -27
- package/lib/utils/isomorphic/protocolFormatter.js +68 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/recorderUtils.js +140 -181
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +182 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +98 -112
- package/lib/utils/isomorphic/time.js +46 -22
- package/lib/utils/isomorphic/timeoutRunner.js +53 -53
- package/lib/utils/isomorphic/traceUtils.js +37 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +113 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
- package/lib/utils.js +101 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +1267 -1057
- package/types/types.d.ts +131 -29
- package/lib/common/socksProxy.js +0 -569
- package/lib/common/timeoutSettings.js +0 -73
- package/lib/common/types.js +0 -5
- package/lib/image_tools/colorUtils.js +0 -98
- package/lib/image_tools/compare.js +0 -108
- package/lib/image_tools/imageChannel.js +0 -70
- package/lib/image_tools/stats.js +0 -102
- package/lib/protocol/debug.js +0 -27
- package/lib/protocol/transport.js +0 -82
- package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/server/recorder/contextRecorder.js +0 -290
- package/lib/server/recorder/recorderCollection.js +0 -104
- package/lib/server/recorder/recorderFrontend.js +0 -5
- package/lib/server/storageScript.js +0 -160
- package/lib/server/timeoutSettings.js +0 -74
- package/lib/third_party/diff_match_patch.js +0 -2222
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -171
- package/lib/utils/crypto.js +0 -174
- package/lib/utils/debug.js +0 -46
- package/lib/utils/debugLogger.js +0 -91
- package/lib/utils/env.js +0 -49
- package/lib/utils/eventsHelper.js +0 -38
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -210
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -133
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/linuxUtils.js +0 -78
- package/lib/utils/manualPromise.js +0 -109
- package/lib/utils/multimap.js +0 -75
- package/lib/utils/network.js +0 -160
- package/lib/utils/processLauncher.js +0 -248
- package/lib/utils/profiler.js +0 -53
- package/lib/utils/rtti.js +0 -44
- package/lib/utils/semaphore.js +0 -51
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -121
- package/lib/utils/task.js +0 -58
- package/lib/utils/time.js +0 -37
- package/lib/utils/timeoutRunner.js +0 -66
- package/lib/utils/traceUtils.js +0 -44
- package/lib/utils/userAgent.js +0 -105
- package/lib/utils/wsServer.js +0 -127
- package/lib/utils/zipFile.js +0 -75
- package/lib/utils/zones.js +0 -62
- package/lib/vite/htmlReport/index.html +0 -69
- package/lib/vite/recorder/assets/codeMirrorModule-DrMbgOIo.js +0 -16684
- package/lib/vite/recorder/assets/codeMirrorModule-DuST8d_k.css +0 -344
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-5NM3V7eb.css +0 -2524
- package/lib/vite/recorder/assets/index-CT-scFHn.js +0 -16848
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-CB-2okZ8.js +0 -16684
- package/lib/vite/traceViewer/assets/defaultSettingsView-CBiB4avC.js +0 -217
- package/lib/vite/traceViewer/assets/inspectorTab-CwgfffWb.js +0 -25143
- package/lib/vite/traceViewer/assets/workbench-CWZselvp.js +0 -2470
- package/lib/vite/traceViewer/assets/xtermModule-Es_gt_u7.js +0 -5994
- package/lib/vite/traceViewer/codeMirrorModule.DuST8d_k.css +0 -344
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.Dp3b_92q.css +0 -41
- package/lib/vite/traceViewer/embedded.BeldSa2G.css +0 -68
- package/lib/vite/traceViewer/embedded.gzudoghF.js +0 -106
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/index.DilotR1h.js +0 -314
- package/lib/vite/traceViewer/index.QewjJ85u.css +0 -131
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.DnGm18kV.css +0 -3178
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.DLgqV9db.css +0 -15
- package/lib/vite/traceViewer/recorder.DVrkq3Um.js +0 -551
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.C9_OcpPU.js +0 -1756
- package/lib/vite/traceViewer/uiMode.c5ORgcrX.css +0 -1424
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.xUZSA8PY.css +0 -787
- package/lib/vite/traceViewer/xtermModule.EsaqrrTX.css +0 -209
|
@@ -1,36 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
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 elementHandle_exports = {};
|
|
20
|
+
__export(elementHandle_exports, {
|
|
21
|
+
ElementHandle: () => ElementHandle,
|
|
22
|
+
convertInputFiles: () => convertInputFiles,
|
|
23
|
+
convertSelectOptionValues: () => convertSelectOptionValues,
|
|
24
|
+
determineScreenshotType: () => determineScreenshotType
|
|
5
25
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
var _writableStream = require("./writableStream");
|
|
16
|
-
var _mimeType = require("../utils/isomorphic/mimeType");
|
|
17
|
-
/**
|
|
18
|
-
* Copyright (c) Microsoft Corporation.
|
|
19
|
-
*
|
|
20
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
21
|
-
* you may not use this file except in compliance with the License.
|
|
22
|
-
* You may obtain a copy of the License at
|
|
23
|
-
*
|
|
24
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
25
|
-
*
|
|
26
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
27
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
28
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
29
|
-
* See the License for the specific language governing permissions and
|
|
30
|
-
* limitations under the License.
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
class ElementHandle extends _jsHandle.JSHandle {
|
|
26
|
+
module.exports = __toCommonJS(elementHandle_exports);
|
|
27
|
+
var import_frame = require("./frame");
|
|
28
|
+
var import_jsHandle = require("./jsHandle");
|
|
29
|
+
var import_assert = require("../utils/isomorphic/assert");
|
|
30
|
+
var import_fileUtils = require("./fileUtils");
|
|
31
|
+
var import_rtti = require("../utils/isomorphic/rtti");
|
|
32
|
+
var import_writableStream = require("./writableStream");
|
|
33
|
+
var import_mimeType = require("../utils/isomorphic/mimeType");
|
|
34
|
+
class ElementHandle extends import_jsHandle.JSHandle {
|
|
34
35
|
static from(handle) {
|
|
35
36
|
return handle._object;
|
|
36
37
|
}
|
|
@@ -39,34 +40,28 @@ class ElementHandle extends _jsHandle.JSHandle {
|
|
|
39
40
|
}
|
|
40
41
|
constructor(parent, type, guid, initializer) {
|
|
41
42
|
super(parent, type, guid, initializer);
|
|
42
|
-
this.
|
|
43
|
+
this._frame = parent;
|
|
43
44
|
this._elementChannel = this._channel;
|
|
44
45
|
}
|
|
45
46
|
asElement() {
|
|
46
47
|
return this;
|
|
47
48
|
}
|
|
48
49
|
async ownerFrame() {
|
|
49
|
-
return
|
|
50
|
+
return import_frame.Frame.fromNullable((await this._elementChannel.ownerFrame()).frame);
|
|
50
51
|
}
|
|
51
52
|
async contentFrame() {
|
|
52
|
-
return
|
|
53
|
-
}
|
|
54
|
-
async _generateLocatorString() {
|
|
55
|
-
const value = (await this._elementChannel.generateLocatorString()).value;
|
|
56
|
-
return value === undefined ? null : value;
|
|
53
|
+
return import_frame.Frame.fromNullable((await this._elementChannel.contentFrame()).frame);
|
|
57
54
|
}
|
|
58
55
|
async getAttribute(name) {
|
|
59
|
-
const value = (await this._elementChannel.getAttribute({
|
|
60
|
-
|
|
61
|
-
})).value;
|
|
62
|
-
return value === undefined ? null : value;
|
|
56
|
+
const value = (await this._elementChannel.getAttribute({ name })).value;
|
|
57
|
+
return value === void 0 ? null : value;
|
|
63
58
|
}
|
|
64
59
|
async inputValue() {
|
|
65
60
|
return (await this._elementChannel.inputValue()).value;
|
|
66
61
|
}
|
|
67
62
|
async textContent() {
|
|
68
63
|
const value = (await this._elementChannel.textContent()).value;
|
|
69
|
-
return value ===
|
|
64
|
+
return value === void 0 ? null : value;
|
|
70
65
|
}
|
|
71
66
|
async innerText() {
|
|
72
67
|
return (await this._elementChannel.innerText()).value;
|
|
@@ -93,210 +88,167 @@ class ElementHandle extends _jsHandle.JSHandle {
|
|
|
93
88
|
return (await this._elementChannel.isVisible()).value;
|
|
94
89
|
}
|
|
95
90
|
async dispatchEvent(type, eventInit = {}) {
|
|
96
|
-
await this._elementChannel.dispatchEvent({
|
|
97
|
-
type,
|
|
98
|
-
eventInit: (0, _jsHandle.serializeArgument)(eventInit)
|
|
99
|
-
});
|
|
91
|
+
await this._elementChannel.dispatchEvent({ type, eventInit: (0, import_jsHandle.serializeArgument)(eventInit) });
|
|
100
92
|
}
|
|
101
93
|
async scrollIntoViewIfNeeded(options = {}) {
|
|
102
|
-
await this._elementChannel.scrollIntoViewIfNeeded(options);
|
|
94
|
+
await this._elementChannel.scrollIntoViewIfNeeded({ ...options, timeout: this._frame._timeout(options) });
|
|
103
95
|
}
|
|
104
96
|
async hover(options = {}) {
|
|
105
|
-
await this._elementChannel.hover(options);
|
|
97
|
+
await this._elementChannel.hover({ ...options, timeout: this._frame._timeout(options) });
|
|
106
98
|
}
|
|
107
99
|
async click(options = {}) {
|
|
108
|
-
return await this._elementChannel.click(options);
|
|
100
|
+
return await this._elementChannel.click({ ...options, timeout: this._frame._timeout(options) });
|
|
109
101
|
}
|
|
110
102
|
async dblclick(options = {}) {
|
|
111
|
-
return await this._elementChannel.dblclick(options);
|
|
103
|
+
return await this._elementChannel.dblclick({ ...options, timeout: this._frame._timeout(options) });
|
|
112
104
|
}
|
|
113
105
|
async tap(options = {}) {
|
|
114
|
-
return await this._elementChannel.tap(options);
|
|
106
|
+
return await this._elementChannel.tap({ ...options, timeout: this._frame._timeout(options) });
|
|
115
107
|
}
|
|
116
108
|
async selectOption(values, options = {}) {
|
|
117
|
-
const result = await this._elementChannel.selectOption({
|
|
118
|
-
...convertSelectOptionValues(values),
|
|
119
|
-
...options
|
|
120
|
-
});
|
|
109
|
+
const result = await this._elementChannel.selectOption({ ...convertSelectOptionValues(values), ...options, timeout: this._frame._timeout(options) });
|
|
121
110
|
return result.values;
|
|
122
111
|
}
|
|
123
112
|
async fill(value, options = {}) {
|
|
124
|
-
return await this._elementChannel.fill({
|
|
125
|
-
value,
|
|
126
|
-
...options
|
|
127
|
-
});
|
|
113
|
+
return await this._elementChannel.fill({ value, ...options, timeout: this._frame._timeout(options) });
|
|
128
114
|
}
|
|
129
115
|
async selectText(options = {}) {
|
|
130
|
-
await this._elementChannel.selectText(options);
|
|
116
|
+
await this._elementChannel.selectText({ ...options, timeout: this._frame._timeout(options) });
|
|
131
117
|
}
|
|
132
118
|
async setInputFiles(files, options = {}) {
|
|
133
119
|
const frame = await this.ownerFrame();
|
|
134
|
-
if (!frame)
|
|
120
|
+
if (!frame)
|
|
121
|
+
throw new Error("Cannot set input files to detached element");
|
|
135
122
|
const converted = await convertInputFiles(this._platform, files, frame.page().context());
|
|
136
|
-
await this._elementChannel.setInputFiles({
|
|
137
|
-
...converted,
|
|
138
|
-
...options
|
|
139
|
-
});
|
|
123
|
+
await this._elementChannel.setInputFiles({ ...converted, ...options, timeout: this._frame._timeout(options) });
|
|
140
124
|
}
|
|
141
125
|
async focus() {
|
|
142
126
|
await this._elementChannel.focus();
|
|
143
127
|
}
|
|
144
128
|
async type(text, options = {}) {
|
|
145
|
-
await this._elementChannel.type({
|
|
146
|
-
text,
|
|
147
|
-
...options
|
|
148
|
-
});
|
|
129
|
+
await this._elementChannel.type({ text, ...options, timeout: this._frame._timeout(options) });
|
|
149
130
|
}
|
|
150
131
|
async press(key, options = {}) {
|
|
151
|
-
await this._elementChannel.press({
|
|
152
|
-
key,
|
|
153
|
-
...options
|
|
154
|
-
});
|
|
132
|
+
await this._elementChannel.press({ key, ...options, timeout: this._frame._timeout(options) });
|
|
155
133
|
}
|
|
156
134
|
async check(options = {}) {
|
|
157
|
-
return await this._elementChannel.check(options);
|
|
135
|
+
return await this._elementChannel.check({ ...options, timeout: this._frame._timeout(options) });
|
|
158
136
|
}
|
|
159
137
|
async uncheck(options = {}) {
|
|
160
|
-
return await this._elementChannel.uncheck(options);
|
|
138
|
+
return await this._elementChannel.uncheck({ ...options, timeout: this._frame._timeout(options) });
|
|
161
139
|
}
|
|
162
140
|
async setChecked(checked, options) {
|
|
163
|
-
if (checked)
|
|
141
|
+
if (checked)
|
|
142
|
+
await this.check(options);
|
|
143
|
+
else
|
|
144
|
+
await this.uncheck(options);
|
|
164
145
|
}
|
|
165
146
|
async boundingBox() {
|
|
166
147
|
const value = (await this._elementChannel.boundingBox()).value;
|
|
167
|
-
return value ===
|
|
148
|
+
return value === void 0 ? null : value;
|
|
168
149
|
}
|
|
169
150
|
async screenshot(options = {}) {
|
|
170
151
|
const mask = options.mask;
|
|
171
|
-
const copy = {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
};
|
|
175
|
-
if (!copy.type) copy.type = determineScreenshotType(options);
|
|
152
|
+
const copy = { ...options, mask: void 0, timeout: this._frame._timeout(options) };
|
|
153
|
+
if (!copy.type)
|
|
154
|
+
copy.type = determineScreenshotType(options);
|
|
176
155
|
if (mask) {
|
|
177
|
-
copy.mask = mask.map(locator => ({
|
|
156
|
+
copy.mask = mask.map((locator) => ({
|
|
178
157
|
frame: locator._frame._channel,
|
|
179
158
|
selector: locator._selector
|
|
180
159
|
}));
|
|
181
160
|
}
|
|
182
161
|
const result = await this._elementChannel.screenshot(copy);
|
|
183
162
|
if (options.path) {
|
|
184
|
-
await (0,
|
|
163
|
+
await (0, import_fileUtils.mkdirIfNeeded)(this._platform, options.path);
|
|
185
164
|
await this._platform.fs().promises.writeFile(options.path, result.binary);
|
|
186
165
|
}
|
|
187
166
|
return result.binary;
|
|
188
167
|
}
|
|
189
168
|
async $(selector) {
|
|
190
|
-
return ElementHandle.fromNullable((await this._elementChannel.querySelector({
|
|
191
|
-
selector
|
|
192
|
-
})).element);
|
|
169
|
+
return ElementHandle.fromNullable((await this._elementChannel.querySelector({ selector })).element);
|
|
193
170
|
}
|
|
194
171
|
async $$(selector) {
|
|
195
|
-
const result = await this._elementChannel.querySelectorAll({
|
|
196
|
-
|
|
197
|
-
});
|
|
198
|
-
return result.elements.map(h => ElementHandle.from(h));
|
|
172
|
+
const result = await this._elementChannel.querySelectorAll({ selector });
|
|
173
|
+
return result.elements.map((h) => ElementHandle.from(h));
|
|
199
174
|
}
|
|
200
175
|
async $eval(selector, pageFunction, arg) {
|
|
201
|
-
const result = await this._elementChannel.evalOnSelector({
|
|
202
|
-
|
|
203
|
-
expression: String(pageFunction),
|
|
204
|
-
isFunction: typeof pageFunction === 'function',
|
|
205
|
-
arg: (0, _jsHandle.serializeArgument)(arg)
|
|
206
|
-
});
|
|
207
|
-
return (0, _jsHandle.parseResult)(result.value);
|
|
176
|
+
const result = await this._elementChannel.evalOnSelector({ selector, expression: String(pageFunction), isFunction: typeof pageFunction === "function", arg: (0, import_jsHandle.serializeArgument)(arg) });
|
|
177
|
+
return (0, import_jsHandle.parseResult)(result.value);
|
|
208
178
|
}
|
|
209
179
|
async $$eval(selector, pageFunction, arg) {
|
|
210
|
-
const result = await this._elementChannel.evalOnSelectorAll({
|
|
211
|
-
|
|
212
|
-
expression: String(pageFunction),
|
|
213
|
-
isFunction: typeof pageFunction === 'function',
|
|
214
|
-
arg: (0, _jsHandle.serializeArgument)(arg)
|
|
215
|
-
});
|
|
216
|
-
return (0, _jsHandle.parseResult)(result.value);
|
|
180
|
+
const result = await this._elementChannel.evalOnSelectorAll({ selector, expression: String(pageFunction), isFunction: typeof pageFunction === "function", arg: (0, import_jsHandle.serializeArgument)(arg) });
|
|
181
|
+
return (0, import_jsHandle.parseResult)(result.value);
|
|
217
182
|
}
|
|
218
183
|
async waitForElementState(state, options = {}) {
|
|
219
|
-
return await this._elementChannel.waitForElementState({
|
|
220
|
-
state,
|
|
221
|
-
...options
|
|
222
|
-
});
|
|
184
|
+
return await this._elementChannel.waitForElementState({ state, ...options, timeout: this._frame._timeout(options) });
|
|
223
185
|
}
|
|
224
186
|
async waitForSelector(selector, options = {}) {
|
|
225
|
-
const result = await this._elementChannel.waitForSelector({
|
|
226
|
-
selector,
|
|
227
|
-
...options
|
|
228
|
-
});
|
|
187
|
+
const result = await this._elementChannel.waitForSelector({ selector, ...options, timeout: this._frame._timeout(options) });
|
|
229
188
|
return ElementHandle.fromNullable(result.element);
|
|
230
189
|
}
|
|
231
190
|
}
|
|
232
|
-
exports.ElementHandle = ElementHandle;
|
|
233
191
|
function convertSelectOptionValues(values) {
|
|
234
|
-
if (values === null)
|
|
235
|
-
|
|
236
|
-
if (!values
|
|
237
|
-
|
|
238
|
-
if (values
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
return {
|
|
247
|
-
options: values
|
|
248
|
-
};
|
|
192
|
+
if (values === null)
|
|
193
|
+
return {};
|
|
194
|
+
if (!Array.isArray(values))
|
|
195
|
+
values = [values];
|
|
196
|
+
if (!values.length)
|
|
197
|
+
return {};
|
|
198
|
+
for (let i = 0; i < values.length; i++)
|
|
199
|
+
(0, import_assert.assert)(values[i] !== null, `options[${i}]: expected object, got null`);
|
|
200
|
+
if (values[0] instanceof ElementHandle)
|
|
201
|
+
return { elements: values.map((v) => v._elementChannel) };
|
|
202
|
+
if ((0, import_rtti.isString)(values[0]))
|
|
203
|
+
return { options: values.map((valueOrLabel) => ({ valueOrLabel })) };
|
|
204
|
+
return { options: values };
|
|
249
205
|
}
|
|
250
206
|
function filePayloadExceedsSizeLimit(payloads) {
|
|
251
|
-
return payloads.reduce((size, item) => size + (item.buffer ? item.buffer.byteLength : 0), 0) >=
|
|
207
|
+
return payloads.reduce((size, item) => size + (item.buffer ? item.buffer.byteLength : 0), 0) >= import_fileUtils.fileUploadSizeLimit;
|
|
252
208
|
}
|
|
253
209
|
async function resolvePathsAndDirectoryForInputFiles(platform, items) {
|
|
254
|
-
var _localPaths;
|
|
255
210
|
let localPaths;
|
|
256
211
|
let localDirectory;
|
|
257
212
|
for (const item of items) {
|
|
258
213
|
const stat = await platform.fs().promises.stat(item);
|
|
259
214
|
if (stat.isDirectory()) {
|
|
260
|
-
if (localDirectory)
|
|
215
|
+
if (localDirectory)
|
|
216
|
+
throw new Error("Multiple directories are not supported");
|
|
261
217
|
localDirectory = platform.path().resolve(item);
|
|
262
218
|
} else {
|
|
263
|
-
localPaths
|
|
219
|
+
localPaths ??= [];
|
|
264
220
|
localPaths.push(platform.path().resolve(item));
|
|
265
221
|
}
|
|
266
222
|
}
|
|
267
|
-
if (
|
|
223
|
+
if (localPaths?.length && localDirectory)
|
|
224
|
+
throw new Error("File paths must be all files or a single directory");
|
|
268
225
|
return [localPaths, localDirectory];
|
|
269
226
|
}
|
|
270
227
|
async function convertInputFiles(platform, files, context) {
|
|
271
228
|
const items = Array.isArray(files) ? files.slice() : [files];
|
|
272
|
-
if (items.some(item => typeof item ===
|
|
273
|
-
if (!items.every(item => typeof item ===
|
|
229
|
+
if (items.some((item) => typeof item === "string")) {
|
|
230
|
+
if (!items.every((item) => typeof item === "string"))
|
|
231
|
+
throw new Error("File paths cannot be mixed with buffers");
|
|
274
232
|
const [localPaths, localDirectory] = await resolvePathsAndDirectoryForInputFiles(platform, items);
|
|
275
233
|
if (context._connection.isRemote()) {
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
const {
|
|
281
|
-
writableStreams,
|
|
282
|
-
rootDir
|
|
283
|
-
} = await context._wrapApiCall(async () => context._channel.createTempFiles({
|
|
284
|
-
rootDirName: localDirectory ? platform.path().basename(localDirectory) : undefined,
|
|
285
|
-
items: await Promise.all(files.map(async file => {
|
|
234
|
+
const files2 = localDirectory ? (await platform.fs().promises.readdir(localDirectory, { withFileTypes: true, recursive: true })).filter((f) => f.isFile()).map((f) => platform.path().join(f.path, f.name)) : localPaths;
|
|
235
|
+
const { writableStreams, rootDir } = await context._wrapApiCall(async () => context._channel.createTempFiles({
|
|
236
|
+
rootDirName: localDirectory ? platform.path().basename(localDirectory) : void 0,
|
|
237
|
+
items: await Promise.all(files2.map(async (file) => {
|
|
286
238
|
const lastModifiedMs = (await platform.fs().promises.stat(file)).mtimeMs;
|
|
287
239
|
return {
|
|
288
240
|
name: localDirectory ? platform.path().relative(localDirectory, file) : platform.path().basename(file),
|
|
289
241
|
lastModifiedMs
|
|
290
242
|
};
|
|
291
243
|
}))
|
|
292
|
-
}), true);
|
|
293
|
-
for (let i = 0; i <
|
|
294
|
-
const writable =
|
|
295
|
-
await platform.streamFile(
|
|
244
|
+
}), { internal: true });
|
|
245
|
+
for (let i = 0; i < files2.length; i++) {
|
|
246
|
+
const writable = import_writableStream.WritableStream.from(writableStreams[i]);
|
|
247
|
+
await platform.streamFile(files2[i], writable.stream());
|
|
296
248
|
}
|
|
297
249
|
return {
|
|
298
250
|
directoryStream: rootDir,
|
|
299
|
-
streams: localDirectory ?
|
|
251
|
+
streams: localDirectory ? void 0 : writableStreams
|
|
300
252
|
};
|
|
301
253
|
}
|
|
302
254
|
return {
|
|
@@ -305,16 +257,25 @@ async function convertInputFiles(platform, files, context) {
|
|
|
305
257
|
};
|
|
306
258
|
}
|
|
307
259
|
const payloads = items;
|
|
308
|
-
if (filePayloadExceedsSizeLimit(payloads))
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
};
|
|
260
|
+
if (filePayloadExceedsSizeLimit(payloads))
|
|
261
|
+
throw new Error("Cannot set buffer larger than 50Mb, please write it to a file and pass its path instead.");
|
|
262
|
+
return { payloads };
|
|
312
263
|
}
|
|
313
264
|
function determineScreenshotType(options) {
|
|
314
265
|
if (options.path) {
|
|
315
|
-
const mimeType = (0,
|
|
316
|
-
if (mimeType ===
|
|
266
|
+
const mimeType = (0, import_mimeType.getMimeTypeForPath)(options.path);
|
|
267
|
+
if (mimeType === "image/png")
|
|
268
|
+
return "png";
|
|
269
|
+
else if (mimeType === "image/jpeg")
|
|
270
|
+
return "jpeg";
|
|
317
271
|
throw new Error(`path: unsupported mime type "${mimeType}"`);
|
|
318
272
|
}
|
|
319
273
|
return options.type;
|
|
320
|
-
}
|
|
274
|
+
}
|
|
275
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
276
|
+
0 && (module.exports = {
|
|
277
|
+
ElementHandle,
|
|
278
|
+
convertInputFiles,
|
|
279
|
+
convertSelectOptionValues,
|
|
280
|
+
determineScreenshotType
|
|
281
|
+
});
|
package/lib/client/errors.js
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
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 errors_exports = {};
|
|
20
|
+
__export(errors_exports, {
|
|
21
|
+
TargetClosedError: () => TargetClosedError,
|
|
22
|
+
TimeoutError: () => TimeoutError,
|
|
23
|
+
isTargetClosedError: () => isTargetClosedError,
|
|
24
|
+
parseError: () => parseError,
|
|
25
|
+
serializeError: () => serializeError
|
|
5
26
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.serializeError = serializeError;
|
|
10
|
-
var _serializers = require("../protocol/serializers");
|
|
11
|
-
var _rtti = require("../utils/isomorphic/rtti");
|
|
12
|
-
/**
|
|
13
|
-
* Copyright (c) Microsoft Corporation.
|
|
14
|
-
*
|
|
15
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
* you may not use this file except in compliance with the License.
|
|
17
|
-
* You may obtain a copy of the License at
|
|
18
|
-
*
|
|
19
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
*
|
|
21
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
* See the License for the specific language governing permissions and
|
|
25
|
-
* limitations under the License.
|
|
26
|
-
*/
|
|
27
|
-
|
|
27
|
+
module.exports = __toCommonJS(errors_exports);
|
|
28
|
+
var import_serializers = require("../protocol/serializers");
|
|
29
|
+
var import_rtti = require("../utils/isomorphic/rtti");
|
|
28
30
|
class TimeoutError extends Error {
|
|
29
31
|
constructor(message) {
|
|
30
32
|
super(message);
|
|
31
|
-
this.name =
|
|
33
|
+
this.name = "TimeoutError";
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
|
-
exports.TimeoutError = TimeoutError;
|
|
35
36
|
class TargetClosedError extends Error {
|
|
36
37
|
constructor(cause) {
|
|
37
|
-
super(cause ||
|
|
38
|
+
super(cause || "Target page, context or browser has been closed");
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
exports.TargetClosedError = TargetClosedError;
|
|
41
41
|
function isTargetClosedError(error) {
|
|
42
42
|
return error instanceof TargetClosedError;
|
|
43
43
|
}
|
|
44
44
|
function serializeError(e) {
|
|
45
|
-
if ((0,
|
|
46
|
-
error: {
|
|
47
|
-
|
|
48
|
-
stack: e.stack,
|
|
49
|
-
name: e.name
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
return {
|
|
53
|
-
value: (0, _serializers.serializeValue)(e, value => ({
|
|
54
|
-
fallThrough: value
|
|
55
|
-
}))
|
|
56
|
-
};
|
|
45
|
+
if ((0, import_rtti.isError)(e))
|
|
46
|
+
return { error: { message: e.message, stack: e.stack, name: e.name } };
|
|
47
|
+
return { value: (0, import_serializers.serializeValue)(e, (value) => ({ fallThrough: value })) };
|
|
57
48
|
}
|
|
58
49
|
function parseError(error) {
|
|
59
50
|
if (!error.error) {
|
|
60
|
-
if (error.value ===
|
|
61
|
-
|
|
51
|
+
if (error.value === void 0)
|
|
52
|
+
throw new Error("Serialized error must have either an error or a value");
|
|
53
|
+
return (0, import_serializers.parseSerializedValue)(error.value, void 0);
|
|
62
54
|
}
|
|
63
|
-
if (error.error.name ===
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
return
|
|
55
|
+
if (error.error.name === "TimeoutError") {
|
|
56
|
+
const e2 = new TimeoutError(error.error.message);
|
|
57
|
+
e2.stack = error.error.stack || "";
|
|
58
|
+
return e2;
|
|
67
59
|
}
|
|
68
|
-
if (error.error.name ===
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
return
|
|
60
|
+
if (error.error.name === "TargetClosedError") {
|
|
61
|
+
const e2 = new TargetClosedError(error.error.message);
|
|
62
|
+
e2.stack = error.error.stack || "";
|
|
63
|
+
return e2;
|
|
72
64
|
}
|
|
73
65
|
const e = new Error(error.error.message);
|
|
74
|
-
e.stack = error.error.stack ||
|
|
66
|
+
e.stack = error.error.stack || "";
|
|
75
67
|
e.name = error.error.name;
|
|
76
68
|
return e;
|
|
77
|
-
}
|
|
69
|
+
}
|
|
70
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
+
0 && (module.exports = {
|
|
72
|
+
TargetClosedError,
|
|
73
|
+
TimeoutError,
|
|
74
|
+
isTargetClosedError,
|
|
75
|
+
parseError,
|
|
76
|
+
serializeError
|
|
77
|
+
});
|