patchright-bun-core 1.58.0 → 1.58.2
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/README.md +2 -2
- package/ThirdPartyNotices.txt +4075 -4075
- package/bin/install_media_pack.ps1 +5 -5
- package/bin/install_webkit_wsl.ps1 +32 -32
- package/bin/reinstall_chrome_beta_linux.sh +42 -42
- package/bin/reinstall_chrome_beta_mac.sh +13 -13
- package/bin/reinstall_chrome_beta_win.ps1 +24 -24
- package/bin/reinstall_chrome_stable_linux.sh +42 -42
- package/bin/reinstall_chrome_stable_mac.sh +12 -12
- package/bin/reinstall_chrome_stable_win.ps1 +24 -24
- package/bin/reinstall_msedge_beta_linux.sh +48 -48
- package/bin/reinstall_msedge_beta_mac.sh +11 -11
- package/bin/reinstall_msedge_beta_win.ps1 +23 -23
- package/bin/reinstall_msedge_dev_linux.sh +48 -48
- package/bin/reinstall_msedge_dev_mac.sh +11 -11
- package/bin/reinstall_msedge_dev_win.ps1 +23 -23
- package/bin/reinstall_msedge_stable_linux.sh +48 -48
- package/bin/reinstall_msedge_stable_mac.sh +11 -11
- package/bin/reinstall_msedge_stable_win.ps1 +23 -23
- package/browsers.json +79 -79
- package/cli.js +18 -18
- package/index.d.ts +17 -17
- package/index.js +32 -32
- package/index.mjs +28 -28
- package/lib/androidServerImpl.js +65 -65
- package/lib/browserServerImpl.js +120 -120
- package/lib/cli/driver.js +97 -97
- package/lib/cli/program.js +589 -589
- package/lib/cli/programWithTestStub.js +74 -74
- package/lib/client/android.js +361 -361
- package/lib/client/api.js +137 -137
- package/lib/client/artifact.js +79 -79
- package/lib/client/browser.js +161 -161
- package/lib/client/browserContext.js +582 -582
- package/lib/client/browserType.js +185 -185
- package/lib/client/cdpSession.js +51 -51
- package/lib/client/channelOwner.js +194 -194
- package/lib/client/clientHelper.js +64 -64
- package/lib/client/clientInstrumentation.js +55 -55
- package/lib/client/clientStackTrace.js +69 -69
- package/lib/client/clock.js +68 -68
- package/lib/client/connection.js +318 -318
- package/lib/client/consoleMessage.js +58 -58
- package/lib/client/coverage.js +44 -44
- package/lib/client/dialog.js +56 -56
- package/lib/client/download.js +62 -62
- package/lib/client/electron.js +138 -138
- package/lib/client/elementHandle.js +284 -284
- package/lib/client/errors.js +77 -77
- package/lib/client/eventEmitter.js +314 -314
- package/lib/client/events.js +103 -103
- package/lib/client/fetch.js +368 -368
- package/lib/client/fileChooser.js +46 -46
- package/lib/client/fileUtils.js +34 -34
- package/lib/client/frame.js +409 -409
- package/lib/client/harRouter.js +87 -87
- package/lib/client/input.js +84 -84
- package/lib/client/jsHandle.js +109 -109
- package/lib/client/jsonPipe.js +39 -39
- package/lib/client/localUtils.js +60 -60
- package/lib/client/locator.js +369 -369
- package/lib/client/network.js +747 -747
- package/lib/client/page.js +745 -745
- package/lib/client/pageAgent.js +64 -64
- package/lib/client/platform.js +77 -77
- package/lib/client/playwright.js +71 -71
- package/lib/client/selectors.js +55 -55
- package/lib/client/stream.js +39 -39
- package/lib/client/timeoutSettings.js +79 -79
- package/lib/client/tracing.js +119 -119
- package/lib/client/types.js +28 -28
- package/lib/client/video.js +59 -59
- package/lib/client/waiter.js +142 -142
- package/lib/client/webError.js +39 -39
- package/lib/client/webSocket.js +93 -93
- package/lib/client/worker.js +85 -85
- package/lib/client/writableStream.js +39 -39
- package/lib/generated/bindingsControllerSource.js +28 -28
- package/lib/generated/clockSource.js +28 -28
- package/lib/generated/injectedScriptSource.js +28 -28
- package/lib/generated/pollingRecorderSource.js +28 -28
- package/lib/generated/storageScriptSource.js +28 -28
- package/lib/generated/utilityScriptSource.js +28 -28
- package/lib/generated/webSocketMockSource.js +336 -336
- package/lib/inProcessFactory.js +60 -60
- package/lib/inprocess.js +3 -3
- package/lib/mcpBundle.js +84 -84
- package/lib/mcpBundleImpl/index.js +147 -147
- package/lib/outofprocess.js +76 -76
- package/lib/protocol/serializers.js +197 -197
- package/lib/protocol/validator.js +2969 -2969
- package/lib/protocol/validatorPrimitives.js +193 -193
- package/lib/remote/playwrightConnection.js +129 -129
- package/lib/remote/playwrightServer.js +334 -334
- package/lib/server/agent/actionRunner.js +335 -335
- package/lib/server/agent/actions.js +128 -128
- package/lib/server/agent/codegen.js +111 -111
- package/lib/server/agent/context.js +150 -150
- package/lib/server/agent/expectTools.js +156 -156
- package/lib/server/agent/pageAgent.js +204 -204
- package/lib/server/agent/performTools.js +262 -262
- package/lib/server/agent/tool.js +109 -109
- package/lib/server/android/android.js +465 -465
- package/lib/server/android/backendAdb.js +177 -177
- package/lib/server/artifact.js +127 -127
- package/lib/server/bidi/bidiBrowser.js +549 -549
- package/lib/server/bidi/bidiChromium.js +149 -148
- package/lib/server/bidi/bidiConnection.js +213 -213
- package/lib/server/bidi/bidiDeserializer.js +116 -116
- package/lib/server/bidi/bidiExecutionContext.js +267 -267
- package/lib/server/bidi/bidiFirefox.js +128 -128
- package/lib/server/bidi/bidiInput.js +146 -146
- package/lib/server/bidi/bidiNetworkManager.js +383 -383
- package/lib/server/bidi/bidiOverCdp.js +102 -102
- package/lib/server/bidi/bidiPage.js +583 -583
- package/lib/server/bidi/bidiPdf.js +106 -106
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -22
- package/lib/server/bidi/third_party/bidiKeyboard.js +256 -256
- package/lib/server/bidi/third_party/bidiProtocol.js +24 -24
- package/lib/server/bidi/third_party/bidiProtocolCore.js +180 -180
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -42
- package/lib/server/bidi/third_party/bidiSerializer.js +148 -148
- package/lib/server/bidi/third_party/firefoxPrefs.js +259 -259
- package/lib/server/browser.js +149 -149
- package/lib/server/browserContext.js +702 -702
- package/lib/server/browserType.js +336 -336
- package/lib/server/callLog.js +82 -82
- package/lib/server/chromium/chromium.js +397 -395
- package/lib/server/chromium/chromiumSwitches.js +104 -104
- package/lib/server/chromium/crBrowser.js +520 -511
- package/lib/server/chromium/crConnection.js +197 -197
- package/lib/server/chromium/crCoverage.js +235 -235
- package/lib/server/chromium/crDevTools.js +111 -111
- package/lib/server/chromium/crDragDrop.js +131 -131
- package/lib/server/chromium/crExecutionContext.js +146 -146
- package/lib/server/chromium/crInput.js +187 -187
- package/lib/server/chromium/crNetworkManager.js +707 -707
- package/lib/server/chromium/crPage.js +1001 -1001
- package/lib/server/chromium/crPdf.js +121 -121
- package/lib/server/chromium/crProtocolHelper.js +145 -145
- package/lib/server/chromium/crServiceWorker.js +136 -136
- package/lib/server/chromium/defaultFontFamilies.js +162 -162
- package/lib/server/chromium/protocol.d.js +16 -16
- package/lib/server/clock.js +149 -149
- package/lib/server/codegen/csharp.js +327 -327
- package/lib/server/codegen/java.js +274 -274
- package/lib/server/codegen/javascript.js +247 -247
- package/lib/server/codegen/jsonl.js +52 -52
- package/lib/server/codegen/language.js +132 -132
- package/lib/server/codegen/languages.js +68 -68
- package/lib/server/codegen/python.js +279 -279
- package/lib/server/codegen/types.js +16 -16
- package/lib/server/console.js +57 -57
- package/lib/server/cookieStore.js +206 -206
- package/lib/server/debugController.js +191 -191
- package/lib/server/debugger.js +119 -119
- package/lib/server/deviceDescriptors.js +39 -39
- package/lib/server/deviceDescriptorsSource.json +1778 -1778
- package/lib/server/dialog.js +116 -116
- package/lib/server/dispatchers/androidDispatcher.js +325 -325
- package/lib/server/dispatchers/artifactDispatcher.js +118 -118
- package/lib/server/dispatchers/browserContextDispatcher.js +384 -384
- package/lib/server/dispatchers/browserDispatcher.js +118 -118
- package/lib/server/dispatchers/browserTypeDispatcher.js +64 -64
- package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -44
- package/lib/server/dispatchers/debugControllerDispatcher.js +78 -78
- package/lib/server/dispatchers/dialogDispatcher.js +47 -47
- package/lib/server/dispatchers/dispatcher.js +364 -364
- package/lib/server/dispatchers/electronDispatcher.js +89 -89
- package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -181
- package/lib/server/dispatchers/frameDispatcher.js +227 -227
- package/lib/server/dispatchers/jsHandleDispatcher.js +85 -85
- package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -58
- package/lib/server/dispatchers/localUtilsDispatcher.js +149 -149
- package/lib/server/dispatchers/networkDispatchers.js +213 -213
- package/lib/server/dispatchers/pageAgentDispatcher.js +96 -96
- package/lib/server/dispatchers/pageDispatcher.js +393 -393
- package/lib/server/dispatchers/playwrightDispatcher.js +108 -108
- package/lib/server/dispatchers/streamDispatcher.js +67 -67
- package/lib/server/dispatchers/tracingDispatcher.js +68 -68
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -165
- package/lib/server/dispatchers/writableStreamDispatcher.js +79 -79
- package/lib/server/dom.js +815 -815
- package/lib/server/download.js +70 -70
- package/lib/server/electron/electron.js +273 -273
- package/lib/server/electron/loader.js +29 -29
- package/lib/server/errors.js +69 -69
- package/lib/server/fetch.js +621 -621
- package/lib/server/fileChooser.js +43 -43
- package/lib/server/fileUploadUtils.js +84 -84
- package/lib/server/firefox/ffBrowser.js +418 -418
- package/lib/server/firefox/ffConnection.js +142 -142
- package/lib/server/firefox/ffExecutionContext.js +150 -150
- package/lib/server/firefox/ffInput.js +159 -159
- package/lib/server/firefox/ffNetworkManager.js +256 -256
- package/lib/server/firefox/ffPage.js +497 -497
- package/lib/server/firefox/firefox.js +114 -114
- package/lib/server/firefox/protocol.d.js +16 -16
- package/lib/server/formData.js +147 -147
- package/lib/server/frameSelectors.js +160 -160
- package/lib/server/frames.js +1471 -1471
- package/lib/server/har/harRecorder.js +147 -147
- package/lib/server/har/harTracer.js +607 -607
- package/lib/server/harBackend.js +157 -157
- package/lib/server/helper.js +96 -96
- package/lib/server/index.js +58 -58
- package/lib/server/input.js +277 -277
- package/lib/server/instrumentation.js +72 -72
- package/lib/server/javascript.js +291 -291
- package/lib/server/launchApp.js +128 -128
- package/lib/server/localUtils.js +214 -214
- package/lib/server/macEditingCommands.js +143 -143
- package/lib/server/network.js +667 -667
- package/lib/server/page.js +830 -830
- package/lib/server/pipeTransport.js +89 -89
- package/lib/server/playwright.js +69 -69
- package/lib/server/progress.js +132 -132
- package/lib/server/protocolError.js +52 -52
- package/lib/server/recorder/chat.js +161 -161
- package/lib/server/recorder/recorderApp.js +366 -366
- package/lib/server/recorder/recorderRunner.js +138 -138
- package/lib/server/recorder/recorderSignalProcessor.js +83 -83
- package/lib/server/recorder/recorderUtils.js +157 -157
- package/lib/server/recorder/throttledFile.js +57 -57
- package/lib/server/recorder.js +499 -499
- package/lib/server/registry/browserFetcher.js +177 -177
- package/lib/server/registry/dependencies.js +371 -371
- package/lib/server/registry/index.js +1422 -1422
- package/lib/server/registry/nativeDeps.js +1280 -1280
- package/lib/server/registry/oopDownloadBrowserMain.js +127 -127
- package/lib/server/screencast.js +190 -190
- package/lib/server/screenshotter.js +333 -333
- package/lib/server/selectors.js +112 -112
- package/lib/server/socksClientCertificatesInterceptor.js +383 -383
- package/lib/server/socksInterceptor.js +95 -95
- package/lib/server/trace/recorder/snapshotter.js +147 -147
- package/lib/server/trace/recorder/snapshotterInjected.js +561 -561
- package/lib/server/trace/recorder/tracing.js +604 -604
- package/lib/server/trace/viewer/traceParser.js +72 -72
- package/lib/server/trace/viewer/traceViewer.js +245 -245
- package/lib/server/transport.js +254 -254
- package/lib/server/types.js +28 -28
- package/lib/server/usKeyboardLayout.js +145 -145
- package/lib/server/utils/ascii.js +44 -44
- package/lib/server/utils/comparators.js +139 -139
- package/lib/server/utils/crypto.js +216 -216
- package/lib/server/utils/debug.js +42 -42
- package/lib/server/utils/debugLogger.js +122 -122
- package/lib/server/utils/env.js +73 -73
- package/lib/server/utils/eventsHelper.js +39 -39
- package/lib/server/utils/expectUtils.js +123 -123
- package/lib/server/utils/fileUtils.js +191 -191
- package/lib/server/utils/happyEyeballs.js +207 -207
- package/lib/server/utils/hostPlatform.js +138 -123
- package/lib/server/utils/httpServer.js +203 -203
- package/lib/server/utils/imageUtils.js +141 -141
- package/lib/server/utils/image_tools/colorUtils.js +89 -89
- package/lib/server/utils/image_tools/compare.js +109 -109
- package/lib/server/utils/image_tools/imageChannel.js +78 -78
- package/lib/server/utils/image_tools/stats.js +102 -102
- package/lib/server/utils/linuxUtils.js +71 -71
- package/lib/server/utils/network.js +242 -242
- package/lib/server/utils/nodePlatform.js +154 -154
- package/lib/server/utils/pipeTransport.js +84 -84
- package/lib/server/utils/processLauncher.js +241 -241
- package/lib/server/utils/profiler.js +65 -65
- package/lib/server/utils/socksProxy.js +511 -511
- package/lib/server/utils/spawnAsync.js +41 -41
- package/lib/server/utils/task.js +51 -51
- package/lib/server/utils/userAgent.js +98 -98
- package/lib/server/utils/wsServer.js +121 -121
- package/lib/server/utils/zipFile.js +74 -74
- package/lib/server/utils/zones.js +57 -57
- package/lib/server/videoRecorder.js +124 -124
- package/lib/server/webkit/protocol.d.js +16 -16
- package/lib/server/webkit/webkit.js +108 -108
- package/lib/server/webkit/wkBrowser.js +335 -335
- package/lib/server/webkit/wkConnection.js +144 -144
- package/lib/server/webkit/wkExecutionContext.js +154 -154
- package/lib/server/webkit/wkInput.js +181 -181
- package/lib/server/webkit/wkInterceptableRequest.js +197 -197
- package/lib/server/webkit/wkPage.js +1159 -1158
- package/lib/server/webkit/wkProvisionalPage.js +83 -83
- package/lib/server/webkit/wkWorkers.js +105 -105
- package/lib/third_party/pixelmatch.js +255 -255
- package/lib/utils/isomorphic/ariaSnapshot.js +455 -455
- package/lib/utils/isomorphic/assert.js +31 -31
- package/lib/utils/isomorphic/colors.js +72 -72
- package/lib/utils/isomorphic/cssParser.js +245 -245
- package/lib/utils/isomorphic/cssTokenizer.js +1051 -1051
- package/lib/utils/isomorphic/headers.js +53 -53
- package/lib/utils/isomorphic/locatorGenerators.js +689 -689
- package/lib/utils/isomorphic/locatorParser.js +176 -176
- package/lib/utils/isomorphic/locatorUtils.js +81 -81
- package/lib/utils/isomorphic/lruCache.js +51 -51
- package/lib/utils/isomorphic/manualPromise.js +114 -114
- package/lib/utils/isomorphic/mimeType.js +459 -459
- package/lib/utils/isomorphic/multimap.js +80 -80
- package/lib/utils/isomorphic/protocolFormatter.js +81 -81
- package/lib/utils/isomorphic/protocolMetainfo.js +330 -330
- package/lib/utils/isomorphic/rtti.js +43 -43
- package/lib/utils/isomorphic/selectorParser.js +386 -386
- package/lib/utils/isomorphic/semaphore.js +54 -54
- package/lib/utils/isomorphic/stackTrace.js +158 -158
- package/lib/utils/isomorphic/stringUtils.js +204 -204
- package/lib/utils/isomorphic/time.js +49 -49
- package/lib/utils/isomorphic/timeoutRunner.js +66 -66
- package/lib/utils/isomorphic/trace/entries.js +16 -16
- package/lib/utils/isomorphic/trace/snapshotRenderer.js +499 -499
- package/lib/utils/isomorphic/trace/snapshotServer.js +120 -120
- package/lib/utils/isomorphic/trace/snapshotStorage.js +89 -89
- package/lib/utils/isomorphic/trace/traceLoader.js +131 -131
- package/lib/utils/isomorphic/trace/traceModel.js +365 -365
- package/lib/utils/isomorphic/trace/traceModernizer.js +400 -400
- package/lib/utils/isomorphic/trace/versions/traceV3.js +16 -16
- package/lib/utils/isomorphic/trace/versions/traceV4.js +16 -16
- package/lib/utils/isomorphic/trace/versions/traceV5.js +16 -16
- package/lib/utils/isomorphic/trace/versions/traceV6.js +16 -16
- package/lib/utils/isomorphic/trace/versions/traceV7.js +16 -16
- package/lib/utils/isomorphic/trace/versions/traceV8.js +16 -16
- package/lib/utils/isomorphic/traceUtils.js +58 -58
- package/lib/utils/isomorphic/types.js +16 -16
- package/lib/utils/isomorphic/urlMatch.js +190 -190
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -251
- package/lib/utils/isomorphic/yaml.js +84 -84
- package/lib/utils.js +111 -111
- package/lib/utilsBundle.js +109 -109
- package/lib/utilsBundleImpl/index.js +218 -218
- package/lib/utilsBundleImpl/xdg-open +1066 -1066
- package/lib/vite/htmlReport/index.html +84 -84
- package/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +1 -1
- package/lib/vite/recorder/assets/codeMirrorModule-DadYNm1I.js +32 -32
- package/lib/vite/recorder/assets/index-BSjZa4pk.css +1 -1
- package/lib/vite/recorder/assets/index-BhTWtUlo.js +193 -193
- package/lib/vite/recorder/index.html +29 -29
- package/lib/vite/recorder/playwright-logo.svg +9 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-a5XoALAZ.js +32 -32
- package/lib/vite/traceViewer/assets/defaultSettingsView-CJSZINFr.js +266 -266
- package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -9
- package/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +1 -1
- package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +1 -1
- package/lib/vite/traceViewer/{index.Bk2uYQRV.js → index.BDwrLSGN.js} +2 -2
- package/lib/vite/traceViewer/index.BVu7tZDe.css +1 -1
- package/lib/vite/traceViewer/index.html +43 -43
- package/lib/vite/traceViewer/manifest.webmanifest +16 -16
- package/lib/vite/traceViewer/playwright-logo.svg +9 -9
- package/lib/vite/traceViewer/snapshot.html +21 -21
- package/lib/vite/traceViewer/sw.bundle.js +5 -5
- package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -1
- package/lib/vite/traceViewer/uiMode.CQJ9SCIQ.js +5 -5
- package/lib/vite/traceViewer/uiMode.html +17 -17
- package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -32
- package/lib/zipBundle.js +34 -34
- package/lib/zipBundleImpl.js +5 -5
- package/package.json +1 -1
- package/types/protocol.d.ts +23824 -23824
- package/types/structs.d.ts +45 -45
- package/types/types.d.ts +22843 -22843
package/lib/outofprocess.js
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
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 outofprocess_exports = {};
|
|
30
|
-
__export(outofprocess_exports, {
|
|
31
|
-
start: () => start
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(outofprocess_exports);
|
|
34
|
-
var childProcess = __toESM(require("child_process"));
|
|
35
|
-
var import_path = __toESM(require("path"));
|
|
36
|
-
var import_connection = require("./client/connection");
|
|
37
|
-
var import_pipeTransport = require("./server/utils/pipeTransport");
|
|
38
|
-
var import_manualPromise = require("./utils/isomorphic/manualPromise");
|
|
39
|
-
var import_nodePlatform = require("./server/utils/nodePlatform");
|
|
40
|
-
async function start(env = {}) {
|
|
41
|
-
const client = new PlaywrightClient(env);
|
|
42
|
-
const playwright = await client._playwright;
|
|
43
|
-
playwright.driverProcess = client._driverProcess;
|
|
44
|
-
return { playwright, stop: () => client.stop() };
|
|
45
|
-
}
|
|
46
|
-
class PlaywrightClient {
|
|
47
|
-
constructor(env) {
|
|
48
|
-
this._closePromise = new import_manualPromise.ManualPromise();
|
|
49
|
-
this._driverProcess = childProcess.fork(import_path.default.join(__dirname, "..", "cli.js"), ["run-driver"], {
|
|
50
|
-
stdio: "pipe",
|
|
51
|
-
detached: true,
|
|
52
|
-
env: {
|
|
53
|
-
...process.env,
|
|
54
|
-
...env
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
this._driverProcess.unref();
|
|
58
|
-
this._driverProcess.stderr.on("data", (data) => process.stderr.write(data));
|
|
59
|
-
const connection = new import_connection.Connection(import_nodePlatform.nodePlatform);
|
|
60
|
-
const transport = new import_pipeTransport.PipeTransport(this._driverProcess.stdin, this._driverProcess.stdout);
|
|
61
|
-
connection.onmessage = (message) => transport.send(JSON.stringify(message));
|
|
62
|
-
transport.onmessage = (message) => connection.dispatch(JSON.parse(message));
|
|
63
|
-
transport.onclose = () => this._closePromise.resolve();
|
|
64
|
-
this._playwright = connection.initializePlaywright();
|
|
65
|
-
}
|
|
66
|
-
async stop() {
|
|
67
|
-
this._driverProcess.stdin.destroy();
|
|
68
|
-
this._driverProcess.stdout.destroy();
|
|
69
|
-
this._driverProcess.stderr.destroy();
|
|
70
|
-
await this._closePromise;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
74
|
-
0 && (module.exports = {
|
|
75
|
-
start
|
|
76
|
-
});
|
|
1
|
+
"use strict";
|
|
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 outofprocess_exports = {};
|
|
30
|
+
__export(outofprocess_exports, {
|
|
31
|
+
start: () => start
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(outofprocess_exports);
|
|
34
|
+
var childProcess = __toESM(require("child_process"));
|
|
35
|
+
var import_path = __toESM(require("path"));
|
|
36
|
+
var import_connection = require("./client/connection");
|
|
37
|
+
var import_pipeTransport = require("./server/utils/pipeTransport");
|
|
38
|
+
var import_manualPromise = require("./utils/isomorphic/manualPromise");
|
|
39
|
+
var import_nodePlatform = require("./server/utils/nodePlatform");
|
|
40
|
+
async function start(env = {}) {
|
|
41
|
+
const client = new PlaywrightClient(env);
|
|
42
|
+
const playwright = await client._playwright;
|
|
43
|
+
playwright.driverProcess = client._driverProcess;
|
|
44
|
+
return { playwright, stop: () => client.stop() };
|
|
45
|
+
}
|
|
46
|
+
class PlaywrightClient {
|
|
47
|
+
constructor(env) {
|
|
48
|
+
this._closePromise = new import_manualPromise.ManualPromise();
|
|
49
|
+
this._driverProcess = childProcess.fork(import_path.default.join(__dirname, "..", "cli.js"), ["run-driver"], {
|
|
50
|
+
stdio: "pipe",
|
|
51
|
+
detached: true,
|
|
52
|
+
env: {
|
|
53
|
+
...process.env,
|
|
54
|
+
...env
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
this._driverProcess.unref();
|
|
58
|
+
this._driverProcess.stderr.on("data", (data) => process.stderr.write(data));
|
|
59
|
+
const connection = new import_connection.Connection(import_nodePlatform.nodePlatform);
|
|
60
|
+
const transport = new import_pipeTransport.PipeTransport(this._driverProcess.stdin, this._driverProcess.stdout);
|
|
61
|
+
connection.onmessage = (message) => transport.send(JSON.stringify(message));
|
|
62
|
+
transport.onmessage = (message) => connection.dispatch(JSON.parse(message));
|
|
63
|
+
transport.onclose = () => this._closePromise.resolve();
|
|
64
|
+
this._playwright = connection.initializePlaywright();
|
|
65
|
+
}
|
|
66
|
+
async stop() {
|
|
67
|
+
this._driverProcess.stdin.destroy();
|
|
68
|
+
this._driverProcess.stdout.destroy();
|
|
69
|
+
this._driverProcess.stderr.destroy();
|
|
70
|
+
await this._closePromise;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
74
|
+
0 && (module.exports = {
|
|
75
|
+
start
|
|
76
|
+
});
|
|
@@ -1,197 +1,197 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var serializers_exports = {};
|
|
20
|
-
__export(serializers_exports, {
|
|
21
|
-
parseSerializedValue: () => parseSerializedValue,
|
|
22
|
-
serializePlainValue: () => serializePlainValue,
|
|
23
|
-
serializeValue: () => serializeValue
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(serializers_exports);
|
|
26
|
-
function parseSerializedValue(value, handles) {
|
|
27
|
-
return innerParseSerializedValue(value, handles, /* @__PURE__ */ new Map(), []);
|
|
28
|
-
}
|
|
29
|
-
function innerParseSerializedValue(value, handles, refs, accessChain) {
|
|
30
|
-
if (value.ref !== void 0)
|
|
31
|
-
return refs.get(value.ref);
|
|
32
|
-
if (value.n !== void 0)
|
|
33
|
-
return value.n;
|
|
34
|
-
if (value.s !== void 0)
|
|
35
|
-
return value.s;
|
|
36
|
-
if (value.b !== void 0)
|
|
37
|
-
return value.b;
|
|
38
|
-
if (value.v !== void 0) {
|
|
39
|
-
if (value.v === "undefined")
|
|
40
|
-
return void 0;
|
|
41
|
-
if (value.v === "null")
|
|
42
|
-
return null;
|
|
43
|
-
if (value.v === "NaN")
|
|
44
|
-
return NaN;
|
|
45
|
-
if (value.v === "Infinity")
|
|
46
|
-
return Infinity;
|
|
47
|
-
if (value.v === "-Infinity")
|
|
48
|
-
return -Infinity;
|
|
49
|
-
if (value.v === "-0")
|
|
50
|
-
return -0;
|
|
51
|
-
}
|
|
52
|
-
if (value.d !== void 0)
|
|
53
|
-
return new Date(value.d);
|
|
54
|
-
if (value.u !== void 0)
|
|
55
|
-
return new URL(value.u);
|
|
56
|
-
if (value.bi !== void 0)
|
|
57
|
-
return BigInt(value.bi);
|
|
58
|
-
if (value.e !== void 0) {
|
|
59
|
-
const error = new Error(value.e.m);
|
|
60
|
-
error.name = value.e.n;
|
|
61
|
-
error.stack = value.e.s;
|
|
62
|
-
return error;
|
|
63
|
-
}
|
|
64
|
-
if (value.r !== void 0)
|
|
65
|
-
return new RegExp(value.r.p, value.r.f);
|
|
66
|
-
if (value.ta !== void 0) {
|
|
67
|
-
const ctor = typedArrayKindToConstructor[value.ta.k];
|
|
68
|
-
return new ctor(value.ta.b.buffer, value.ta.b.byteOffset, value.ta.b.length / ctor.BYTES_PER_ELEMENT);
|
|
69
|
-
}
|
|
70
|
-
if (value.a !== void 0) {
|
|
71
|
-
const result = [];
|
|
72
|
-
refs.set(value.id, result);
|
|
73
|
-
for (let i = 0; i < value.a.length; i++)
|
|
74
|
-
result.push(innerParseSerializedValue(value.a[i], handles, refs, [...accessChain, i]));
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
if (value.o !== void 0) {
|
|
78
|
-
const result = {};
|
|
79
|
-
refs.set(value.id, result);
|
|
80
|
-
for (const { k, v } of value.o)
|
|
81
|
-
result[k] = innerParseSerializedValue(v, handles, refs, [...accessChain, k]);
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
if (value.h !== void 0) {
|
|
85
|
-
if (handles === void 0)
|
|
86
|
-
throw new Error("Unexpected handle");
|
|
87
|
-
return handles[value.h];
|
|
88
|
-
}
|
|
89
|
-
throw new Error(`Attempting to deserialize unexpected value${accessChainToDisplayString(accessChain)}: ${value}`);
|
|
90
|
-
}
|
|
91
|
-
function serializeValue(value, handleSerializer) {
|
|
92
|
-
return innerSerializeValue(value, handleSerializer, { lastId: 0, visited: /* @__PURE__ */ new Map() }, []);
|
|
93
|
-
}
|
|
94
|
-
function serializePlainValue(arg) {
|
|
95
|
-
return serializeValue(arg, (value) => ({ fallThrough: value }));
|
|
96
|
-
}
|
|
97
|
-
function innerSerializeValue(value, handleSerializer, visitorInfo, accessChain) {
|
|
98
|
-
const handle = handleSerializer(value);
|
|
99
|
-
if ("fallThrough" in handle)
|
|
100
|
-
value = handle.fallThrough;
|
|
101
|
-
else
|
|
102
|
-
return handle;
|
|
103
|
-
if (typeof value === "symbol")
|
|
104
|
-
return { v: "undefined" };
|
|
105
|
-
if (Object.is(value, void 0))
|
|
106
|
-
return { v: "undefined" };
|
|
107
|
-
if (Object.is(value, null))
|
|
108
|
-
return { v: "null" };
|
|
109
|
-
if (Object.is(value, NaN))
|
|
110
|
-
return { v: "NaN" };
|
|
111
|
-
if (Object.is(value, Infinity))
|
|
112
|
-
return { v: "Infinity" };
|
|
113
|
-
if (Object.is(value, -Infinity))
|
|
114
|
-
return { v: "-Infinity" };
|
|
115
|
-
if (Object.is(value, -0))
|
|
116
|
-
return { v: "-0" };
|
|
117
|
-
if (typeof value === "boolean")
|
|
118
|
-
return { b: value };
|
|
119
|
-
if (typeof value === "number")
|
|
120
|
-
return { n: value };
|
|
121
|
-
if (typeof value === "string")
|
|
122
|
-
return { s: value };
|
|
123
|
-
if (typeof value === "bigint")
|
|
124
|
-
return { bi: value.toString() };
|
|
125
|
-
if (isError(value))
|
|
126
|
-
return { e: { n: value.name, m: value.message, s: value.stack || "" } };
|
|
127
|
-
if (isDate(value))
|
|
128
|
-
return { d: value.toJSON() };
|
|
129
|
-
if (isURL(value))
|
|
130
|
-
return { u: value.toJSON() };
|
|
131
|
-
if (isRegExp(value))
|
|
132
|
-
return { r: { p: value.source, f: value.flags } };
|
|
133
|
-
const typedArrayKind = constructorToTypedArrayKind.get(value.constructor);
|
|
134
|
-
if (typedArrayKind)
|
|
135
|
-
return { ta: { b: Buffer.from(value.buffer, value.byteOffset, value.byteLength), k: typedArrayKind } };
|
|
136
|
-
const id = visitorInfo.visited.get(value);
|
|
137
|
-
if (id)
|
|
138
|
-
return { ref: id };
|
|
139
|
-
if (Array.isArray(value)) {
|
|
140
|
-
const a = [];
|
|
141
|
-
const id2 = ++visitorInfo.lastId;
|
|
142
|
-
visitorInfo.visited.set(value, id2);
|
|
143
|
-
for (let i = 0; i < value.length; ++i)
|
|
144
|
-
a.push(innerSerializeValue(value[i], handleSerializer, visitorInfo, [...accessChain, i]));
|
|
145
|
-
return { a, id: id2 };
|
|
146
|
-
}
|
|
147
|
-
if (typeof value === "object") {
|
|
148
|
-
const o = [];
|
|
149
|
-
const id2 = ++visitorInfo.lastId;
|
|
150
|
-
visitorInfo.visited.set(value, id2);
|
|
151
|
-
for (const name of Object.keys(value))
|
|
152
|
-
o.push({ k: name, v: innerSerializeValue(value[name], handleSerializer, visitorInfo, [...accessChain, name]) });
|
|
153
|
-
return { o, id: id2 };
|
|
154
|
-
}
|
|
155
|
-
throw new Error(`Attempting to serialize unexpected value${accessChainToDisplayString(accessChain)}: ${value}`);
|
|
156
|
-
}
|
|
157
|
-
function accessChainToDisplayString(accessChain) {
|
|
158
|
-
const chainString = accessChain.map((accessor, i) => {
|
|
159
|
-
if (typeof accessor === "string")
|
|
160
|
-
return i ? `.${accessor}` : accessor;
|
|
161
|
-
return `[${accessor}]`;
|
|
162
|
-
}).join("");
|
|
163
|
-
return chainString.length > 0 ? ` at position "${chainString}"` : "";
|
|
164
|
-
}
|
|
165
|
-
function isRegExp(obj) {
|
|
166
|
-
return obj instanceof RegExp || Object.prototype.toString.call(obj) === "[object RegExp]";
|
|
167
|
-
}
|
|
168
|
-
function isDate(obj) {
|
|
169
|
-
return obj instanceof Date || Object.prototype.toString.call(obj) === "[object Date]";
|
|
170
|
-
}
|
|
171
|
-
function isURL(obj) {
|
|
172
|
-
return obj instanceof URL || Object.prototype.toString.call(obj) === "[object URL]";
|
|
173
|
-
}
|
|
174
|
-
function isError(obj) {
|
|
175
|
-
const proto = obj ? Object.getPrototypeOf(obj) : null;
|
|
176
|
-
return obj instanceof Error || proto?.name === "Error" || proto && isError(proto);
|
|
177
|
-
}
|
|
178
|
-
const typedArrayKindToConstructor = {
|
|
179
|
-
i8: Int8Array,
|
|
180
|
-
ui8: Uint8Array,
|
|
181
|
-
ui8c: Uint8ClampedArray,
|
|
182
|
-
i16: Int16Array,
|
|
183
|
-
ui16: Uint16Array,
|
|
184
|
-
i32: Int32Array,
|
|
185
|
-
ui32: Uint32Array,
|
|
186
|
-
f32: Float32Array,
|
|
187
|
-
f64: Float64Array,
|
|
188
|
-
bi64: BigInt64Array,
|
|
189
|
-
bui64: BigUint64Array
|
|
190
|
-
};
|
|
191
|
-
const constructorToTypedArrayKind = new Map(Object.entries(typedArrayKindToConstructor).map(([k, v]) => [v, k]));
|
|
192
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
193
|
-
0 && (module.exports = {
|
|
194
|
-
parseSerializedValue,
|
|
195
|
-
serializePlainValue,
|
|
196
|
-
serializeValue
|
|
197
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var serializers_exports = {};
|
|
20
|
+
__export(serializers_exports, {
|
|
21
|
+
parseSerializedValue: () => parseSerializedValue,
|
|
22
|
+
serializePlainValue: () => serializePlainValue,
|
|
23
|
+
serializeValue: () => serializeValue
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(serializers_exports);
|
|
26
|
+
function parseSerializedValue(value, handles) {
|
|
27
|
+
return innerParseSerializedValue(value, handles, /* @__PURE__ */ new Map(), []);
|
|
28
|
+
}
|
|
29
|
+
function innerParseSerializedValue(value, handles, refs, accessChain) {
|
|
30
|
+
if (value.ref !== void 0)
|
|
31
|
+
return refs.get(value.ref);
|
|
32
|
+
if (value.n !== void 0)
|
|
33
|
+
return value.n;
|
|
34
|
+
if (value.s !== void 0)
|
|
35
|
+
return value.s;
|
|
36
|
+
if (value.b !== void 0)
|
|
37
|
+
return value.b;
|
|
38
|
+
if (value.v !== void 0) {
|
|
39
|
+
if (value.v === "undefined")
|
|
40
|
+
return void 0;
|
|
41
|
+
if (value.v === "null")
|
|
42
|
+
return null;
|
|
43
|
+
if (value.v === "NaN")
|
|
44
|
+
return NaN;
|
|
45
|
+
if (value.v === "Infinity")
|
|
46
|
+
return Infinity;
|
|
47
|
+
if (value.v === "-Infinity")
|
|
48
|
+
return -Infinity;
|
|
49
|
+
if (value.v === "-0")
|
|
50
|
+
return -0;
|
|
51
|
+
}
|
|
52
|
+
if (value.d !== void 0)
|
|
53
|
+
return new Date(value.d);
|
|
54
|
+
if (value.u !== void 0)
|
|
55
|
+
return new URL(value.u);
|
|
56
|
+
if (value.bi !== void 0)
|
|
57
|
+
return BigInt(value.bi);
|
|
58
|
+
if (value.e !== void 0) {
|
|
59
|
+
const error = new Error(value.e.m);
|
|
60
|
+
error.name = value.e.n;
|
|
61
|
+
error.stack = value.e.s;
|
|
62
|
+
return error;
|
|
63
|
+
}
|
|
64
|
+
if (value.r !== void 0)
|
|
65
|
+
return new RegExp(value.r.p, value.r.f);
|
|
66
|
+
if (value.ta !== void 0) {
|
|
67
|
+
const ctor = typedArrayKindToConstructor[value.ta.k];
|
|
68
|
+
return new ctor(value.ta.b.buffer, value.ta.b.byteOffset, value.ta.b.length / ctor.BYTES_PER_ELEMENT);
|
|
69
|
+
}
|
|
70
|
+
if (value.a !== void 0) {
|
|
71
|
+
const result = [];
|
|
72
|
+
refs.set(value.id, result);
|
|
73
|
+
for (let i = 0; i < value.a.length; i++)
|
|
74
|
+
result.push(innerParseSerializedValue(value.a[i], handles, refs, [...accessChain, i]));
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
if (value.o !== void 0) {
|
|
78
|
+
const result = {};
|
|
79
|
+
refs.set(value.id, result);
|
|
80
|
+
for (const { k, v } of value.o)
|
|
81
|
+
result[k] = innerParseSerializedValue(v, handles, refs, [...accessChain, k]);
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
if (value.h !== void 0) {
|
|
85
|
+
if (handles === void 0)
|
|
86
|
+
throw new Error("Unexpected handle");
|
|
87
|
+
return handles[value.h];
|
|
88
|
+
}
|
|
89
|
+
throw new Error(`Attempting to deserialize unexpected value${accessChainToDisplayString(accessChain)}: ${value}`);
|
|
90
|
+
}
|
|
91
|
+
function serializeValue(value, handleSerializer) {
|
|
92
|
+
return innerSerializeValue(value, handleSerializer, { lastId: 0, visited: /* @__PURE__ */ new Map() }, []);
|
|
93
|
+
}
|
|
94
|
+
function serializePlainValue(arg) {
|
|
95
|
+
return serializeValue(arg, (value) => ({ fallThrough: value }));
|
|
96
|
+
}
|
|
97
|
+
function innerSerializeValue(value, handleSerializer, visitorInfo, accessChain) {
|
|
98
|
+
const handle = handleSerializer(value);
|
|
99
|
+
if ("fallThrough" in handle)
|
|
100
|
+
value = handle.fallThrough;
|
|
101
|
+
else
|
|
102
|
+
return handle;
|
|
103
|
+
if (typeof value === "symbol")
|
|
104
|
+
return { v: "undefined" };
|
|
105
|
+
if (Object.is(value, void 0))
|
|
106
|
+
return { v: "undefined" };
|
|
107
|
+
if (Object.is(value, null))
|
|
108
|
+
return { v: "null" };
|
|
109
|
+
if (Object.is(value, NaN))
|
|
110
|
+
return { v: "NaN" };
|
|
111
|
+
if (Object.is(value, Infinity))
|
|
112
|
+
return { v: "Infinity" };
|
|
113
|
+
if (Object.is(value, -Infinity))
|
|
114
|
+
return { v: "-Infinity" };
|
|
115
|
+
if (Object.is(value, -0))
|
|
116
|
+
return { v: "-0" };
|
|
117
|
+
if (typeof value === "boolean")
|
|
118
|
+
return { b: value };
|
|
119
|
+
if (typeof value === "number")
|
|
120
|
+
return { n: value };
|
|
121
|
+
if (typeof value === "string")
|
|
122
|
+
return { s: value };
|
|
123
|
+
if (typeof value === "bigint")
|
|
124
|
+
return { bi: value.toString() };
|
|
125
|
+
if (isError(value))
|
|
126
|
+
return { e: { n: value.name, m: value.message, s: value.stack || "" } };
|
|
127
|
+
if (isDate(value))
|
|
128
|
+
return { d: value.toJSON() };
|
|
129
|
+
if (isURL(value))
|
|
130
|
+
return { u: value.toJSON() };
|
|
131
|
+
if (isRegExp(value))
|
|
132
|
+
return { r: { p: value.source, f: value.flags } };
|
|
133
|
+
const typedArrayKind = constructorToTypedArrayKind.get(value.constructor);
|
|
134
|
+
if (typedArrayKind)
|
|
135
|
+
return { ta: { b: Buffer.from(value.buffer, value.byteOffset, value.byteLength), k: typedArrayKind } };
|
|
136
|
+
const id = visitorInfo.visited.get(value);
|
|
137
|
+
if (id)
|
|
138
|
+
return { ref: id };
|
|
139
|
+
if (Array.isArray(value)) {
|
|
140
|
+
const a = [];
|
|
141
|
+
const id2 = ++visitorInfo.lastId;
|
|
142
|
+
visitorInfo.visited.set(value, id2);
|
|
143
|
+
for (let i = 0; i < value.length; ++i)
|
|
144
|
+
a.push(innerSerializeValue(value[i], handleSerializer, visitorInfo, [...accessChain, i]));
|
|
145
|
+
return { a, id: id2 };
|
|
146
|
+
}
|
|
147
|
+
if (typeof value === "object") {
|
|
148
|
+
const o = [];
|
|
149
|
+
const id2 = ++visitorInfo.lastId;
|
|
150
|
+
visitorInfo.visited.set(value, id2);
|
|
151
|
+
for (const name of Object.keys(value))
|
|
152
|
+
o.push({ k: name, v: innerSerializeValue(value[name], handleSerializer, visitorInfo, [...accessChain, name]) });
|
|
153
|
+
return { o, id: id2 };
|
|
154
|
+
}
|
|
155
|
+
throw new Error(`Attempting to serialize unexpected value${accessChainToDisplayString(accessChain)}: ${value}`);
|
|
156
|
+
}
|
|
157
|
+
function accessChainToDisplayString(accessChain) {
|
|
158
|
+
const chainString = accessChain.map((accessor, i) => {
|
|
159
|
+
if (typeof accessor === "string")
|
|
160
|
+
return i ? `.${accessor}` : accessor;
|
|
161
|
+
return `[${accessor}]`;
|
|
162
|
+
}).join("");
|
|
163
|
+
return chainString.length > 0 ? ` at position "${chainString}"` : "";
|
|
164
|
+
}
|
|
165
|
+
function isRegExp(obj) {
|
|
166
|
+
return obj instanceof RegExp || Object.prototype.toString.call(obj) === "[object RegExp]";
|
|
167
|
+
}
|
|
168
|
+
function isDate(obj) {
|
|
169
|
+
return obj instanceof Date || Object.prototype.toString.call(obj) === "[object Date]";
|
|
170
|
+
}
|
|
171
|
+
function isURL(obj) {
|
|
172
|
+
return obj instanceof URL || Object.prototype.toString.call(obj) === "[object URL]";
|
|
173
|
+
}
|
|
174
|
+
function isError(obj) {
|
|
175
|
+
const proto = obj ? Object.getPrototypeOf(obj) : null;
|
|
176
|
+
return obj instanceof Error || proto?.name === "Error" || proto && isError(proto);
|
|
177
|
+
}
|
|
178
|
+
const typedArrayKindToConstructor = {
|
|
179
|
+
i8: Int8Array,
|
|
180
|
+
ui8: Uint8Array,
|
|
181
|
+
ui8c: Uint8ClampedArray,
|
|
182
|
+
i16: Int16Array,
|
|
183
|
+
ui16: Uint16Array,
|
|
184
|
+
i32: Int32Array,
|
|
185
|
+
ui32: Uint32Array,
|
|
186
|
+
f32: Float32Array,
|
|
187
|
+
f64: Float64Array,
|
|
188
|
+
bi64: BigInt64Array,
|
|
189
|
+
bui64: BigUint64Array
|
|
190
|
+
};
|
|
191
|
+
const constructorToTypedArrayKind = new Map(Object.entries(typedArrayKindToConstructor).map(([k, v]) => [v, k]));
|
|
192
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
193
|
+
0 && (module.exports = {
|
|
194
|
+
parseSerializedValue,
|
|
195
|
+
serializePlainValue,
|
|
196
|
+
serializeValue
|
|
197
|
+
});
|