@checkly/playwright-core 1.51.17-beta.2 → 1.54.2-beta.1
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 -35
- 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 +89 -112
- 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-B9YMkrwa.js +0 -24
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
- package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
- package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
- package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
- package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
- package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
- package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
|
@@ -1,99 +1,89 @@
|
|
|
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 channelOwner_exports = {};
|
|
20
|
+
__export(channelOwner_exports, {
|
|
21
|
+
ChannelOwner: () => ChannelOwner
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
15
|
-
* you may not use this file except in compliance with the License.
|
|
16
|
-
* You may obtain a copy of the License at
|
|
17
|
-
*
|
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
*
|
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
-
* See the License for the specific language governing permissions and
|
|
24
|
-
* limitations under the License.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
23
|
+
module.exports = __toCommonJS(channelOwner_exports);
|
|
24
|
+
var import_eventEmitter = require("./eventEmitter");
|
|
25
|
+
var import_validator = require("../protocol/validator");
|
|
26
|
+
var import_protocolMetainfo = require("../utils/isomorphic/protocolMetainfo");
|
|
27
|
+
var import_clientStackTrace = require("./clientStackTrace");
|
|
28
|
+
var import_stackTrace = require("../utils/isomorphic/stackTrace");
|
|
29
|
+
class ChannelOwner extends import_eventEmitter.EventEmitter {
|
|
28
30
|
constructor(parent, type, guid, initializer) {
|
|
29
31
|
const connection = parent instanceof ChannelOwner ? parent._connection : parent;
|
|
30
32
|
super(connection._platform);
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this._objects = new Map();
|
|
34
|
-
this._type = void 0;
|
|
35
|
-
this._guid = void 0;
|
|
36
|
-
this._channel = void 0;
|
|
37
|
-
this._initializer = void 0;
|
|
38
|
-
this._logger = void 0;
|
|
39
|
-
this._instrumentation = void 0;
|
|
40
|
-
this._eventToSubscriptionMapping = new Map();
|
|
41
|
-
this._isInternalType = false;
|
|
33
|
+
this._objects = /* @__PURE__ */ new Map();
|
|
34
|
+
this._eventToSubscriptionMapping = /* @__PURE__ */ new Map();
|
|
42
35
|
this._wasCollected = false;
|
|
43
36
|
this.setMaxListeners(0);
|
|
44
37
|
this._connection = connection;
|
|
45
38
|
this._type = type;
|
|
46
39
|
this._guid = guid;
|
|
47
|
-
this._parent = parent instanceof ChannelOwner ? parent :
|
|
40
|
+
this._parent = parent instanceof ChannelOwner ? parent : void 0;
|
|
48
41
|
this._instrumentation = this._connection._instrumentation;
|
|
49
42
|
this._connection._objects.set(guid, this);
|
|
50
43
|
if (this._parent) {
|
|
51
44
|
this._parent._objects.set(guid, this);
|
|
52
45
|
this._logger = this._parent._logger;
|
|
53
46
|
}
|
|
54
|
-
this._channel = this._createChannel(new
|
|
47
|
+
this._channel = this._createChannel(new import_eventEmitter.EventEmitter(connection._platform));
|
|
55
48
|
this._initializer = initializer;
|
|
56
49
|
}
|
|
57
|
-
markAsInternalType() {
|
|
58
|
-
this._isInternalType = true;
|
|
59
|
-
}
|
|
60
50
|
_setEventToSubscriptionMapping(mapping) {
|
|
61
51
|
this._eventToSubscriptionMapping = mapping;
|
|
62
52
|
}
|
|
63
53
|
_updateSubscription(event, enabled) {
|
|
64
54
|
const protocolEvent = this._eventToSubscriptionMapping.get(String(event));
|
|
65
|
-
if (protocolEvent)
|
|
66
|
-
this.
|
|
67
|
-
|
|
68
|
-
event: protocolEvent,
|
|
69
|
-
enabled
|
|
70
|
-
});
|
|
71
|
-
}, true).catch(() => {});
|
|
72
|
-
}
|
|
55
|
+
if (protocolEvent)
|
|
56
|
+
this._channel.updateSubscription({ event: protocolEvent, enabled }).catch(() => {
|
|
57
|
+
});
|
|
73
58
|
}
|
|
74
59
|
on(event, listener) {
|
|
75
|
-
if (!this.listenerCount(event))
|
|
60
|
+
if (!this.listenerCount(event))
|
|
61
|
+
this._updateSubscription(event, true);
|
|
76
62
|
super.on(event, listener);
|
|
77
63
|
return this;
|
|
78
64
|
}
|
|
79
65
|
addListener(event, listener) {
|
|
80
|
-
if (!this.listenerCount(event))
|
|
66
|
+
if (!this.listenerCount(event))
|
|
67
|
+
this._updateSubscription(event, true);
|
|
81
68
|
super.addListener(event, listener);
|
|
82
69
|
return this;
|
|
83
70
|
}
|
|
84
71
|
prependListener(event, listener) {
|
|
85
|
-
if (!this.listenerCount(event))
|
|
72
|
+
if (!this.listenerCount(event))
|
|
73
|
+
this._updateSubscription(event, true);
|
|
86
74
|
super.prependListener(event, listener);
|
|
87
75
|
return this;
|
|
88
76
|
}
|
|
89
77
|
off(event, listener) {
|
|
90
78
|
super.off(event, listener);
|
|
91
|
-
if (!this.listenerCount(event))
|
|
79
|
+
if (!this.listenerCount(event))
|
|
80
|
+
this._updateSubscription(event, false);
|
|
92
81
|
return this;
|
|
93
82
|
}
|
|
94
83
|
removeListener(event, listener) {
|
|
95
84
|
super.removeListener(event, listener);
|
|
96
|
-
if (!this.listenerCount(event))
|
|
85
|
+
if (!this.listenerCount(event))
|
|
86
|
+
this._updateSubscription(event, false);
|
|
97
87
|
return this;
|
|
98
88
|
}
|
|
99
89
|
_adopt(child) {
|
|
@@ -102,49 +92,45 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
102
92
|
child._parent = this;
|
|
103
93
|
}
|
|
104
94
|
_dispose(reason) {
|
|
105
|
-
|
|
106
|
-
|
|
95
|
+
if (this._parent)
|
|
96
|
+
this._parent._objects.delete(this._guid);
|
|
107
97
|
this._connection._objects.delete(this._guid);
|
|
108
|
-
this._wasCollected = reason ===
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
for (const object of [...this._objects.values()]) object._dispose(reason);
|
|
98
|
+
this._wasCollected = reason === "gc";
|
|
99
|
+
for (const object of [...this._objects.values()])
|
|
100
|
+
object._dispose(reason);
|
|
112
101
|
this._objects.clear();
|
|
113
102
|
}
|
|
114
103
|
_debugScopeState() {
|
|
115
104
|
return {
|
|
116
105
|
_guid: this._guid,
|
|
117
|
-
objects: Array.from(this._objects.values()).map(o => o._debugScopeState())
|
|
106
|
+
objects: Array.from(this._objects.values()).map((o) => o._debugScopeState())
|
|
118
107
|
};
|
|
119
108
|
}
|
|
120
109
|
_validatorToWireContext() {
|
|
121
110
|
return {
|
|
122
111
|
tChannelImpl: tChannelImplToWire,
|
|
123
|
-
binary: this._connection.rawBuffers() ?
|
|
112
|
+
binary: this._connection.rawBuffers() ? "buffer" : "toBase64",
|
|
124
113
|
isUnderTest: () => this._platform.isUnderTest()
|
|
125
114
|
};
|
|
126
115
|
}
|
|
127
116
|
_createChannel(base) {
|
|
128
117
|
const channel = new Proxy(base, {
|
|
129
118
|
get: (obj, prop) => {
|
|
130
|
-
if (typeof prop ===
|
|
131
|
-
const validator = (0,
|
|
119
|
+
if (typeof prop === "string") {
|
|
120
|
+
const validator = (0, import_validator.maybeFindValidator)(this._type, prop, "Params");
|
|
121
|
+
const { internal } = import_protocolMetainfo.methodMetainfo.get(this._type + "." + prop) || {};
|
|
132
122
|
if (validator) {
|
|
133
|
-
return async params => {
|
|
134
|
-
return await this._wrapApiCall(async apiZone => {
|
|
135
|
-
const validatedParams = validator(params,
|
|
136
|
-
if (!apiZone.
|
|
137
|
-
// Reporting/tracing/logging this api call for the first time.
|
|
138
|
-
apiZone.params = params;
|
|
123
|
+
return async (params) => {
|
|
124
|
+
return await this._wrapApiCall(async (apiZone) => {
|
|
125
|
+
const validatedParams = validator(params, "", this._validatorToWireContext());
|
|
126
|
+
if (!apiZone.internal && !apiZone.reported) {
|
|
139
127
|
apiZone.reported = true;
|
|
140
|
-
this._instrumentation.onApiCallBegin(apiZone);
|
|
128
|
+
this._instrumentation.onApiCallBegin(apiZone, { type: this._type, method: prop, params });
|
|
141
129
|
logApiCall(this._platform, this._logger, `=> ${apiZone.apiName} started`);
|
|
142
|
-
return await this._connection.sendMessageToServer(this, prop, validatedParams, apiZone
|
|
130
|
+
return await this._connection.sendMessageToServer(this, prop, validatedParams, apiZone);
|
|
143
131
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
return await this._connection.sendMessageToServer(this, prop, validatedParams, undefined, [], undefined);
|
|
147
|
-
});
|
|
132
|
+
return await this._connection.sendMessageToServer(this, prop, validatedParams, { internal: true });
|
|
133
|
+
}, { internal });
|
|
148
134
|
};
|
|
149
135
|
}
|
|
150
136
|
}
|
|
@@ -154,35 +140,30 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
154
140
|
channel._object = this;
|
|
155
141
|
return channel;
|
|
156
142
|
}
|
|
157
|
-
async _wrapApiCall(func,
|
|
143
|
+
async _wrapApiCall(func, options) {
|
|
158
144
|
const logger = this._logger;
|
|
159
145
|
const existingApiZone = this._platform.zones.current().data();
|
|
160
|
-
if (existingApiZone)
|
|
161
|
-
|
|
162
|
-
const stackTrace = (0,
|
|
163
|
-
const apiZone = {
|
|
164
|
-
apiName: stackTrace.apiName,
|
|
165
|
-
frames: stackTrace.frames,
|
|
166
|
-
isInternal,
|
|
167
|
-
reported: false,
|
|
168
|
-
userData: undefined,
|
|
169
|
-
stepId: undefined
|
|
170
|
-
};
|
|
146
|
+
if (existingApiZone)
|
|
147
|
+
return await func(existingApiZone);
|
|
148
|
+
const stackTrace = (0, import_clientStackTrace.captureLibraryStackTrace)(this._platform);
|
|
149
|
+
const apiZone = { title: options?.title, apiName: stackTrace.apiName, frames: stackTrace.frames, internal: options?.internal ?? false, reported: false, userData: void 0, stepId: void 0 };
|
|
171
150
|
try {
|
|
172
151
|
const result = await this._platform.zones.current().push(apiZone).run(async () => await func(apiZone));
|
|
173
|
-
if (!
|
|
152
|
+
if (!options?.internal) {
|
|
174
153
|
logApiCall(this._platform, logger, `<= ${apiZone.apiName} succeeded`);
|
|
175
|
-
// @ts-ignore
|
|
176
|
-
// patch:checkly[2025-04]
|
|
177
154
|
this._instrumentation.onApiCallEnd(apiZone, result);
|
|
178
155
|
}
|
|
179
156
|
return result;
|
|
180
157
|
} catch (e) {
|
|
181
|
-
const innerError = (this._platform.showInternalStackFrames() || this._platform.isUnderTest()) && e.stack ?
|
|
182
|
-
if (apiZone.apiName && !apiZone.apiName.includes(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (
|
|
158
|
+
const innerError = (this._platform.showInternalStackFrames() || this._platform.isUnderTest()) && e.stack ? "\n<inner error>\n" + e.stack : "";
|
|
159
|
+
if (apiZone.apiName && !apiZone.apiName.includes("<anonymous>"))
|
|
160
|
+
e.message = apiZone.apiName + ": " + e.message;
|
|
161
|
+
const stackFrames = "\n" + (0, import_stackTrace.stringifyStackFrames)(stackTrace.frames).join("\n") + innerError;
|
|
162
|
+
if (stackFrames.trim())
|
|
163
|
+
e.stack = e.message + stackFrames;
|
|
164
|
+
else
|
|
165
|
+
e.stack = "";
|
|
166
|
+
if (!options?.internal) {
|
|
186
167
|
apiZone.error = e;
|
|
187
168
|
logApiCall(this._platform, logger, `<= ${apiZone.apiName} failed`);
|
|
188
169
|
this._instrumentation.onApiCallEnd(apiZone);
|
|
@@ -191,30 +172,26 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
191
172
|
}
|
|
192
173
|
}
|
|
193
174
|
_toImpl() {
|
|
194
|
-
|
|
195
|
-
return (_this$_connection$toI = (_this$_connection = this._connection).toImpl) === null || _this$_connection$toI === void 0 ? void 0 : _this$_connection$toI.call(_this$_connection, this);
|
|
175
|
+
return this._connection.toImpl?.(this);
|
|
196
176
|
}
|
|
197
177
|
toJSON() {
|
|
198
|
-
// Jest's expect library tries to print objects sometimes.
|
|
199
|
-
// RPC objects can contain links to lots of other objects,
|
|
200
|
-
// which can cause jest to crash. Let's help it out
|
|
201
|
-
// by just returning the important values.
|
|
202
178
|
return {
|
|
203
179
|
_type: this._type,
|
|
204
180
|
_guid: this._guid
|
|
205
181
|
};
|
|
206
182
|
}
|
|
207
183
|
}
|
|
208
|
-
exports.ChannelOwner = ChannelOwner;
|
|
209
184
|
function logApiCall(platform, logger, message) {
|
|
210
|
-
if (logger && logger.isEnabled(
|
|
211
|
-
color:
|
|
212
|
-
|
|
213
|
-
platform.log('api', message);
|
|
185
|
+
if (logger && logger.isEnabled("api", "info"))
|
|
186
|
+
logger.log("api", "info", message, [], { color: "cyan" });
|
|
187
|
+
platform.log("api", message);
|
|
214
188
|
}
|
|
215
189
|
function tChannelImplToWire(names, arg, path, context) {
|
|
216
|
-
if (arg._object instanceof ChannelOwner && (names ===
|
|
217
|
-
guid: arg._object._guid
|
|
218
|
-
};
|
|
219
|
-
|
|
220
|
-
|
|
190
|
+
if (arg._object instanceof ChannelOwner && (names === "*" || names.includes(arg._object._type)))
|
|
191
|
+
return { guid: arg._object._guid };
|
|
192
|
+
throw new import_validator.ValidationError(`${path}: expected channel ${names.toString()}`);
|
|
193
|
+
}
|
|
194
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
195
|
+
0 && (module.exports = {
|
|
196
|
+
ChannelOwner
|
|
197
|
+
});
|
|
@@ -1,55 +1,64 @@
|
|
|
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 clientHelper_exports = {};
|
|
20
|
+
__export(clientHelper_exports, {
|
|
21
|
+
addSourceUrlToScript: () => addSourceUrlToScript,
|
|
22
|
+
envObjectToArray: () => envObjectToArray,
|
|
23
|
+
evaluationScript: () => evaluationScript
|
|
5
24
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
exports.evaluationScript = evaluationScript;
|
|
9
|
-
var _rtti = require("../utils/isomorphic/rtti");
|
|
10
|
-
/**
|
|
11
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
12
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
13
|
-
*
|
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
-
* you may not use this file except in compliance with the License.
|
|
16
|
-
* You may obtain a copy of the License at
|
|
17
|
-
*
|
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
*
|
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
-
* See the License for the specific language governing permissions and
|
|
24
|
-
* limitations under the License.
|
|
25
|
-
*/
|
|
26
|
-
|
|
25
|
+
module.exports = __toCommonJS(clientHelper_exports);
|
|
26
|
+
var import_rtti = require("../utils/isomorphic/rtti");
|
|
27
27
|
function envObjectToArray(env) {
|
|
28
28
|
const result = [];
|
|
29
29
|
for (const name in env) {
|
|
30
|
-
if (!Object.is(env[name],
|
|
31
|
-
name,
|
|
32
|
-
value: String(env[name])
|
|
33
|
-
});
|
|
30
|
+
if (!Object.is(env[name], void 0))
|
|
31
|
+
result.push({ name, value: String(env[name]) });
|
|
34
32
|
}
|
|
35
33
|
return result;
|
|
36
34
|
}
|
|
37
35
|
async function evaluationScript(platform, fun, arg, addSourceUrl = true) {
|
|
38
|
-
if (typeof fun ===
|
|
36
|
+
if (typeof fun === "function") {
|
|
39
37
|
const source = fun.toString();
|
|
40
|
-
const argString = Object.is(arg,
|
|
38
|
+
const argString = Object.is(arg, void 0) ? "undefined" : JSON.stringify(arg);
|
|
41
39
|
return `(${source})(${argString})`;
|
|
42
40
|
}
|
|
43
|
-
if (arg !==
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
if (arg !== void 0)
|
|
42
|
+
throw new Error("Cannot evaluate a string with arguments");
|
|
43
|
+
if ((0, import_rtti.isString)(fun))
|
|
44
|
+
return fun;
|
|
45
|
+
if (fun.content !== void 0)
|
|
46
|
+
return fun.content;
|
|
47
|
+
if (fun.path !== void 0) {
|
|
48
|
+
let source = await platform.fs().promises.readFile(fun.path, "utf8");
|
|
49
|
+
if (addSourceUrl)
|
|
50
|
+
source = addSourceUrlToScript(source, fun.path);
|
|
49
51
|
return source;
|
|
50
52
|
}
|
|
51
|
-
throw new Error(
|
|
53
|
+
throw new Error("Either path or content property must be present");
|
|
52
54
|
}
|
|
53
55
|
function addSourceUrlToScript(source, path) {
|
|
54
|
-
return `${source}
|
|
55
|
-
}
|
|
56
|
+
return `${source}
|
|
57
|
+
//# sourceURL=${path.replace(/\n/g, "")}`;
|
|
58
|
+
}
|
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
60
|
+
0 && (module.exports = {
|
|
61
|
+
addSourceUrlToScript,
|
|
62
|
+
envObjectToArray,
|
|
63
|
+
evaluationScript
|
|
64
|
+
});
|
|
@@ -1,52 +1,55 @@
|
|
|
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 clientInstrumentation_exports = {};
|
|
20
|
+
__export(clientInstrumentation_exports, {
|
|
21
|
+
createInstrumentation: () => createInstrumentation
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
/**
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
*
|
|
10
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
-
* you may not use this file except in compliance with the License.
|
|
12
|
-
* You may obtain a copy of the License at
|
|
13
|
-
*
|
|
14
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
-
*
|
|
16
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
-
* See the License for the specific language governing permissions and
|
|
20
|
-
* limitations under the License.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
// Instrumentation can mutate the data, for example change apiName or stepId.
|
|
24
|
-
|
|
23
|
+
module.exports = __toCommonJS(clientInstrumentation_exports);
|
|
25
24
|
function createInstrumentation() {
|
|
26
25
|
const listeners = [];
|
|
27
26
|
return new Proxy({}, {
|
|
28
27
|
get: (obj, prop) => {
|
|
29
|
-
if (typeof prop !==
|
|
30
|
-
|
|
31
|
-
if (prop ===
|
|
32
|
-
|
|
33
|
-
if (prop
|
|
28
|
+
if (typeof prop !== "string")
|
|
29
|
+
return obj[prop];
|
|
30
|
+
if (prop === "addListener")
|
|
31
|
+
return (listener) => listeners.push(listener);
|
|
32
|
+
if (prop === "removeListener")
|
|
33
|
+
return (listener) => listeners.splice(listeners.indexOf(listener), 1);
|
|
34
|
+
if (prop === "removeAllListeners")
|
|
35
|
+
return () => listeners.splice(0, listeners.length);
|
|
36
|
+
if (prop.startsWith("run")) {
|
|
34
37
|
return async (...params) => {
|
|
35
|
-
for (const listener of listeners)
|
|
36
|
-
|
|
37
|
-
await ((_prop = (_ref = listener)[prop]) === null || _prop === void 0 ? void 0 : _prop.call(_ref, ...params));
|
|
38
|
-
}
|
|
38
|
+
for (const listener of listeners)
|
|
39
|
+
await listener[prop]?.(...params);
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
|
-
if (prop.startsWith(
|
|
42
|
+
if (prop.startsWith("on")) {
|
|
42
43
|
return (...params) => {
|
|
43
|
-
for (const listener of listeners)
|
|
44
|
-
|
|
45
|
-
(_prop2 = (_ref2 = listener)[prop]) === null || _prop2 === void 0 || _prop2.call(_ref2, ...params);
|
|
46
|
-
}
|
|
44
|
+
for (const listener of listeners)
|
|
45
|
+
listener[prop]?.(...params);
|
|
47
46
|
};
|
|
48
47
|
}
|
|
49
48
|
return obj[prop];
|
|
50
49
|
}
|
|
51
50
|
});
|
|
52
|
-
}
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
createInstrumentation
|
|
55
|
+
});
|
|
@@ -1,31 +1,33 @@
|
|
|
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 clientStackTrace_exports = {};
|
|
20
|
+
__export(clientStackTrace_exports, {
|
|
21
|
+
captureLibraryStackTrace: () => captureLibraryStackTrace
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
/**
|
|
9
|
-
* Copyright (c) Microsoft Corporation.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
|
|
23
|
+
module.exports = __toCommonJS(clientStackTrace_exports);
|
|
24
|
+
var import_stackTrace = require("../utils/isomorphic/stackTrace");
|
|
24
25
|
function captureLibraryStackTrace(platform) {
|
|
25
|
-
const stack = (0,
|
|
26
|
-
let parsedFrames = stack.map(line => {
|
|
27
|
-
const frame = (0,
|
|
28
|
-
if (!frame || !frame.file)
|
|
26
|
+
const stack = (0, import_stackTrace.captureRawStack)();
|
|
27
|
+
let parsedFrames = stack.map((line) => {
|
|
28
|
+
const frame = (0, import_stackTrace.parseStackFrame)(line, platform.pathSeparator, platform.showInternalStackFrames());
|
|
29
|
+
if (!frame || !frame.file)
|
|
30
|
+
return null;
|
|
29
31
|
const isPlaywrightLibrary = !!platform.coreDir && frame.file.startsWith(platform.coreDir);
|
|
30
32
|
const parsed = {
|
|
31
33
|
frame,
|
|
@@ -34,10 +36,7 @@ function captureLibraryStackTrace(platform) {
|
|
|
34
36
|
};
|
|
35
37
|
return parsed;
|
|
36
38
|
}).filter(Boolean);
|
|
37
|
-
let apiName =
|
|
38
|
-
|
|
39
|
-
// Deepest transition between non-client code calling into client
|
|
40
|
-
// code is the api entry.
|
|
39
|
+
let apiName = "";
|
|
41
40
|
for (let i = 0; i < parsedFrames.length - 1; i++) {
|
|
42
41
|
const parsedFrame = parsedFrames[i];
|
|
43
42
|
if (parsedFrame.isPlaywrightLibrary && !parsedFrames[i + 1].isPlaywrightLibrary) {
|
|
@@ -46,20 +45,25 @@ function captureLibraryStackTrace(platform) {
|
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
function normalizeAPIName(name) {
|
|
49
|
-
if (!name)
|
|
48
|
+
if (!name)
|
|
49
|
+
return "";
|
|
50
50
|
const match = name.match(/(API|JS|CDP|[A-Z])(.*)/);
|
|
51
|
-
if (!match)
|
|
51
|
+
if (!match)
|
|
52
|
+
return name;
|
|
52
53
|
return match[1].toLowerCase() + match[2];
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
// This is for the inspector so that it did not include the test runner stack frames.
|
|
56
55
|
const filterPrefixes = platform.boxedStackPrefixes();
|
|
57
|
-
parsedFrames = parsedFrames.filter(f => {
|
|
58
|
-
if (filterPrefixes.some(prefix => f.frame.file.startsWith(prefix)))
|
|
56
|
+
parsedFrames = parsedFrames.filter((f) => {
|
|
57
|
+
if (filterPrefixes.some((prefix) => f.frame.file.startsWith(prefix)))
|
|
58
|
+
return false;
|
|
59
59
|
return true;
|
|
60
60
|
});
|
|
61
61
|
return {
|
|
62
|
-
frames: parsedFrames.map(p => p.frame),
|
|
62
|
+
frames: parsedFrames.map((p) => p.frame),
|
|
63
63
|
apiName
|
|
64
64
|
};
|
|
65
|
-
}
|
|
65
|
+
}
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
captureLibraryStackTrace
|
|
69
|
+
});
|