@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
package/lib/server/input.js
CHANGED
|
@@ -1,91 +1,100 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty
|
|
4
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var input_exports = {};
|
|
30
|
+
__export(input_exports, {
|
|
31
|
+
Keyboard: () => Keyboard,
|
|
32
|
+
Mouse: () => Mouse,
|
|
33
|
+
Touchscreen: () => Touchscreen,
|
|
34
|
+
keypadLocation: () => keypadLocation,
|
|
35
|
+
resolveSmartModifier: () => resolveSmartModifier,
|
|
36
|
+
resolveSmartModifierString: () => resolveSmartModifierString
|
|
5
37
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
-
/**
|
|
14
|
-
* Copyright (c) Microsoft Corporation.
|
|
15
|
-
*
|
|
16
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
17
|
-
* you may not use this file except in compliance with the License.
|
|
18
|
-
* You may obtain a copy of the License at
|
|
19
|
-
*
|
|
20
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
21
|
-
*
|
|
22
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
23
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
24
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
25
|
-
* See the License for the specific language governing permissions and
|
|
26
|
-
* limitations under the License.
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
const keypadLocation = exports.keypadLocation = keyboardLayout.keypadLocation;
|
|
30
|
-
const kModifiers = ['Alt', 'Control', 'Meta', 'Shift'];
|
|
38
|
+
module.exports = __toCommonJS(input_exports);
|
|
39
|
+
var import_utils = require("../utils");
|
|
40
|
+
var keyboardLayout = __toESM(require("./usKeyboardLayout"));
|
|
41
|
+
const keypadLocation = keyboardLayout.keypadLocation;
|
|
42
|
+
const kModifiers = ["Alt", "Control", "Meta", "Shift"];
|
|
31
43
|
class Keyboard {
|
|
32
|
-
constructor(raw) {
|
|
33
|
-
this._pressedModifiers = new Set();
|
|
34
|
-
this._pressedKeys = new Set();
|
|
35
|
-
this._raw = void 0;
|
|
44
|
+
constructor(raw, page) {
|
|
45
|
+
this._pressedModifiers = /* @__PURE__ */ new Set();
|
|
46
|
+
this._pressedKeys = /* @__PURE__ */ new Set();
|
|
36
47
|
this._raw = raw;
|
|
48
|
+
this._page = page;
|
|
37
49
|
}
|
|
38
|
-
async down(key) {
|
|
50
|
+
async down(progress, key) {
|
|
39
51
|
const description = this._keyDescriptionForString(key);
|
|
40
52
|
const autoRepeat = this._pressedKeys.has(description.code);
|
|
41
53
|
this._pressedKeys.add(description.code);
|
|
42
|
-
if (kModifiers.includes(description.key))
|
|
43
|
-
|
|
54
|
+
if (kModifiers.includes(description.key))
|
|
55
|
+
this._pressedModifiers.add(description.key);
|
|
56
|
+
await this._raw.keydown(progress, this._pressedModifiers, key, description, autoRepeat);
|
|
44
57
|
}
|
|
45
58
|
_keyDescriptionForString(str) {
|
|
46
59
|
const keyString = resolveSmartModifierString(str);
|
|
47
60
|
let description = usKeyboardLayout.get(keyString);
|
|
48
|
-
(0,
|
|
49
|
-
const shift = this._pressedModifiers.has(
|
|
61
|
+
(0, import_utils.assert)(description, `Unknown key: "${keyString}"`);
|
|
62
|
+
const shift = this._pressedModifiers.has("Shift");
|
|
50
63
|
description = shift && description.shifted ? description.shifted : description;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (this._pressedModifiers.size > 1 || !this._pressedModifiers.has('Shift') && this._pressedModifiers.size === 1) return {
|
|
54
|
-
...description,
|
|
55
|
-
text: ''
|
|
56
|
-
};
|
|
64
|
+
if (this._pressedModifiers.size > 1 || !this._pressedModifiers.has("Shift") && this._pressedModifiers.size === 1)
|
|
65
|
+
return { ...description, text: "" };
|
|
57
66
|
return description;
|
|
58
67
|
}
|
|
59
|
-
async up(key) {
|
|
68
|
+
async up(progress, key) {
|
|
60
69
|
const description = this._keyDescriptionForString(key);
|
|
61
|
-
if (kModifiers.includes(description.key))
|
|
70
|
+
if (kModifiers.includes(description.key))
|
|
71
|
+
this._pressedModifiers.delete(description.key);
|
|
62
72
|
this._pressedKeys.delete(description.code);
|
|
63
|
-
await this._raw.keyup(this._pressedModifiers, key, description);
|
|
73
|
+
await this._raw.keyup(progress, this._pressedModifiers, key, description);
|
|
64
74
|
}
|
|
65
|
-
async insertText(text) {
|
|
66
|
-
await this._raw.sendText(text);
|
|
75
|
+
async insertText(progress, text) {
|
|
76
|
+
await this._raw.sendText(progress, text);
|
|
67
77
|
}
|
|
68
|
-
async type(text, options) {
|
|
69
|
-
const delay = options && options.delay ||
|
|
78
|
+
async type(progress, text, options) {
|
|
79
|
+
const delay = options && options.delay || void 0;
|
|
70
80
|
for (const char of text) {
|
|
71
81
|
if (usKeyboardLayout.has(char)) {
|
|
72
|
-
await this.press(char, {
|
|
73
|
-
delay
|
|
74
|
-
});
|
|
82
|
+
await this.press(progress, char, { delay });
|
|
75
83
|
} else {
|
|
76
|
-
if (delay)
|
|
77
|
-
|
|
84
|
+
if (delay)
|
|
85
|
+
await progress.wait(delay);
|
|
86
|
+
await this.insertText(progress, char);
|
|
78
87
|
}
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
|
-
async press(key, options = {}) {
|
|
90
|
+
async press(progress, key, options = {}) {
|
|
82
91
|
function split(keyString) {
|
|
83
92
|
const keys = [];
|
|
84
|
-
let building =
|
|
93
|
+
let building = "";
|
|
85
94
|
for (const char of keyString) {
|
|
86
|
-
if (char ===
|
|
95
|
+
if (char === "+" && building) {
|
|
87
96
|
keys.push(building);
|
|
88
|
-
building =
|
|
97
|
+
building = "";
|
|
89
98
|
} else {
|
|
90
99
|
building += char;
|
|
91
100
|
}
|
|
@@ -95,22 +104,29 @@ class Keyboard {
|
|
|
95
104
|
}
|
|
96
105
|
const tokens = split(key);
|
|
97
106
|
key = tokens[tokens.length - 1];
|
|
98
|
-
for (let i = 0; i < tokens.length - 1; ++i)
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
107
|
+
for (let i = 0; i < tokens.length - 1; ++i)
|
|
108
|
+
await this.down(progress, tokens[i]);
|
|
109
|
+
await this.down(progress, key);
|
|
110
|
+
if (options.delay)
|
|
111
|
+
await progress.wait(options.delay);
|
|
112
|
+
await this.up(progress, key);
|
|
113
|
+
for (let i = tokens.length - 2; i >= 0; --i)
|
|
114
|
+
await this.up(progress, tokens[i]);
|
|
103
115
|
}
|
|
104
|
-
async ensureModifiers(mm) {
|
|
116
|
+
async ensureModifiers(progress, mm) {
|
|
105
117
|
const modifiers = mm.map(resolveSmartModifier);
|
|
106
118
|
for (const modifier of modifiers) {
|
|
107
|
-
if (!kModifiers.includes(modifier))
|
|
119
|
+
if (!kModifiers.includes(modifier))
|
|
120
|
+
throw new Error("Unknown modifier " + modifier);
|
|
108
121
|
}
|
|
109
122
|
const restore = Array.from(this._pressedModifiers);
|
|
110
123
|
for (const key of kModifiers) {
|
|
111
124
|
const needDown = modifiers.includes(key);
|
|
112
125
|
const isDown = this._pressedModifiers.has(key);
|
|
113
|
-
if (needDown && !isDown)
|
|
126
|
+
if (needDown && !isDown)
|
|
127
|
+
await this.down(progress, key);
|
|
128
|
+
else if (!needDown && isDown)
|
|
129
|
+
await this.up(progress, key);
|
|
114
130
|
}
|
|
115
131
|
return restore;
|
|
116
132
|
}
|
|
@@ -118,9 +134,9 @@ class Keyboard {
|
|
|
118
134
|
return this._pressedModifiers;
|
|
119
135
|
}
|
|
120
136
|
}
|
|
121
|
-
exports.Keyboard = Keyboard;
|
|
122
137
|
function resolveSmartModifierString(key) {
|
|
123
|
-
if (key ===
|
|
138
|
+
if (key === "ControlOrMeta")
|
|
139
|
+
return process.platform === "darwin" ? "Meta" : "Control";
|
|
124
140
|
return key;
|
|
125
141
|
}
|
|
126
142
|
function resolveSmartModifier(m) {
|
|
@@ -128,25 +144,19 @@ function resolveSmartModifier(m) {
|
|
|
128
144
|
}
|
|
129
145
|
class Mouse {
|
|
130
146
|
constructor(raw, page) {
|
|
131
|
-
this._keyboard = void 0;
|
|
132
147
|
this._x = 0;
|
|
133
148
|
this._y = 0;
|
|
134
|
-
this._lastButton =
|
|
135
|
-
this._buttons = new Set();
|
|
136
|
-
this._raw = void 0;
|
|
137
|
-
this._page = void 0;
|
|
149
|
+
this._lastButton = "none";
|
|
150
|
+
this._buttons = /* @__PURE__ */ new Set();
|
|
138
151
|
this._raw = raw;
|
|
139
152
|
this._page = page;
|
|
140
153
|
this._keyboard = this._page.keyboard;
|
|
141
154
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
};
|
|
147
|
-
const {
|
|
148
|
-
steps = 1
|
|
149
|
-
} = options;
|
|
155
|
+
currentPoint() {
|
|
156
|
+
return { x: this._x, y: this._y };
|
|
157
|
+
}
|
|
158
|
+
async move(progress, x, y, options = {}) {
|
|
159
|
+
const { steps = 1 } = options;
|
|
150
160
|
const fromX = this._x;
|
|
151
161
|
const fromY = this._y;
|
|
152
162
|
this._x = x;
|
|
@@ -154,156 +164,108 @@ class Mouse {
|
|
|
154
164
|
for (let i = 1; i <= steps; i++) {
|
|
155
165
|
const middleX = fromX + (x - fromX) * (i / steps);
|
|
156
166
|
const middleY = fromY + (y - fromY) * (i / steps);
|
|
157
|
-
await this._raw.move(middleX, middleY, this._lastButton, this._buttons, this._keyboard._modifiers(), !!options.forClick);
|
|
167
|
+
await this._raw.move(progress, middleX, middleY, this._lastButton, this._buttons, this._keyboard._modifiers(), !!options.forClick);
|
|
158
168
|
}
|
|
159
169
|
}
|
|
160
|
-
async down(options = {}
|
|
161
|
-
|
|
162
|
-
x: this._x,
|
|
163
|
-
y: this._y
|
|
164
|
-
};
|
|
165
|
-
const {
|
|
166
|
-
button = 'left',
|
|
167
|
-
clickCount = 1
|
|
168
|
-
} = options;
|
|
170
|
+
async down(progress, options = {}) {
|
|
171
|
+
const { button = "left", clickCount = 1 } = options;
|
|
169
172
|
this._lastButton = button;
|
|
170
173
|
this._buttons.add(button);
|
|
171
|
-
await this._raw.down(this._x, this._y, this._lastButton, this._buttons, this._keyboard._modifiers(), clickCount);
|
|
174
|
+
await this._raw.down(progress, this._x, this._y, this._lastButton, this._buttons, this._keyboard._modifiers(), clickCount);
|
|
172
175
|
}
|
|
173
|
-
async up(options = {}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
y: this._y
|
|
177
|
-
};
|
|
178
|
-
const {
|
|
179
|
-
button = 'left',
|
|
180
|
-
clickCount = 1
|
|
181
|
-
} = options;
|
|
182
|
-
this._lastButton = 'none';
|
|
176
|
+
async up(progress, options = {}) {
|
|
177
|
+
const { button = "left", clickCount = 1 } = options;
|
|
178
|
+
this._lastButton = "none";
|
|
183
179
|
this._buttons.delete(button);
|
|
184
|
-
await this._raw.up(this._x, this._y, button, this._buttons, this._keyboard._modifiers(), clickCount);
|
|
180
|
+
await this._raw.up(progress, this._x, this._y, button, this._buttons, this._keyboard._modifiers(), clickCount);
|
|
185
181
|
}
|
|
186
|
-
async click(x, y, options = {}
|
|
187
|
-
|
|
188
|
-
x,
|
|
189
|
-
y
|
|
190
|
-
};
|
|
191
|
-
const {
|
|
192
|
-
delay = null,
|
|
193
|
-
clickCount = 1
|
|
194
|
-
} = options;
|
|
182
|
+
async click(progress, x, y, options = {}) {
|
|
183
|
+
const { delay = null, clickCount = 1 } = options;
|
|
195
184
|
if (delay) {
|
|
196
|
-
this.move(x, y, {
|
|
197
|
-
forClick: true
|
|
198
|
-
});
|
|
185
|
+
this.move(progress, x, y, { forClick: true });
|
|
199
186
|
for (let cc = 1; cc <= clickCount; ++cc) {
|
|
200
|
-
await this.down({
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
await this.up({
|
|
206
|
-
...options,
|
|
207
|
-
clickCount: cc
|
|
208
|
-
});
|
|
209
|
-
if (cc < clickCount) await new Promise(f => setTimeout(f, delay));
|
|
187
|
+
await this.down(progress, { ...options, clickCount: cc });
|
|
188
|
+
await progress.wait(delay);
|
|
189
|
+
await this.up(progress, { ...options, clickCount: cc });
|
|
190
|
+
if (cc < clickCount)
|
|
191
|
+
await progress.wait(delay);
|
|
210
192
|
}
|
|
211
193
|
} else {
|
|
212
194
|
const promises = [];
|
|
213
|
-
promises.push(this.move(x, y, {
|
|
214
|
-
forClick: true
|
|
215
|
-
}));
|
|
195
|
+
promises.push(this.move(progress, x, y, { forClick: true }));
|
|
216
196
|
for (let cc = 1; cc <= clickCount; ++cc) {
|
|
217
|
-
promises.push(this.down({
|
|
218
|
-
|
|
219
|
-
clickCount: cc
|
|
220
|
-
}));
|
|
221
|
-
promises.push(this.up({
|
|
222
|
-
...options,
|
|
223
|
-
clickCount: cc
|
|
224
|
-
}));
|
|
197
|
+
promises.push(this.down(progress, { ...options, clickCount: cc }));
|
|
198
|
+
promises.push(this.up(progress, { ...options, clickCount: cc }));
|
|
225
199
|
}
|
|
226
200
|
await Promise.all(promises);
|
|
227
201
|
}
|
|
228
202
|
}
|
|
229
|
-
async
|
|
230
|
-
await this.
|
|
231
|
-
...options,
|
|
232
|
-
clickCount: 2
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
async wheel(deltaX, deltaY) {
|
|
236
|
-
await this._raw.wheel(this._x, this._y, this._buttons, this._keyboard._modifiers(), deltaX, deltaY);
|
|
203
|
+
async wheel(progress, deltaX, deltaY) {
|
|
204
|
+
await this._raw.wheel(progress, this._x, this._y, this._buttons, this._keyboard._modifiers(), deltaX, deltaY);
|
|
237
205
|
}
|
|
238
206
|
}
|
|
239
|
-
|
|
240
|
-
|
|
207
|
+
const aliases = /* @__PURE__ */ new Map([
|
|
208
|
+
["ShiftLeft", ["Shift"]],
|
|
209
|
+
["ControlLeft", ["Control"]],
|
|
210
|
+
["AltLeft", ["Alt"]],
|
|
211
|
+
["MetaLeft", ["Meta"]],
|
|
212
|
+
["Enter", ["\n", "\r"]]
|
|
213
|
+
]);
|
|
241
214
|
const usKeyboardLayout = buildLayoutClosure(keyboardLayout.USKeyboardLayout);
|
|
242
215
|
function buildLayoutClosure(layout) {
|
|
243
|
-
const result = new Map();
|
|
216
|
+
const result = /* @__PURE__ */ new Map();
|
|
244
217
|
for (const code in layout) {
|
|
245
218
|
const definition = layout[code];
|
|
246
219
|
const description = {
|
|
247
|
-
key: definition.key ||
|
|
220
|
+
key: definition.key || "",
|
|
248
221
|
keyCode: definition.keyCode || 0,
|
|
249
222
|
keyCodeWithoutLocation: definition.keyCodeWithoutLocation || definition.keyCode || 0,
|
|
250
223
|
code,
|
|
251
|
-
text: definition.text ||
|
|
224
|
+
text: definition.text || "",
|
|
252
225
|
location: definition.location || 0
|
|
253
226
|
};
|
|
254
|
-
if (definition.key.length === 1)
|
|
255
|
-
|
|
256
|
-
// Generate shifted definition.
|
|
227
|
+
if (definition.key.length === 1)
|
|
228
|
+
description.text = description.key;
|
|
257
229
|
let shiftedDescription;
|
|
258
230
|
if (definition.shiftKey) {
|
|
259
|
-
(0,
|
|
260
|
-
shiftedDescription = {
|
|
261
|
-
...description
|
|
262
|
-
};
|
|
231
|
+
(0, import_utils.assert)(definition.shiftKey.length === 1);
|
|
232
|
+
shiftedDescription = { ...description };
|
|
263
233
|
shiftedDescription.key = definition.shiftKey;
|
|
264
234
|
shiftedDescription.text = definition.shiftKey;
|
|
265
|
-
if (definition.shiftKeyCode)
|
|
235
|
+
if (definition.shiftKeyCode)
|
|
236
|
+
shiftedDescription.keyCode = definition.shiftKeyCode;
|
|
266
237
|
}
|
|
267
|
-
|
|
268
|
-
// Map from code: Digit3 -> { ... description, shifted }
|
|
269
|
-
result.set(code, {
|
|
270
|
-
...description,
|
|
271
|
-
shifted: shiftedDescription
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
// Map from aliases: Shift -> non-shiftable definition
|
|
238
|
+
result.set(code, { ...description, shifted: shiftedDescription });
|
|
275
239
|
if (aliases.has(code)) {
|
|
276
|
-
for (const alias of aliases.get(code))
|
|
240
|
+
for (const alias of aliases.get(code))
|
|
241
|
+
result.set(alias, description);
|
|
277
242
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
if (
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
// Map from shiftKey, no shifted
|
|
286
|
-
if (shiftedDescription) result.set(shiftedDescription.key, {
|
|
287
|
-
...shiftedDescription,
|
|
288
|
-
shifted: undefined
|
|
289
|
-
});
|
|
243
|
+
if (definition.location)
|
|
244
|
+
continue;
|
|
245
|
+
if (description.key.length === 1)
|
|
246
|
+
result.set(description.key, description);
|
|
247
|
+
if (shiftedDescription)
|
|
248
|
+
result.set(shiftedDescription.key, { ...shiftedDescription, shifted: void 0 });
|
|
290
249
|
}
|
|
291
250
|
return result;
|
|
292
251
|
}
|
|
293
252
|
class Touchscreen {
|
|
294
253
|
constructor(raw, page) {
|
|
295
|
-
this._raw = void 0;
|
|
296
|
-
this._page = void 0;
|
|
297
254
|
this._raw = raw;
|
|
298
255
|
this._page = page;
|
|
299
256
|
}
|
|
300
|
-
async tap(x, y
|
|
301
|
-
if (
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
};
|
|
305
|
-
if (!this._page._browserContext._options.hasTouch) throw new Error('hasTouch must be enabled on the browser context before using the touchscreen.');
|
|
306
|
-
await this._raw.tap(x, y, this._page.keyboard._modifiers());
|
|
257
|
+
async tap(progress, x, y) {
|
|
258
|
+
if (!this._page.browserContext._options.hasTouch)
|
|
259
|
+
throw new Error("hasTouch must be enabled on the browser context before using the touchscreen.");
|
|
260
|
+
await this._raw.tap(progress, x, y, this._page.keyboard._modifiers());
|
|
307
261
|
}
|
|
308
262
|
}
|
|
309
|
-
|
|
263
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
264
|
+
0 && (module.exports = {
|
|
265
|
+
Keyboard,
|
|
266
|
+
Mouse,
|
|
267
|
+
Touchscreen,
|
|
268
|
+
keypadLocation,
|
|
269
|
+
resolveSmartModifier,
|
|
270
|
+
resolveSmartModifierString
|
|
271
|
+
});
|
|
@@ -1,56 +1,62 @@
|
|
|
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 instrumentation_exports = {};
|
|
20
|
+
__export(instrumentation_exports, {
|
|
21
|
+
SdkObject: () => SdkObject,
|
|
22
|
+
createInstrumentation: () => createInstrumentation,
|
|
23
|
+
createRootSdkObject: () => createRootSdkObject,
|
|
24
|
+
serverSideCallMetadata: () => serverSideCallMetadata
|
|
5
25
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _crypto = require("./utils/crypto");
|
|
11
|
-
/**
|
|
12
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
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 SdkObject extends _events.EventEmitter {
|
|
26
|
+
module.exports = __toCommonJS(instrumentation_exports);
|
|
27
|
+
var import_events = require("events");
|
|
28
|
+
var import_crypto = require("./utils/crypto");
|
|
29
|
+
class SdkObject extends import_events.EventEmitter {
|
|
28
30
|
constructor(parent, guidPrefix, guid) {
|
|
29
31
|
super();
|
|
30
|
-
this.guid =
|
|
31
|
-
this.attribution = void 0;
|
|
32
|
-
this.instrumentation = void 0;
|
|
33
|
-
this.guid = guid || `${guidPrefix || ''}@${(0, _crypto.createGuid)()}`;
|
|
32
|
+
this.guid = guid || `${guidPrefix || ""}@${(0, import_crypto.createGuid)()}`;
|
|
34
33
|
this.setMaxListeners(0);
|
|
35
|
-
this.attribution = {
|
|
36
|
-
...parent.attribution
|
|
37
|
-
};
|
|
34
|
+
this.attribution = { ...parent.attribution };
|
|
38
35
|
this.instrumentation = parent.instrumentation;
|
|
39
36
|
}
|
|
40
37
|
}
|
|
41
|
-
|
|
38
|
+
function createRootSdkObject() {
|
|
39
|
+
const fakeParent = { attribution: {}, instrumentation: createInstrumentation() };
|
|
40
|
+
const root = new SdkObject(fakeParent);
|
|
41
|
+
root.guid = "";
|
|
42
|
+
return root;
|
|
43
|
+
}
|
|
42
44
|
function createInstrumentation() {
|
|
43
|
-
const listeners = new Map();
|
|
45
|
+
const listeners = /* @__PURE__ */ new Map();
|
|
44
46
|
return new Proxy({}, {
|
|
45
47
|
get: (obj, prop) => {
|
|
46
|
-
if (typeof prop !==
|
|
47
|
-
|
|
48
|
-
if (prop ===
|
|
49
|
-
|
|
48
|
+
if (typeof prop !== "string")
|
|
49
|
+
return obj[prop];
|
|
50
|
+
if (prop === "addListener")
|
|
51
|
+
return (listener, context) => listeners.set(listener, context);
|
|
52
|
+
if (prop === "removeListener")
|
|
53
|
+
return (listener) => listeners.delete(listener);
|
|
54
|
+
if (!prop.startsWith("on"))
|
|
55
|
+
return obj[prop];
|
|
50
56
|
return async (sdkObject, ...params) => {
|
|
51
57
|
for (const [listener, context] of listeners) {
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
if (!context || sdkObject.attribution.context === context)
|
|
59
|
+
await listener[prop]?.(sdkObject, ...params);
|
|
54
60
|
}
|
|
55
61
|
};
|
|
56
62
|
}
|
|
@@ -58,13 +64,20 @@ function createInstrumentation() {
|
|
|
58
64
|
}
|
|
59
65
|
function serverSideCallMetadata() {
|
|
60
66
|
return {
|
|
61
|
-
id:
|
|
67
|
+
id: "",
|
|
62
68
|
startTime: 0,
|
|
63
69
|
endTime: 0,
|
|
64
|
-
type:
|
|
65
|
-
method:
|
|
70
|
+
type: "Internal",
|
|
71
|
+
method: "",
|
|
66
72
|
params: {},
|
|
67
73
|
log: [],
|
|
68
74
|
isServerSide: true
|
|
69
75
|
};
|
|
70
|
-
}
|
|
76
|
+
}
|
|
77
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
78
|
+
0 && (module.exports = {
|
|
79
|
+
SdkObject,
|
|
80
|
+
createInstrumentation,
|
|
81
|
+
createRootSdkObject,
|
|
82
|
+
serverSideCallMetadata
|
|
83
|
+
});
|