patchright-core 1.51.2 → 1.52.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/browsers.json +15 -13
- package/lib/androidServerImpl.js +42 -48
- package/lib/browserServerImpl.js +54 -67
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +312 -328
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +141 -228
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +57 -61
- package/lib/client/browserContext.js +297 -326
- package/lib/client/browserType.js +92 -106
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +82 -95
- package/lib/client/clientHelper.js +46 -38
- 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 +190 -212
- 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 +73 -75
- package/lib/client/elementHandle.js +111 -147
- 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 +135 -158
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +187 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +40 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -28
- package/lib/client/locator.js +161 -245
- package/lib/client/network.js +277 -295
- package/lib/client/page.js +270 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -66
- package/lib/client/selectors.js +48 -46
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +49 -39
- package/lib/client/tracing.js +48 -84
- 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 +61 -56
- package/lib/client/worker.js +48 -58
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/clockSource.js +26 -5
- package/lib/generated/consoleApiSource.js +26 -5
- package/lib/generated/injectedScriptSource.js +26 -5
- package/lib/generated/pollingRecorderSource.js +26 -5
- package/lib/generated/utilityScriptSource.js +26 -5
- package/lib/generated/webSocketMockSource.js +375 -4
- package/lib/inProcessFactory.js +53 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +53 -46
- package/lib/protocol/debug.js +209 -25
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2714 -2714
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +140 -157
- package/lib/remote/playwrightServer.js +99 -84
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +216 -209
- package/lib/server/android/backendAdb.js +89 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +221 -155
- package/lib/server/bidi/bidiChromium.js +106 -79
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +128 -113
- package/lib/server/bidi/bidiFirefox.js +76 -69
- package/lib/server/bidi/bidiInput.js +86 -97
- package/lib/server/bidi/bidiNetworkManager.js +137 -154
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +247 -219
- 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 +144 -131
- 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 +76 -84
- package/lib/server/browserContext.js +321 -346
- package/lib/server/browserType.js +169 -182
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +212 -190
- package/lib/server/chromium/chromiumSwitches.js +86 -64
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +253 -273
- package/lib/server/chromium/crConnection.js +91 -116
- package/lib/server/chromium/crCoverage.js +113 -127
- package/lib/server/chromium/crDevTools.js +59 -51
- package/lib/server/chromium/crDragDrop.js +62 -79
- package/lib/server/chromium/crExecutionContext.js +88 -83
- package/lib/server/chromium/crInput.js +97 -95
- package/lib/server/chromium/crNetworkManager.js +288 -403
- package/lib/server/chromium/crPage.js +522 -608
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +82 -67
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +65 -99
- package/lib/server/clock.js +62 -50
- package/lib/server/codegen/csharp.js +185 -160
- package/lib/server/codegen/java.js +155 -128
- 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 +140 -125
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +105 -86
- package/lib/server/debugController.js +97 -124
- package/lib/server/debugger.js +82 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +50 -50
- package/lib/server/dialog.js +36 -35
- package/lib/server/dispatchers/androidDispatcher.js +196 -107
- package/lib/server/dispatchers/artifactDispatcher.js +62 -62
- package/lib/server/dispatchers/browserContextDispatcher.js +176 -205
- package/lib/server/dispatchers/browserDispatcher.js +78 -97
- package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
- package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
- package/lib/server/dispatchers/debugControllerDispatcher.js +48 -66
- package/lib/server/dispatchers/dialogDispatcher.js +30 -27
- package/lib/server/dispatchers/dispatcher.js +169 -220
- package/lib/server/dispatchers/electronDispatcher.js +54 -57
- package/lib/server/dispatchers/elementHandlerDispatcher.js +77 -119
- package/lib/server/dispatchers/frameDispatcher.js +99 -163
- package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
- package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
- package/lib/server/dispatchers/localUtilsDispatcher.js +95 -80
- package/lib/server/dispatchers/networkDispatchers.js +90 -107
- package/lib/server/dispatchers/pageDispatcher.js +128 -169
- package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
- package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
- package/lib/server/dispatchers/streamDispatcher.js +42 -45
- package/lib/server/dispatchers/tracingDispatcher.js +36 -41
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +96 -131
- package/lib/server/dispatchers/writableStreamDispatcher.js +54 -38
- package/lib/server/dom.js +413 -443
- package/lib/server/download.js +45 -35
- package/lib/server/electron/electron.js +156 -176
- package/lib/server/electron/loader.js +8 -36
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +289 -323
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +65 -59
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +213 -277
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +91 -73
- package/lib/server/firefox/ffInput.js +67 -69
- package/lib/server/firefox/ffNetworkManager.js +131 -110
- package/lib/server/firefox/ffPage.js +236 -273
- package/lib/server/firefox/firefox.js +76 -67
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +77 -111
- package/lib/server/frames.js +741 -891
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +287 -222
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +56 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +134 -163
- package/lib/server/instrumentation.js +49 -44
- package/lib/server/javascript.js +143 -134
- package/lib/server/launchApp.js +92 -73
- package/lib/server/localUtils.js +130 -122
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +262 -296
- package/lib/server/page.js +329 -426
- package/lib/server/pageBinding.js +88 -0
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +60 -67
- package/lib/server/progress.js +56 -51
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/contextRecorder.js +134 -138
- package/lib/server/recorder/recorderApp.js +127 -136
- package/lib/server/recorder/recorderCollection.js +56 -44
- package/lib/server/recorder/recorderFrontend.js +15 -4
- package/lib/server/recorder/recorderRunner.js +79 -103
- package/lib/server/recorder/recorderUtils.js +56 -45
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +177 -186
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +904 -792
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +166 -182
- package/lib/server/selectors.js +85 -46
- package/lib/server/socksClientCertificatesInterceptor.js +166 -185
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/storageScript.js +94 -100
- package/lib/server/timeoutSettings.js +58 -43
- package/lib/server/trace/recorder/snapshotter.js +70 -89
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +321 -333
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +168 -146
- package/lib/server/transport.js +124 -133
- 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 +37 -28
- package/lib/server/utils/debugLogger.js +69 -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 +138 -123
- 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 +143 -86
- 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 +73 -69
- 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 +76 -63
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +159 -176
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +84 -70
- package/lib/server/webkit/wkInput.js +82 -80
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +525 -619
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +77 -77
- package/lib/utils/isomorphic/ariaSnapshot.js +144 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/builtins.js +90 -0
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +121 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +340 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +47 -39
- package/lib/utils/isomorphic/mimeType.js +448 -25
- package/lib/utils/isomorphic/multimap.js +35 -27
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +183 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +113 -106
- package/lib/utils/isomorphic/time.js +41 -22
- package/lib/utils/isomorphic/timeoutRunner.js +55 -54
- package/lib/utils/isomorphic/traceUtils.js +38 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +112 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
- package/lib/utils.js +97 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/vite/htmlReport/index.html +21 -15
- package/lib/vite/recorder/assets/{codeMirrorModule-B9YMkrwa.js → codeMirrorModule-DVQi6prl.js} +1 -1
- package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
- package/lib/vite/recorder/index.html +1 -1
- package/lib/vite/traceViewer/assets/{codeMirrorModule-DpJ-EmBQ.js → codeMirrorModule-dvXVzLxY.js} +1 -1
- package/lib/vite/traceViewer/assets/defaultSettingsView-BjymbO6M.js +265 -0
- package/lib/vite/traceViewer/{defaultSettingsView.5fN5lw10.css → defaultSettingsView.QdHITyLI.css} +1 -1
- package/lib/vite/traceViewer/index.ChIUCJnj.js +2 -0
- package/lib/vite/traceViewer/index.html +3 -3
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/uiMode.html +3 -3
- package/lib/vite/traceViewer/uiMode.jUCiCtdp.js +5 -0
- package/lib/zipBundle.js +32 -23
- package/package.json +1 -1
- package/types/protocol.d.ts +436 -17
- package/types/types.d.ts +35 -16
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/traceViewer/assets/defaultSettingsView-DTenqiGw.js +0 -259
- package/lib/vite/traceViewer/index.CUq7VgrV.js +0 -2
- package/lib/vite/traceViewer/uiMode.CHJSAD7F.js +0 -5
package/lib/protocol/debug.js
CHANGED
|
@@ -1,27 +1,211 @@
|
|
|
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 debug_exports = {};
|
|
20
|
+
__export(debug_exports, {
|
|
21
|
+
commandsWithTracingSnapshots: () => commandsWithTracingSnapshots,
|
|
22
|
+
pausesBeforeInputActions: () => pausesBeforeInputActions,
|
|
23
|
+
slowMoActions: () => slowMoActions
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(debug_exports);
|
|
26
|
+
const slowMoActions = /* @__PURE__ */ new Set([
|
|
27
|
+
"Page.goBack",
|
|
28
|
+
"Page.goForward",
|
|
29
|
+
"Page.reload",
|
|
30
|
+
"Page.keyboardDown",
|
|
31
|
+
"Page.keyboardUp",
|
|
32
|
+
"Page.keyboardInsertText",
|
|
33
|
+
"Page.keyboardType",
|
|
34
|
+
"Page.keyboardPress",
|
|
35
|
+
"Page.mouseMove",
|
|
36
|
+
"Page.mouseDown",
|
|
37
|
+
"Page.mouseUp",
|
|
38
|
+
"Page.mouseClick",
|
|
39
|
+
"Page.mouseWheel",
|
|
40
|
+
"Page.touchscreenTap",
|
|
41
|
+
"Frame.blur",
|
|
42
|
+
"Frame.check",
|
|
43
|
+
"Frame.click",
|
|
44
|
+
"Frame.dragAndDrop",
|
|
45
|
+
"Frame.dblclick",
|
|
46
|
+
"Frame.dispatchEvent",
|
|
47
|
+
"Frame.fill",
|
|
48
|
+
"Frame.focus",
|
|
49
|
+
"Frame.goto",
|
|
50
|
+
"Frame.hover",
|
|
51
|
+
"Frame.press",
|
|
52
|
+
"Frame.selectOption",
|
|
53
|
+
"Frame.setInputFiles",
|
|
54
|
+
"Frame.tap",
|
|
55
|
+
"Frame.type",
|
|
56
|
+
"Frame.uncheck",
|
|
57
|
+
"ElementHandle.check",
|
|
58
|
+
"ElementHandle.click",
|
|
59
|
+
"ElementHandle.dblclick",
|
|
60
|
+
"ElementHandle.dispatchEvent",
|
|
61
|
+
"ElementHandle.fill",
|
|
62
|
+
"ElementHandle.focus",
|
|
63
|
+
"ElementHandle.hover",
|
|
64
|
+
"ElementHandle.press",
|
|
65
|
+
"ElementHandle.scrollIntoViewIfNeeded",
|
|
66
|
+
"ElementHandle.selectOption",
|
|
67
|
+
"ElementHandle.selectText",
|
|
68
|
+
"ElementHandle.setInputFiles",
|
|
69
|
+
"ElementHandle.tap",
|
|
70
|
+
"ElementHandle.type",
|
|
71
|
+
"ElementHandle.uncheck"
|
|
72
|
+
]);
|
|
73
|
+
const commandsWithTracingSnapshots = /* @__PURE__ */ new Set([
|
|
74
|
+
"EventTarget.waitForEventInfo",
|
|
75
|
+
"BrowserContext.waitForEventInfo",
|
|
76
|
+
"Page.waitForEventInfo",
|
|
77
|
+
"WebSocket.waitForEventInfo",
|
|
78
|
+
"ElectronApplication.waitForEventInfo",
|
|
79
|
+
"AndroidDevice.waitForEventInfo",
|
|
80
|
+
"Page.emulateMedia",
|
|
81
|
+
"Page.goBack",
|
|
82
|
+
"Page.goForward",
|
|
83
|
+
"Page.reload",
|
|
84
|
+
"Page.expectScreenshot",
|
|
85
|
+
"Page.screenshot",
|
|
86
|
+
"Page.setViewportSize",
|
|
87
|
+
"Page.keyboardDown",
|
|
88
|
+
"Page.keyboardUp",
|
|
89
|
+
"Page.keyboardInsertText",
|
|
90
|
+
"Page.keyboardType",
|
|
91
|
+
"Page.keyboardPress",
|
|
92
|
+
"Page.mouseMove",
|
|
93
|
+
"Page.mouseDown",
|
|
94
|
+
"Page.mouseUp",
|
|
95
|
+
"Page.mouseClick",
|
|
96
|
+
"Page.mouseWheel",
|
|
97
|
+
"Page.touchscreenTap",
|
|
98
|
+
"Page.accessibilitySnapshot",
|
|
99
|
+
"Frame.evalOnSelector",
|
|
100
|
+
"Frame.evalOnSelectorAll",
|
|
101
|
+
"Frame.addScriptTag",
|
|
102
|
+
"Frame.addStyleTag",
|
|
103
|
+
"Frame.ariaSnapshot",
|
|
104
|
+
"Frame.blur",
|
|
105
|
+
"Frame.check",
|
|
106
|
+
"Frame.click",
|
|
107
|
+
"Frame.content",
|
|
108
|
+
"Frame.dragAndDrop",
|
|
109
|
+
"Frame.dblclick",
|
|
110
|
+
"Frame.dispatchEvent",
|
|
111
|
+
"Frame.evaluateExpression",
|
|
112
|
+
"Frame.evaluateExpressionHandle",
|
|
113
|
+
"Frame.fill",
|
|
114
|
+
"Frame.focus",
|
|
115
|
+
"Frame.getAttribute",
|
|
116
|
+
"Frame.goto",
|
|
117
|
+
"Frame.hover",
|
|
118
|
+
"Frame.innerHTML",
|
|
119
|
+
"Frame.innerText",
|
|
120
|
+
"Frame.inputValue",
|
|
121
|
+
"Frame.isChecked",
|
|
122
|
+
"Frame.isDisabled",
|
|
123
|
+
"Frame.isEnabled",
|
|
124
|
+
"Frame.isHidden",
|
|
125
|
+
"Frame.isVisible",
|
|
126
|
+
"Frame.isEditable",
|
|
127
|
+
"Frame.press",
|
|
128
|
+
"Frame.querySelector",
|
|
129
|
+
"Frame.querySelectorAll",
|
|
130
|
+
"Frame.queryCount",
|
|
131
|
+
"Frame.selectOption",
|
|
132
|
+
"Frame.setContent",
|
|
133
|
+
"Frame.setInputFiles",
|
|
134
|
+
"Frame.tap",
|
|
135
|
+
"Frame.textContent",
|
|
136
|
+
"Frame.type",
|
|
137
|
+
"Frame.uncheck",
|
|
138
|
+
"Frame.waitForTimeout",
|
|
139
|
+
"Frame.waitForFunction",
|
|
140
|
+
"Frame.waitForSelector",
|
|
141
|
+
"Frame.expect",
|
|
142
|
+
"JSHandle.evaluateExpression",
|
|
143
|
+
"ElementHandle.evaluateExpression",
|
|
144
|
+
"JSHandle.evaluateExpressionHandle",
|
|
145
|
+
"ElementHandle.evaluateExpressionHandle",
|
|
146
|
+
"ElementHandle.evalOnSelector",
|
|
147
|
+
"ElementHandle.evalOnSelectorAll",
|
|
148
|
+
"ElementHandle.boundingBox",
|
|
149
|
+
"ElementHandle.check",
|
|
150
|
+
"ElementHandle.click",
|
|
151
|
+
"ElementHandle.contentFrame",
|
|
152
|
+
"ElementHandle.dblclick",
|
|
153
|
+
"ElementHandle.dispatchEvent",
|
|
154
|
+
"ElementHandle.fill",
|
|
155
|
+
"ElementHandle.focus",
|
|
156
|
+
"ElementHandle.hover",
|
|
157
|
+
"ElementHandle.innerHTML",
|
|
158
|
+
"ElementHandle.innerText",
|
|
159
|
+
"ElementHandle.inputValue",
|
|
160
|
+
"ElementHandle.isChecked",
|
|
161
|
+
"ElementHandle.isDisabled",
|
|
162
|
+
"ElementHandle.isEditable",
|
|
163
|
+
"ElementHandle.isEnabled",
|
|
164
|
+
"ElementHandle.isHidden",
|
|
165
|
+
"ElementHandle.isVisible",
|
|
166
|
+
"ElementHandle.press",
|
|
167
|
+
"ElementHandle.querySelector",
|
|
168
|
+
"ElementHandle.querySelectorAll",
|
|
169
|
+
"ElementHandle.screenshot",
|
|
170
|
+
"ElementHandle.scrollIntoViewIfNeeded",
|
|
171
|
+
"ElementHandle.selectOption",
|
|
172
|
+
"ElementHandle.selectText",
|
|
173
|
+
"ElementHandle.setInputFiles",
|
|
174
|
+
"ElementHandle.tap",
|
|
175
|
+
"ElementHandle.textContent",
|
|
176
|
+
"ElementHandle.type",
|
|
177
|
+
"ElementHandle.uncheck",
|
|
178
|
+
"ElementHandle.waitForElementState",
|
|
179
|
+
"ElementHandle.waitForSelector"
|
|
180
|
+
]);
|
|
181
|
+
const pausesBeforeInputActions = /* @__PURE__ */ new Set([
|
|
182
|
+
"Frame.check",
|
|
183
|
+
"Frame.click",
|
|
184
|
+
"Frame.dragAndDrop",
|
|
185
|
+
"Frame.dblclick",
|
|
186
|
+
"Frame.fill",
|
|
187
|
+
"Frame.hover",
|
|
188
|
+
"Frame.press",
|
|
189
|
+
"Frame.selectOption",
|
|
190
|
+
"Frame.setInputFiles",
|
|
191
|
+
"Frame.tap",
|
|
192
|
+
"Frame.type",
|
|
193
|
+
"Frame.uncheck",
|
|
194
|
+
"ElementHandle.check",
|
|
195
|
+
"ElementHandle.click",
|
|
196
|
+
"ElementHandle.dblclick",
|
|
197
|
+
"ElementHandle.fill",
|
|
198
|
+
"ElementHandle.hover",
|
|
199
|
+
"ElementHandle.press",
|
|
200
|
+
"ElementHandle.selectOption",
|
|
201
|
+
"ElementHandle.setInputFiles",
|
|
202
|
+
"ElementHandle.tap",
|
|
203
|
+
"ElementHandle.type",
|
|
204
|
+
"ElementHandle.uncheck"
|
|
205
|
+
]);
|
|
206
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
207
|
+
0 && (module.exports = {
|
|
208
|
+
commandsWithTracingSnapshots,
|
|
209
|
+
pausesBeforeInputActions,
|
|
210
|
+
slowMoActions
|
|
5
211
|
});
|
|
6
|
-
exports.slowMoActions = exports.pausesBeforeInputActions = exports.commandsWithTracingSnapshots = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Copyright (c) Microsoft Corporation.
|
|
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
|
-
// This file is generated by generate_channels.js, do not edit manually.
|
|
24
|
-
|
|
25
|
-
const slowMoActions = exports.slowMoActions = new Set(['Page.goBack', 'Page.goForward', 'Page.reload', 'Page.keyboardDown', 'Page.keyboardUp', 'Page.keyboardInsertText', 'Page.keyboardType', 'Page.keyboardPress', 'Page.mouseMove', 'Page.mouseDown', 'Page.mouseUp', 'Page.mouseClick', 'Page.mouseWheel', 'Page.touchscreenTap', 'Frame.blur', 'Frame.check', 'Frame.click', 'Frame.dragAndDrop', 'Frame.dblclick', 'Frame.dispatchEvent', 'Frame.fill', 'Frame.focus', 'Frame.goto', 'Frame.hover', 'Frame.press', 'Frame.selectOption', 'Frame.setInputFiles', 'Frame.tap', 'Frame.type', 'Frame.uncheck', 'ElementHandle.check', 'ElementHandle.click', 'ElementHandle.dblclick', 'ElementHandle.dispatchEvent', 'ElementHandle.fill', 'ElementHandle.focus', 'ElementHandle.hover', 'ElementHandle.press', 'ElementHandle.scrollIntoViewIfNeeded', 'ElementHandle.selectOption', 'ElementHandle.selectText', 'ElementHandle.setInputFiles', 'ElementHandle.tap', 'ElementHandle.type', 'ElementHandle.uncheck']);
|
|
26
|
-
const commandsWithTracingSnapshots = exports.commandsWithTracingSnapshots = new Set(['EventTarget.waitForEventInfo', 'BrowserContext.waitForEventInfo', 'Page.waitForEventInfo', 'WebSocket.waitForEventInfo', 'ElectronApplication.waitForEventInfo', 'AndroidDevice.waitForEventInfo', 'Page.emulateMedia', 'Page.goBack', 'Page.goForward', 'Page.reload', 'Page.expectScreenshot', 'Page.screenshot', 'Page.setViewportSize', 'Page.keyboardDown', 'Page.keyboardUp', 'Page.keyboardInsertText', 'Page.keyboardType', 'Page.keyboardPress', 'Page.mouseMove', 'Page.mouseDown', 'Page.mouseUp', 'Page.mouseClick', 'Page.mouseWheel', 'Page.touchscreenTap', 'Page.accessibilitySnapshot', 'Frame.evalOnSelector', 'Frame.evalOnSelectorAll', 'Frame.addScriptTag', 'Frame.addStyleTag', 'Frame.ariaSnapshot', 'Frame.blur', 'Frame.check', 'Frame.click', 'Frame.content', 'Frame.dragAndDrop', 'Frame.dblclick', 'Frame.dispatchEvent', 'Frame.evaluateExpression', 'Frame.evaluateExpressionHandle', 'Frame.fill', 'Frame.focus', 'Frame.getAttribute', 'Frame.goto', 'Frame.hover', 'Frame.innerHTML', 'Frame.innerText', 'Frame.inputValue', 'Frame.isChecked', 'Frame.isDisabled', 'Frame.isEnabled', 'Frame.isHidden', 'Frame.isVisible', 'Frame.isEditable', 'Frame.press', 'Frame.querySelector', 'Frame.querySelectorAll', 'Frame.queryCount', 'Frame.selectOption', 'Frame.setContent', 'Frame.setInputFiles', 'Frame.tap', 'Frame.textContent', 'Frame.type', 'Frame.uncheck', 'Frame.waitForTimeout', 'Frame.waitForFunction', 'Frame.waitForSelector', 'Frame.expect', 'JSHandle.evaluateExpression', 'ElementHandle.evaluateExpression', 'JSHandle.evaluateExpressionHandle', 'ElementHandle.evaluateExpressionHandle', 'ElementHandle.evalOnSelector', 'ElementHandle.evalOnSelectorAll', 'ElementHandle.boundingBox', 'ElementHandle.check', 'ElementHandle.click', 'ElementHandle.contentFrame', 'ElementHandle.dblclick', 'ElementHandle.dispatchEvent', 'ElementHandle.fill', 'ElementHandle.focus', 'ElementHandle.hover', 'ElementHandle.innerHTML', 'ElementHandle.innerText', 'ElementHandle.inputValue', 'ElementHandle.isChecked', 'ElementHandle.isDisabled', 'ElementHandle.isEditable', 'ElementHandle.isEnabled', 'ElementHandle.isHidden', 'ElementHandle.isVisible', 'ElementHandle.press', 'ElementHandle.querySelector', 'ElementHandle.querySelectorAll', 'ElementHandle.screenshot', 'ElementHandle.scrollIntoViewIfNeeded', 'ElementHandle.selectOption', 'ElementHandle.selectText', 'ElementHandle.setInputFiles', 'ElementHandle.tap', 'ElementHandle.textContent', 'ElementHandle.type', 'ElementHandle.uncheck', 'ElementHandle.waitForElementState', 'ElementHandle.waitForSelector']);
|
|
27
|
-
const pausesBeforeInputActions = exports.pausesBeforeInputActions = new Set(['Frame.check', 'Frame.click', 'Frame.dragAndDrop', 'Frame.dblclick', 'Frame.fill', 'Frame.hover', 'Frame.press', 'Frame.selectOption', 'Frame.setInputFiles', 'Frame.tap', 'Frame.type', 'Frame.uncheck', 'ElementHandle.check', 'ElementHandle.click', 'ElementHandle.dblclick', 'ElementHandle.fill', 'ElementHandle.hover', 'ElementHandle.press', 'ElementHandle.selectOption', 'ElementHandle.setInputFiles', 'ElementHandle.tap', 'ElementHandle.type', 'ElementHandle.uncheck']);
|
|
@@ -1,173 +1,192 @@
|
|
|
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 serializers_exports = {};
|
|
20
|
+
__export(serializers_exports, {
|
|
21
|
+
parseSerializedValue: () => parseSerializedValue,
|
|
22
|
+
serializeValue: () => serializeValue
|
|
5
23
|
});
|
|
6
|
-
exports
|
|
7
|
-
exports.serializeValue = serializeValue;
|
|
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
|
-
|
|
24
|
+
module.exports = __toCommonJS(serializers_exports);
|
|
24
25
|
function parseSerializedValue(value, handles) {
|
|
25
|
-
return innerParseSerializedValue(value, handles, new Map());
|
|
26
|
+
return innerParseSerializedValue(value, handles, /* @__PURE__ */ new Map(), []);
|
|
26
27
|
}
|
|
27
|
-
function innerParseSerializedValue(value, handles, refs) {
|
|
28
|
-
if (value.ref !==
|
|
29
|
-
|
|
30
|
-
if (value.
|
|
31
|
-
|
|
32
|
-
if (value.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (value.v ===
|
|
38
|
-
|
|
28
|
+
function innerParseSerializedValue(value, handles, refs, accessChain) {
|
|
29
|
+
if (value.ref !== void 0)
|
|
30
|
+
return refs.get(value.ref);
|
|
31
|
+
if (value.n !== void 0)
|
|
32
|
+
return value.n;
|
|
33
|
+
if (value.s !== void 0)
|
|
34
|
+
return value.s;
|
|
35
|
+
if (value.b !== void 0)
|
|
36
|
+
return value.b;
|
|
37
|
+
if (value.v !== void 0) {
|
|
38
|
+
if (value.v === "undefined")
|
|
39
|
+
return void 0;
|
|
40
|
+
if (value.v === "null")
|
|
41
|
+
return null;
|
|
42
|
+
if (value.v === "NaN")
|
|
43
|
+
return NaN;
|
|
44
|
+
if (value.v === "Infinity")
|
|
45
|
+
return Infinity;
|
|
46
|
+
if (value.v === "-Infinity")
|
|
47
|
+
return -Infinity;
|
|
48
|
+
if (value.v === "-0")
|
|
49
|
+
return -0;
|
|
39
50
|
}
|
|
40
|
-
if (value.d !==
|
|
41
|
-
|
|
42
|
-
if (value.
|
|
43
|
-
|
|
51
|
+
if (value.d !== void 0)
|
|
52
|
+
return new Date(value.d);
|
|
53
|
+
if (value.u !== void 0)
|
|
54
|
+
return new URL(value.u);
|
|
55
|
+
if (value.bi !== void 0)
|
|
56
|
+
return BigInt(value.bi);
|
|
57
|
+
if (value.e !== void 0) {
|
|
44
58
|
const error = new Error(value.e.m);
|
|
45
59
|
error.name = value.e.n;
|
|
46
60
|
error.stack = value.e.s;
|
|
47
61
|
return error;
|
|
48
62
|
}
|
|
49
|
-
if (value.r !==
|
|
50
|
-
|
|
63
|
+
if (value.r !== void 0)
|
|
64
|
+
return new RegExp(value.r.p, value.r.f);
|
|
65
|
+
if (value.ta !== void 0) {
|
|
66
|
+
const ctor = typedArrayKindToConstructor[value.ta.k];
|
|
67
|
+
return new ctor(value.ta.b.buffer, value.ta.b.byteOffset, value.ta.b.length / ctor.BYTES_PER_ELEMENT);
|
|
68
|
+
}
|
|
69
|
+
if (value.a !== void 0) {
|
|
51
70
|
const result = [];
|
|
52
71
|
refs.set(value.id, result);
|
|
53
|
-
for (
|
|
72
|
+
for (let i = 0; i < value.a.length; i++)
|
|
73
|
+
result.push(innerParseSerializedValue(value.a[i], handles, refs, [...accessChain, i]));
|
|
54
74
|
return result;
|
|
55
75
|
}
|
|
56
|
-
if (value.o !==
|
|
76
|
+
if (value.o !== void 0) {
|
|
57
77
|
const result = {};
|
|
58
78
|
refs.set(value.id, result);
|
|
59
|
-
for (const {
|
|
60
|
-
k,
|
|
61
|
-
v
|
|
62
|
-
} of value.o) result[k] = innerParseSerializedValue(v, handles, refs);
|
|
79
|
+
for (const { k, v } of value.o)
|
|
80
|
+
result[k] = innerParseSerializedValue(v, handles, refs, [...accessChain, k]);
|
|
63
81
|
return result;
|
|
64
82
|
}
|
|
65
|
-
if (value.h !==
|
|
66
|
-
if (handles ===
|
|
83
|
+
if (value.h !== void 0) {
|
|
84
|
+
if (handles === void 0)
|
|
85
|
+
throw new Error("Unexpected handle");
|
|
67
86
|
return handles[value.h];
|
|
68
87
|
}
|
|
69
|
-
throw new Error(
|
|
88
|
+
throw new Error(`Attempting to deserialize unexpected value${accessChainToDisplayString(accessChain)}: ${value}`);
|
|
70
89
|
}
|
|
71
90
|
function serializeValue(value, handleSerializer) {
|
|
72
|
-
return innerSerializeValue(value, handleSerializer, {
|
|
73
|
-
lastId: 0,
|
|
74
|
-
visited: new Map()
|
|
75
|
-
});
|
|
91
|
+
return innerSerializeValue(value, handleSerializer, { lastId: 0, visited: /* @__PURE__ */ new Map() }, []);
|
|
76
92
|
}
|
|
77
|
-
function innerSerializeValue(value, handleSerializer, visitorInfo) {
|
|
93
|
+
function innerSerializeValue(value, handleSerializer, visitorInfo, accessChain) {
|
|
78
94
|
const handle = handleSerializer(value);
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
if (
|
|
84
|
-
v:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (Object.is(value, NaN))
|
|
90
|
-
v:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (Object.is(value, -
|
|
96
|
-
v:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (typeof value ===
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
m: value.message,
|
|
117
|
-
s: value.stack || ''
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
if (isDate(value)) return {
|
|
121
|
-
d: value.toJSON()
|
|
122
|
-
};
|
|
123
|
-
if (isURL(value)) return {
|
|
124
|
-
u: value.toJSON()
|
|
125
|
-
};
|
|
126
|
-
if (isRegExp(value)) return {
|
|
127
|
-
r: {
|
|
128
|
-
p: value.source,
|
|
129
|
-
f: value.flags
|
|
130
|
-
}
|
|
131
|
-
};
|
|
95
|
+
if ("fallThrough" in handle)
|
|
96
|
+
value = handle.fallThrough;
|
|
97
|
+
else
|
|
98
|
+
return handle;
|
|
99
|
+
if (typeof value === "symbol")
|
|
100
|
+
return { v: "undefined" };
|
|
101
|
+
if (Object.is(value, void 0))
|
|
102
|
+
return { v: "undefined" };
|
|
103
|
+
if (Object.is(value, null))
|
|
104
|
+
return { v: "null" };
|
|
105
|
+
if (Object.is(value, NaN))
|
|
106
|
+
return { v: "NaN" };
|
|
107
|
+
if (Object.is(value, Infinity))
|
|
108
|
+
return { v: "Infinity" };
|
|
109
|
+
if (Object.is(value, -Infinity))
|
|
110
|
+
return { v: "-Infinity" };
|
|
111
|
+
if (Object.is(value, -0))
|
|
112
|
+
return { v: "-0" };
|
|
113
|
+
if (typeof value === "boolean")
|
|
114
|
+
return { b: value };
|
|
115
|
+
if (typeof value === "number")
|
|
116
|
+
return { n: value };
|
|
117
|
+
if (typeof value === "string")
|
|
118
|
+
return { s: value };
|
|
119
|
+
if (typeof value === "bigint")
|
|
120
|
+
return { bi: value.toString() };
|
|
121
|
+
if (isError(value))
|
|
122
|
+
return { e: { n: value.name, m: value.message, s: value.stack || "" } };
|
|
123
|
+
if (isDate(value))
|
|
124
|
+
return { d: value.toJSON() };
|
|
125
|
+
if (isURL(value))
|
|
126
|
+
return { u: value.toJSON() };
|
|
127
|
+
if (isRegExp(value))
|
|
128
|
+
return { r: { p: value.source, f: value.flags } };
|
|
129
|
+
const typedArrayKind = constructorToTypedArrayKind.get(value.constructor);
|
|
130
|
+
if (typedArrayKind)
|
|
131
|
+
return { ta: { b: Buffer.from(value.buffer, value.byteOffset, value.byteLength), k: typedArrayKind } };
|
|
132
132
|
const id = visitorInfo.visited.get(value);
|
|
133
|
-
if (id)
|
|
134
|
-
ref: id
|
|
135
|
-
};
|
|
133
|
+
if (id)
|
|
134
|
+
return { ref: id };
|
|
136
135
|
if (Array.isArray(value)) {
|
|
137
136
|
const a = [];
|
|
138
|
-
const
|
|
139
|
-
visitorInfo.visited.set(value,
|
|
140
|
-
for (let i = 0; i < value.length; ++i)
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
id
|
|
144
|
-
};
|
|
137
|
+
const id2 = ++visitorInfo.lastId;
|
|
138
|
+
visitorInfo.visited.set(value, id2);
|
|
139
|
+
for (let i = 0; i < value.length; ++i)
|
|
140
|
+
a.push(innerSerializeValue(value[i], handleSerializer, visitorInfo, [...accessChain, i]));
|
|
141
|
+
return { a, id: id2 };
|
|
145
142
|
}
|
|
146
|
-
if (typeof value ===
|
|
143
|
+
if (typeof value === "object") {
|
|
147
144
|
const o = [];
|
|
148
|
-
const
|
|
149
|
-
visitorInfo.visited.set(value,
|
|
150
|
-
for (const name of Object.keys(value))
|
|
151
|
-
k: name,
|
|
152
|
-
|
|
153
|
-
});
|
|
154
|
-
return {
|
|
155
|
-
o,
|
|
156
|
-
id
|
|
157
|
-
};
|
|
145
|
+
const id2 = ++visitorInfo.lastId;
|
|
146
|
+
visitorInfo.visited.set(value, id2);
|
|
147
|
+
for (const name of Object.keys(value))
|
|
148
|
+
o.push({ k: name, v: innerSerializeValue(value[name], handleSerializer, visitorInfo, [...accessChain, name]) });
|
|
149
|
+
return { o, id: id2 };
|
|
158
150
|
}
|
|
159
|
-
throw new Error(
|
|
151
|
+
throw new Error(`Attempting to serialize unexpected value${accessChainToDisplayString(accessChain)}: ${value}`);
|
|
152
|
+
}
|
|
153
|
+
function accessChainToDisplayString(accessChain) {
|
|
154
|
+
const chainString = accessChain.map((accessor, i) => {
|
|
155
|
+
if (typeof accessor === "string")
|
|
156
|
+
return i ? `.${accessor}` : accessor;
|
|
157
|
+
return `[${accessor}]`;
|
|
158
|
+
}).join("");
|
|
159
|
+
return chainString.length > 0 ? ` at position "${chainString}"` : "";
|
|
160
160
|
}
|
|
161
161
|
function isRegExp(obj) {
|
|
162
|
-
return obj instanceof RegExp || Object.prototype.toString.call(obj) ===
|
|
162
|
+
return obj instanceof RegExp || Object.prototype.toString.call(obj) === "[object RegExp]";
|
|
163
163
|
}
|
|
164
164
|
function isDate(obj) {
|
|
165
|
-
return obj instanceof Date || Object.prototype.toString.call(obj) ===
|
|
165
|
+
return obj instanceof Date || Object.prototype.toString.call(obj) === "[object Date]";
|
|
166
166
|
}
|
|
167
167
|
function isURL(obj) {
|
|
168
|
-
return obj instanceof URL || Object.prototype.toString.call(obj) ===
|
|
168
|
+
return obj instanceof URL || Object.prototype.toString.call(obj) === "[object URL]";
|
|
169
169
|
}
|
|
170
170
|
function isError(obj) {
|
|
171
171
|
const proto = obj ? Object.getPrototypeOf(obj) : null;
|
|
172
|
-
return obj instanceof Error ||
|
|
173
|
-
}
|
|
172
|
+
return obj instanceof Error || proto?.name === "Error" || proto && isError(proto);
|
|
173
|
+
}
|
|
174
|
+
const typedArrayKindToConstructor = {
|
|
175
|
+
i8: Int8Array,
|
|
176
|
+
ui8: Uint8Array,
|
|
177
|
+
ui8c: Uint8ClampedArray,
|
|
178
|
+
i16: Int16Array,
|
|
179
|
+
ui16: Uint16Array,
|
|
180
|
+
i32: Int32Array,
|
|
181
|
+
ui32: Uint32Array,
|
|
182
|
+
f32: Float32Array,
|
|
183
|
+
f64: Float64Array,
|
|
184
|
+
bi64: BigInt64Array,
|
|
185
|
+
bui64: BigUint64Array
|
|
186
|
+
};
|
|
187
|
+
const constructorToTypedArrayKind = new Map(Object.entries(typedArrayKindToConstructor).map(([k, v]) => [v, k]));
|
|
188
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
189
|
+
0 && (module.exports = {
|
|
190
|
+
parseSerializedValue,
|
|
191
|
+
serializeValue
|
|
192
|
+
});
|