rebrowser-playwright-core 1.49.0 → 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/ThirdPartyNotices.txt +381 -55
- package/bin/reinstall_msedge_beta_linux.sh +6 -0
- package/bin/reinstall_msedge_dev_linux.sh +6 -0
- package/bin/reinstall_msedge_stable_linux.sh +6 -0
- package/browsers.json +28 -13
- package/index.js +0 -1
- package/lib/androidServerImpl.js +42 -48
- package/lib/browserServerImpl.js +60 -64
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +314 -354
- package/lib/cli/programWithTestStub.js +51 -44
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +146 -254
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -39
- package/lib/client/browser.js +59 -68
- package/lib/client/browserContext.js +302 -322
- package/lib/client/browserType.js +95 -143
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +109 -139
- package/lib/client/clientHelper.js +49 -42
- package/lib/client/clientInstrumentation.js +40 -35
- package/lib/client/clientStackTrace.js +69 -0
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +203 -218
- package/lib/client/consoleMessage.js +33 -33
- 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 +74 -76
- package/lib/client/elementHandle.js +126 -163
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +127 -127
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +154 -178
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +34 -0
- package/lib/client/frame.js +189 -307
- package/lib/client/harRouter.js +44 -56
- package/lib/client/input.js +40 -69
- package/lib/client/jsHandle.js +55 -71
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +53 -28
- package/lib/client/locator.js +144 -230
- package/lib/client/network.js +285 -301
- package/lib/client/page.js +273 -312
- package/lib/client/platform.js +74 -0
- package/lib/client/playwright.js +62 -57
- package/lib/client/selectors.js +51 -43
- package/lib/client/stream.js +30 -45
- package/lib/client/timeoutSettings.js +75 -0
- package/lib/client/tracing.js +49 -82
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +71 -91
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +111 -0
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +28 -43
- 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 -48
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +53 -42
- package/lib/protocol/debug.js +209 -25
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2712 -2667
- package/lib/protocol/validatorPrimitives.js +115 -75
- package/lib/remote/playwrightConnection.js +144 -152
- package/lib/remote/playwrightServer.js +106 -77
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +216 -206
- package/lib/server/android/backendAdb.js +89 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +227 -158
- package/lib/server/bidi/bidiChromium.js +106 -78
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +161 -97
- package/lib/server/bidi/bidiFirefox.js +76 -68
- package/lib/server/bidi/bidiInput.js +90 -102
- package/lib/server/bidi/bidiNetworkManager.js +141 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +262 -261
- 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 +241 -223
- 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 +149 -111
- package/lib/server/browser.js +76 -84
- package/lib/server/browserContext.js +343 -360
- package/lib/server/browserType.js +169 -181
- package/lib/server/callLog.js +82 -0
- package/lib/server/chromium/chromium.js +212 -190
- package/lib/server/chromium/chromiumSwitches.js +99 -44
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +262 -280
- package/lib/server/chromium/crConnection.js +121 -178
- package/lib/server/chromium/crCoverage.js +113 -127
- package/lib/server/chromium/crDevTools.js +64 -55
- package/lib/server/chromium/crDragDrop.js +62 -79
- package/lib/server/chromium/crExecutionContext.js +100 -91
- package/lib/server/chromium/crInput.js +101 -88
- package/lib/server/chromium/crNetworkManager.js +269 -370
- package/lib/server/chromium/crPage.js +509 -595
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +85 -69
- 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 +58 -46
- package/lib/server/codegen/csharp.js +191 -156
- package/lib/server/codegen/java.js +163 -125
- package/lib/server/codegen/javascript.js +166 -143
- package/lib/server/codegen/jsonl.js +33 -29
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -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 +102 -154
- package/lib/server/debugger.js +82 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +131 -131
- 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 +177 -217
- 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 -64
- package/lib/server/dispatchers/dialogDispatcher.js +30 -27
- package/lib/server/dispatchers/dispatcher.js +180 -229
- package/lib/server/dispatchers/electronDispatcher.js +54 -57
- package/lib/server/dispatchers/elementHandlerDispatcher.js +79 -116
- package/lib/server/dispatchers/frameDispatcher.js +93 -162
- package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
- package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
- package/lib/server/dispatchers/localUtilsDispatcher.js +107 -365
- package/lib/server/dispatchers/networkDispatchers.js +92 -109
- package/lib/server/dispatchers/pageDispatcher.js +130 -169
- package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
- package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
- package/lib/server/dispatchers/streamDispatcher.js +42 -44
- package/lib/server/dispatchers/tracingDispatcher.js +36 -41
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +100 -135
- package/lib/server/dispatchers/writableStreamDispatcher.js +54 -39
- package/lib/server/dom.js +424 -443
- package/lib/server/download.js +45 -35
- package/lib/server/electron/electron.js +156 -175
- package/lib/server/electron/loader.js +8 -36
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +302 -331
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -57
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +218 -274
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +103 -77
- package/lib/server/firefox/ffInput.js +72 -63
- package/lib/server/firefox/ffNetworkManager.js +131 -110
- package/lib/server/firefox/ffPage.js +244 -302
- package/lib/server/firefox/firefox.js +76 -69
- 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 +719 -855
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +288 -224
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +56 -59
- package/lib/server/index.js +59 -106
- package/lib/server/input.js +136 -166
- package/lib/server/instrumentation.js +49 -44
- package/lib/server/javascript.js +157 -151
- package/lib/server/launchApp.js +92 -73
- package/lib/server/localUtils.js +211 -0
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +263 -297
- package/lib/server/page.js +353 -432
- 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 +161 -0
- package/lib/server/recorder/contextRecorder.js +135 -148
- package/lib/server/recorder/recorderApp.js +129 -132
- package/lib/server/recorder/recorderCollection.js +57 -57
- package/lib/server/recorder/recorderFrontend.js +15 -4
- package/lib/server/recorder/recorderRunner.js +80 -100
- package/lib/server/recorder/recorderUtils.js +59 -72
- package/lib/server/recorder/throttledFile.js +42 -31
- package/lib/server/recorder.js +186 -190
- package/lib/server/registry/browserFetcher.js +107 -100
- package/lib/server/registry/dependencies.js +247 -198
- package/lib/server/registry/index.js +928 -709
- package/lib/server/registry/nativeDeps.js +1073 -461
- 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 -67
- package/lib/server/storageScript.js +154 -0
- package/lib/server/timeoutSettings.js +89 -0
- package/lib/server/trace/recorder/snapshotter.js +70 -88
- package/lib/server/trace/recorder/snapshotterInjected.js +246 -218
- package/lib/server/trace/recorder/tracing.js +324 -327
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +172 -137
- package/lib/server/transport.js +125 -133
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +44 -0
- package/lib/server/utils/comparators.js +161 -0
- package/lib/server/utils/crypto.js +216 -0
- package/lib/server/utils/debug.js +47 -0
- package/lib/server/utils/debugLogger.js +114 -0
- package/lib/server/utils/env.js +68 -0
- package/lib/server/utils/eventsHelper.js +39 -0
- package/lib/server/utils/expectUtils.js +38 -0
- package/lib/server/utils/fileUtils.js +191 -0
- package/lib/server/utils/happyEyeballs.js +207 -0
- package/lib/server/utils/hostPlatform.js +109 -0
- package/lib/server/utils/httpServer.js +218 -0
- package/lib/server/utils/image_tools/colorUtils.js +89 -0
- package/lib/{image_tools → server/utils/image_tools}/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +78 -0
- package/lib/{image_tools → server/utils/image_tools}/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +71 -0
- package/lib/server/utils/network.js +217 -0
- package/lib/server/utils/nodePlatform.js +148 -0
- package/lib/server/utils/pipeTransport.js +84 -0
- package/lib/server/utils/processLauncher.js +238 -0
- package/lib/server/utils/profiler.js +65 -0
- package/lib/server/utils/socksProxy.js +511 -0
- package/lib/server/utils/spawnAsync.js +41 -0
- package/lib/server/utils/task.js +51 -0
- package/lib/server/utils/userAgent.js +98 -0
- package/lib/server/utils/wsServer.js +132 -0
- package/lib/server/utils/zipFile.js +74 -0
- package/lib/server/utils/zones.js +57 -0
- 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 +163 -180
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +96 -73
- package/lib/server/webkit/wkInput.js +87 -75
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +536 -645
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +77 -77
- package/lib/utils/isomorphic/ariaSnapshot.js +245 -128
- package/lib/utils/isomorphic/assert.js +31 -0
- package/lib/utils/isomorphic/builtins.js +90 -0
- package/lib/utils/isomorphic/colors.js +72 -0
- package/lib/utils/isomorphic/cssParser.js +123 -127
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +53 -0
- package/lib/utils/isomorphic/locatorGenerators.js +344 -349
- package/lib/utils/isomorphic/locatorParser.js +103 -106
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +115 -0
- package/lib/utils/isomorphic/mimeType.js +453 -22
- package/lib/utils/isomorphic/multimap.js +81 -0
- package/lib/utils/isomorphic/rtti.js +43 -0
- package/lib/utils/isomorphic/selectorParser.js +183 -193
- package/lib/utils/isomorphic/semaphore.js +54 -0
- package/lib/utils/isomorphic/stackTrace.js +158 -0
- package/lib/utils/isomorphic/stringUtils.js +113 -106
- package/lib/utils/isomorphic/time.js +44 -0
- package/lib/utils/isomorphic/timeoutRunner.js +67 -0
- package/lib/utils/isomorphic/traceUtils.js +52 -32
- package/lib/utils/isomorphic/types.js +16 -0
- package/lib/utils/isomorphic/urlMatch.js +114 -71
- package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
- package/lib/utils.js +101 -0
- package/lib/utilsBundle.js +101 -76
- package/lib/utilsBundleImpl/index.js +114 -116
- package/lib/vite/htmlReport/index.html +26 -20
- package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +24 -0
- package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
- package/lib/vite/recorder/assets/{index-iA1aAGZg.css → index-eHBmevrY.css} +1 -1
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +265 -0
- package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
- package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +1 -0
- package/lib/vite/traceViewer/index.DvtSwn6E.js +2 -0
- package/lib/vite/traceViewer/index.html +4 -7
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/{uiMode.voC1ZiOQ.css → uiMode.BatfzHMG.css} +1 -1
- package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +4 -7
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +7 -7
- package/types/protocol.d.ts +819 -127
- package/types/types.d.ts +196 -75
- package/bin/PrintDeps.exe +0 -0
- package/bin/README.md +0 -2
- 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/imageChannel.js +0 -70
- package/lib/protocol/transport.js +0 -82
- package/lib/server/ariaSnapshot.js +0 -33
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
- package/lib/server/recorder/recorderInTraceViewer.js +0 -144
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -153
- package/lib/utils/crypto.js +0 -171
- 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/expectUtils.js +0 -33
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -194
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -139
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/isomorphic/recorderUtils.js +0 -227
- 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/sequence.js +0 -64
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -134
- 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 -71
- package/lib/vite/recorder/assets/codeMirrorModule-AFvV6hAs.js +0 -24
- package/lib/vite/recorder/assets/index-_cTWgVuJ.js +0 -184
- package/lib/vite/traceViewer/assets/codeMirrorModule-KatbITLF.js +0 -24
- package/lib/vite/traceViewer/assets/inspectorTab-DdpLd2bb.js +0 -68
- package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
- package/lib/vite/traceViewer/assets/workbench-CdYbzWFD.js +0 -9
- package/lib/vite/traceViewer/embedded.6m3UZh7r.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
- package/lib/vite/traceViewer/index.WUV-8boJ.js +0 -2
- package/lib/vite/traceViewer/inspectorTab.DEOUW62d.css +0 -1
- package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
- package/lib/vite/traceViewer/recorder.OT2tVHgn.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/uiMode.BZBTyvGn.js +0 -5
- package/lib/vite/traceViewer/workbench.C-zR9ysA.css +0 -1
- /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
- /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
package/lib/client/fetch.js
CHANGED
|
@@ -1,168 +1,159 @@
|
|
|
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 fetch_exports = {};
|
|
20
|
+
__export(fetch_exports, {
|
|
21
|
+
APIRequest: () => APIRequest,
|
|
22
|
+
APIRequestContext: () => APIRequestContext,
|
|
23
|
+
APIResponse: () => APIResponse
|
|
5
24
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _browserContext = require("./browserContext");
|
|
17
|
-
let _Symbol$asyncDispose, _Symbol$asyncDispose2, _util$inspect$custom;
|
|
18
|
-
/**
|
|
19
|
-
* Copyright (c) Microsoft Corporation.
|
|
20
|
-
*
|
|
21
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
22
|
-
* you may not use this file except in compliance with the License.
|
|
23
|
-
* You may obtain a copy of the License at
|
|
24
|
-
*
|
|
25
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
26
|
-
*
|
|
27
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
28
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
29
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
30
|
-
* See the License for the specific language governing permissions and
|
|
31
|
-
* limitations under the License.
|
|
32
|
-
*/
|
|
33
|
-
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); }
|
|
34
|
-
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 && Object.prototype.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; }
|
|
35
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
module.exports = __toCommonJS(fetch_exports);
|
|
26
|
+
var import_browserContext = require("./browserContext");
|
|
27
|
+
var import_channelOwner = require("./channelOwner");
|
|
28
|
+
var import_errors = require("./errors");
|
|
29
|
+
var import_network = require("./network");
|
|
30
|
+
var import_tracing = require("./tracing");
|
|
31
|
+
var import_assert = require("../utils/isomorphic/assert");
|
|
32
|
+
var import_fileUtils = require("./fileUtils");
|
|
33
|
+
var import_headers = require("../utils/isomorphic/headers");
|
|
34
|
+
var import_rtti = require("../utils/isomorphic/rtti");
|
|
36
35
|
class APIRequest {
|
|
37
36
|
constructor(playwright) {
|
|
38
|
-
this.
|
|
39
|
-
this._contexts = new Set();
|
|
40
|
-
// Instrumentation.
|
|
41
|
-
this._defaultContextOptions = void 0;
|
|
37
|
+
this._contexts = /* @__PURE__ */ new Set();
|
|
42
38
|
this._playwright = playwright;
|
|
43
39
|
}
|
|
44
40
|
async newContext(options = {}) {
|
|
45
|
-
var _this$_defaultContext;
|
|
46
41
|
options = {
|
|
47
|
-
...this._defaultContextOptions,
|
|
42
|
+
...this._playwright._defaultContextOptions,
|
|
43
|
+
timeout: this._playwright._defaultContextTimeout,
|
|
48
44
|
...options
|
|
49
45
|
};
|
|
50
|
-
const storageState = typeof options.storageState ===
|
|
51
|
-
// We do not expose tracesDir in the API, so do not allow options to accidentally override it.
|
|
52
|
-
const tracesDir = (_this$_defaultContext = this._defaultContextOptions) === null || _this$_defaultContext === void 0 ? void 0 : _this$_defaultContext.tracesDir;
|
|
46
|
+
const storageState = typeof options.storageState === "string" ? JSON.parse(await this._playwright._platform.fs().promises.readFile(options.storageState, "utf8")) : options.storageState;
|
|
53
47
|
const context = APIRequestContext.from((await this._playwright._channel.newRequest({
|
|
54
48
|
...options,
|
|
55
|
-
extraHTTPHeaders: options.extraHTTPHeaders ? (0,
|
|
49
|
+
extraHTTPHeaders: options.extraHTTPHeaders ? (0, import_headers.headersObjectToArray)(options.extraHTTPHeaders) : void 0,
|
|
56
50
|
storageState,
|
|
57
|
-
tracesDir,
|
|
58
|
-
|
|
51
|
+
tracesDir: this._playwright._defaultLaunchOptions?.tracesDir,
|
|
52
|
+
// We do not expose tracesDir in the API, so do not allow options to accidentally override it.
|
|
53
|
+
clientCertificates: await (0, import_browserContext.toClientCertificatesProtocol)(this._playwright._platform, options.clientCertificates)
|
|
59
54
|
})).request);
|
|
60
55
|
this._contexts.add(context);
|
|
61
56
|
context._request = this;
|
|
62
|
-
context._tracing._tracesDir = tracesDir;
|
|
57
|
+
context._tracing._tracesDir = this._playwright._defaultLaunchOptions?.tracesDir;
|
|
63
58
|
await context._instrumentation.runAfterCreateRequestContext(context);
|
|
64
59
|
return context;
|
|
65
60
|
}
|
|
66
61
|
}
|
|
67
|
-
|
|
68
|
-
_Symbol$asyncDispose = Symbol.asyncDispose;
|
|
69
|
-
class APIRequestContext extends _channelOwner.ChannelOwner {
|
|
62
|
+
class APIRequestContext extends import_channelOwner.ChannelOwner {
|
|
70
63
|
static from(channel) {
|
|
71
64
|
return channel._object;
|
|
72
65
|
}
|
|
73
66
|
constructor(parent, type, guid, initializer) {
|
|
74
67
|
super(parent, type, guid, initializer);
|
|
75
|
-
this.
|
|
76
|
-
this._tracing = void 0;
|
|
77
|
-
this._closeReason = void 0;
|
|
78
|
-
this._tracing = _tracing.Tracing.from(initializer.tracing);
|
|
68
|
+
this._tracing = import_tracing.Tracing.from(initializer.tracing);
|
|
79
69
|
}
|
|
80
|
-
async [
|
|
70
|
+
async [Symbol.asyncDispose]() {
|
|
81
71
|
await this.dispose();
|
|
82
72
|
}
|
|
83
73
|
async dispose(options = {}) {
|
|
84
|
-
var _this$_request;
|
|
85
74
|
this._closeReason = options.reason;
|
|
86
75
|
await this._instrumentation.runBeforeCloseRequestContext(this);
|
|
87
76
|
try {
|
|
88
77
|
await this._channel.dispose(options);
|
|
89
78
|
} catch (e) {
|
|
90
|
-
if ((0,
|
|
79
|
+
if ((0, import_errors.isTargetClosedError)(e))
|
|
80
|
+
return;
|
|
91
81
|
throw e;
|
|
92
82
|
}
|
|
93
83
|
this._tracing._resetStackCounter();
|
|
94
|
-
|
|
84
|
+
this._request?._contexts.delete(this);
|
|
95
85
|
}
|
|
96
86
|
async delete(url, options) {
|
|
97
87
|
return await this.fetch(url, {
|
|
98
88
|
...options,
|
|
99
|
-
method:
|
|
89
|
+
method: "DELETE"
|
|
100
90
|
});
|
|
101
91
|
}
|
|
102
92
|
async head(url, options) {
|
|
103
93
|
return await this.fetch(url, {
|
|
104
94
|
...options,
|
|
105
|
-
method:
|
|
95
|
+
method: "HEAD"
|
|
106
96
|
});
|
|
107
97
|
}
|
|
108
98
|
async get(url, options) {
|
|
109
99
|
return await this.fetch(url, {
|
|
110
100
|
...options,
|
|
111
|
-
method:
|
|
101
|
+
method: "GET"
|
|
112
102
|
});
|
|
113
103
|
}
|
|
114
104
|
async patch(url, options) {
|
|
115
105
|
return await this.fetch(url, {
|
|
116
106
|
...options,
|
|
117
|
-
method:
|
|
107
|
+
method: "PATCH"
|
|
118
108
|
});
|
|
119
109
|
}
|
|
120
110
|
async post(url, options) {
|
|
121
111
|
return await this.fetch(url, {
|
|
122
112
|
...options,
|
|
123
|
-
method:
|
|
113
|
+
method: "POST"
|
|
124
114
|
});
|
|
125
115
|
}
|
|
126
116
|
async put(url, options) {
|
|
127
117
|
return await this.fetch(url, {
|
|
128
118
|
...options,
|
|
129
|
-
method:
|
|
119
|
+
method: "PUT"
|
|
130
120
|
});
|
|
131
121
|
}
|
|
132
122
|
async fetch(urlOrRequest, options = {}) {
|
|
133
|
-
const url = (0,
|
|
134
|
-
const request = (0,
|
|
135
|
-
return await this._innerFetch({
|
|
136
|
-
url,
|
|
137
|
-
request,
|
|
138
|
-
...options
|
|
139
|
-
});
|
|
123
|
+
const url = (0, import_rtti.isString)(urlOrRequest) ? urlOrRequest : void 0;
|
|
124
|
+
const request = (0, import_rtti.isString)(urlOrRequest) ? void 0 : urlOrRequest;
|
|
125
|
+
return await this._innerFetch({ url, request, ...options });
|
|
140
126
|
}
|
|
141
127
|
async _innerFetch(options = {}) {
|
|
142
128
|
return await this._wrapApiCall(async () => {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
(0,
|
|
146
|
-
(0,
|
|
147
|
-
(0,
|
|
148
|
-
(0,
|
|
149
|
-
const url = options.url !==
|
|
150
|
-
const method = options.method ||
|
|
151
|
-
let encodedParams =
|
|
152
|
-
if (typeof options.params ===
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
129
|
+
if (this._closeReason)
|
|
130
|
+
throw new import_errors.TargetClosedError(this._closeReason);
|
|
131
|
+
(0, import_assert.assert)(options.request || typeof options.url === "string", "First argument must be either URL string or Request");
|
|
132
|
+
(0, import_assert.assert)((options.data === void 0 ? 0 : 1) + (options.form === void 0 ? 0 : 1) + (options.multipart === void 0 ? 0 : 1) <= 1, `Only one of 'data', 'form' or 'multipart' can be specified`);
|
|
133
|
+
(0, import_assert.assert)(options.maxRedirects === void 0 || options.maxRedirects >= 0, `'maxRedirects' must be greater than or equal to '0'`);
|
|
134
|
+
(0, import_assert.assert)(options.maxRetries === void 0 || options.maxRetries >= 0, `'maxRetries' must be greater than or equal to '0'`);
|
|
135
|
+
const url = options.url !== void 0 ? options.url : options.request.url();
|
|
136
|
+
const method = options.method || options.request?.method();
|
|
137
|
+
let encodedParams = void 0;
|
|
138
|
+
if (typeof options.params === "string")
|
|
139
|
+
encodedParams = options.params;
|
|
140
|
+
else if (options.params instanceof URLSearchParams)
|
|
141
|
+
encodedParams = options.params.toString();
|
|
142
|
+
const headersObj = options.headers || options.request?.headers();
|
|
143
|
+
const headers = headersObj ? (0, import_headers.headersObjectToArray)(headersObj) : void 0;
|
|
156
144
|
let jsonData;
|
|
157
145
|
let formData;
|
|
158
146
|
let multipartData;
|
|
159
147
|
let postDataBuffer;
|
|
160
|
-
if (options.data !==
|
|
161
|
-
if ((0,
|
|
162
|
-
if (isJsonContentType(headers))
|
|
148
|
+
if (options.data !== void 0) {
|
|
149
|
+
if ((0, import_rtti.isString)(options.data)) {
|
|
150
|
+
if (isJsonContentType(headers))
|
|
151
|
+
jsonData = isJsonParsable(options.data) ? options.data : JSON.stringify(options.data);
|
|
152
|
+
else
|
|
153
|
+
postDataBuffer = Buffer.from(options.data, "utf8");
|
|
163
154
|
} else if (Buffer.isBuffer(options.data)) {
|
|
164
155
|
postDataBuffer = options.data;
|
|
165
|
-
} else if (typeof options.data ===
|
|
156
|
+
} else if (typeof options.data === "object" || typeof options.data === "number" || typeof options.data === "boolean") {
|
|
166
157
|
jsonData = JSON.stringify(options.data);
|
|
167
158
|
} else {
|
|
168
159
|
throw new Error(`Unexpected 'data' type`);
|
|
@@ -171,11 +162,9 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
|
|
|
171
162
|
if (globalThis.FormData && options.form instanceof FormData) {
|
|
172
163
|
formData = [];
|
|
173
164
|
for (const [name, value] of options.form.entries()) {
|
|
174
|
-
if (typeof value !==
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
value
|
|
178
|
-
});
|
|
165
|
+
if (typeof value !== "string")
|
|
166
|
+
throw new Error(`Expected string for options.form["${name}"], found File. Please use options.multipart instead.`);
|
|
167
|
+
formData.push({ name, value });
|
|
179
168
|
}
|
|
180
169
|
} else {
|
|
181
170
|
formData = objectToArray(options.form);
|
|
@@ -185,35 +174,30 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
|
|
|
185
174
|
if (globalThis.FormData && options.multipart instanceof FormData) {
|
|
186
175
|
const form = options.multipart;
|
|
187
176
|
for (const [name, value] of form.entries()) {
|
|
188
|
-
if ((0,
|
|
189
|
-
multipartData.push({
|
|
190
|
-
name,
|
|
191
|
-
value
|
|
192
|
-
});
|
|
177
|
+
if ((0, import_rtti.isString)(value)) {
|
|
178
|
+
multipartData.push({ name, value });
|
|
193
179
|
} else {
|
|
194
180
|
const file = {
|
|
195
181
|
name: value.name,
|
|
196
182
|
mimeType: value.type,
|
|
197
183
|
buffer: Buffer.from(await value.arrayBuffer())
|
|
198
184
|
};
|
|
199
|
-
multipartData.push({
|
|
200
|
-
name,
|
|
201
|
-
file
|
|
202
|
-
});
|
|
185
|
+
multipartData.push({ name, file });
|
|
203
186
|
}
|
|
204
187
|
}
|
|
205
188
|
} else {
|
|
206
|
-
|
|
207
|
-
|
|
189
|
+
for (const [name, value] of Object.entries(options.multipart))
|
|
190
|
+
multipartData.push(await toFormField(this._platform, name, value));
|
|
208
191
|
}
|
|
209
192
|
}
|
|
210
|
-
if (postDataBuffer ===
|
|
193
|
+
if (postDataBuffer === void 0 && jsonData === void 0 && formData === void 0 && multipartData === void 0)
|
|
194
|
+
postDataBuffer = options.request?.postDataBuffer() || void 0;
|
|
211
195
|
const fixtures = {
|
|
212
196
|
__testHookLookup: options.__testHookLookup
|
|
213
197
|
};
|
|
214
198
|
const result = await this._channel.fetch({
|
|
215
199
|
url,
|
|
216
|
-
params: typeof options.params ===
|
|
200
|
+
params: typeof options.params === "object" ? objectToArray(options.params) : void 0,
|
|
217
201
|
encodedParams,
|
|
218
202
|
method,
|
|
219
203
|
headers,
|
|
@@ -232,54 +216,47 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
|
|
|
232
216
|
});
|
|
233
217
|
}
|
|
234
218
|
async storageState(options = {}) {
|
|
235
|
-
const state = await this._channel.storageState();
|
|
219
|
+
const state = await this._channel.storageState({ indexedDB: options.indexedDB });
|
|
236
220
|
if (options.path) {
|
|
237
|
-
await (0,
|
|
238
|
-
await
|
|
221
|
+
await (0, import_fileUtils.mkdirIfNeeded)(this._platform, options.path);
|
|
222
|
+
await this._platform.fs().promises.writeFile(options.path, JSON.stringify(state, void 0, 2), "utf8");
|
|
239
223
|
}
|
|
240
224
|
return state;
|
|
241
225
|
}
|
|
242
226
|
}
|
|
243
|
-
|
|
244
|
-
|
|
227
|
+
async function toFormField(platform, name, value) {
|
|
228
|
+
const typeOfValue = typeof value;
|
|
245
229
|
if (isFilePayload(value)) {
|
|
246
230
|
const payload = value;
|
|
247
|
-
if (!Buffer.isBuffer(payload.buffer))
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
};
|
|
252
|
-
} else if (value instanceof _fs.default.ReadStream) {
|
|
253
|
-
return {
|
|
254
|
-
name,
|
|
255
|
-
file: await readStreamToJson(value)
|
|
256
|
-
};
|
|
231
|
+
if (!Buffer.isBuffer(payload.buffer))
|
|
232
|
+
throw new Error(`Unexpected buffer type of 'data.${name}'`);
|
|
233
|
+
return { name, file: filePayloadToJson(payload) };
|
|
234
|
+
} else if (typeOfValue === "string" || typeOfValue === "number" || typeOfValue === "boolean") {
|
|
235
|
+
return { name, value: String(value) };
|
|
257
236
|
} else {
|
|
258
|
-
return {
|
|
259
|
-
name,
|
|
260
|
-
value: String(value)
|
|
261
|
-
};
|
|
237
|
+
return { name, file: await readStreamToJson(platform, value) };
|
|
262
238
|
}
|
|
263
239
|
}
|
|
264
240
|
function isJsonParsable(value) {
|
|
265
|
-
if (typeof value !==
|
|
241
|
+
if (typeof value !== "string")
|
|
242
|
+
return false;
|
|
266
243
|
try {
|
|
267
244
|
JSON.parse(value);
|
|
268
245
|
return true;
|
|
269
246
|
} catch (e) {
|
|
270
|
-
if (e instanceof SyntaxError)
|
|
247
|
+
if (e instanceof SyntaxError)
|
|
248
|
+
return false;
|
|
249
|
+
else
|
|
250
|
+
throw e;
|
|
271
251
|
}
|
|
272
252
|
}
|
|
273
|
-
_Symbol$asyncDispose2 = Symbol.asyncDispose;
|
|
274
|
-
_util$inspect$custom = util.inspect.custom;
|
|
275
253
|
class APIResponse {
|
|
276
254
|
constructor(context, initializer) {
|
|
277
|
-
this._initializer = void 0;
|
|
278
|
-
this._headers = void 0;
|
|
279
|
-
this._request = void 0;
|
|
280
255
|
this._request = context;
|
|
281
256
|
this._initializer = initializer;
|
|
282
|
-
this._headers = new
|
|
257
|
+
this._headers = new import_network.RawHeaders(this._initializer.headers);
|
|
258
|
+
if (context._platform.inspectCustom)
|
|
259
|
+
this[context._platform.inspectCustom] = () => this._inspect();
|
|
283
260
|
}
|
|
284
261
|
ok() {
|
|
285
262
|
return this._initializer.status >= 200 && this._initializer.status <= 299;
|
|
@@ -300,53 +277,46 @@ class APIResponse {
|
|
|
300
277
|
return this._headers.headersArray();
|
|
301
278
|
}
|
|
302
279
|
async body() {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
fetchUid: this._fetchUid()
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
280
|
+
return await this._request._wrapApiCall(async () => {
|
|
281
|
+
try {
|
|
282
|
+
const result = await this._request._channel.fetchResponseBody({ fetchUid: this._fetchUid() });
|
|
283
|
+
if (result.binary === void 0)
|
|
284
|
+
throw new Error("Response has been disposed");
|
|
285
|
+
return result.binary;
|
|
286
|
+
} catch (e) {
|
|
287
|
+
if ((0, import_errors.isTargetClosedError)(e))
|
|
288
|
+
throw new Error("Response has been disposed");
|
|
289
|
+
throw e;
|
|
290
|
+
}
|
|
291
|
+
}, true);
|
|
313
292
|
}
|
|
314
293
|
async text() {
|
|
315
294
|
const content = await this.body();
|
|
316
|
-
return content.toString(
|
|
295
|
+
return content.toString("utf8");
|
|
317
296
|
}
|
|
318
297
|
async json() {
|
|
319
298
|
const content = await this.text();
|
|
320
299
|
return JSON.parse(content);
|
|
321
300
|
}
|
|
322
|
-
async [
|
|
301
|
+
async [Symbol.asyncDispose]() {
|
|
323
302
|
await this.dispose();
|
|
324
303
|
}
|
|
325
304
|
async dispose() {
|
|
326
|
-
await this._request._channel.disposeAPIResponse({
|
|
327
|
-
fetchUid: this._fetchUid()
|
|
328
|
-
});
|
|
305
|
+
await this._request._channel.disposeAPIResponse({ fetchUid: this._fetchUid() });
|
|
329
306
|
}
|
|
330
|
-
|
|
331
|
-
const headers = this.headersArray().map(({
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}) => ` ${name}: ${value}`);
|
|
335
|
-
return `APIResponse: ${this.status()} ${this.statusText()}\n${headers.join('\n')}`;
|
|
307
|
+
_inspect() {
|
|
308
|
+
const headers = this.headersArray().map(({ name, value }) => ` ${name}: ${value}`);
|
|
309
|
+
return `APIResponse: ${this.status()} ${this.statusText()}
|
|
310
|
+
${headers.join("\n")}`;
|
|
336
311
|
}
|
|
337
312
|
_fetchUid() {
|
|
338
313
|
return this._initializer.fetchUid;
|
|
339
314
|
}
|
|
340
315
|
async _fetchLog() {
|
|
341
|
-
const {
|
|
342
|
-
log
|
|
343
|
-
} = await this._request._channel.fetchLog({
|
|
344
|
-
fetchUid: this._fetchUid()
|
|
345
|
-
});
|
|
316
|
+
const { log } = await this._request._channel.fetchLog({ fetchUid: this._fetchUid() });
|
|
346
317
|
return log;
|
|
347
318
|
}
|
|
348
319
|
}
|
|
349
|
-
exports.APIResponse = APIResponse;
|
|
350
320
|
function filePayloadToJson(payload) {
|
|
351
321
|
return {
|
|
352
322
|
name: payload.name,
|
|
@@ -354,38 +324,44 @@ function filePayloadToJson(payload) {
|
|
|
354
324
|
buffer: payload.buffer
|
|
355
325
|
};
|
|
356
326
|
}
|
|
357
|
-
async function readStreamToJson(stream) {
|
|
327
|
+
async function readStreamToJson(platform, stream) {
|
|
358
328
|
const buffer = await new Promise((resolve, reject) => {
|
|
359
329
|
const chunks = [];
|
|
360
|
-
stream.on(
|
|
361
|
-
stream.on(
|
|
362
|
-
stream.on(
|
|
330
|
+
stream.on("data", (chunk) => chunks.push(chunk));
|
|
331
|
+
stream.on("end", () => resolve(Buffer.concat(chunks)));
|
|
332
|
+
stream.on("error", (err) => reject(err));
|
|
363
333
|
});
|
|
364
|
-
const streamPath = Buffer.isBuffer(stream.path) ? stream.path.toString(
|
|
334
|
+
const streamPath = Buffer.isBuffer(stream.path) ? stream.path.toString("utf8") : stream.path;
|
|
365
335
|
return {
|
|
366
|
-
name:
|
|
336
|
+
name: platform.path().basename(streamPath),
|
|
367
337
|
buffer
|
|
368
338
|
};
|
|
369
339
|
}
|
|
370
340
|
function isJsonContentType(headers) {
|
|
371
|
-
if (!headers)
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
if (name.toLocaleLowerCase() === 'content-type') return value === 'application/json';
|
|
341
|
+
if (!headers)
|
|
342
|
+
return false;
|
|
343
|
+
for (const { name, value } of headers) {
|
|
344
|
+
if (name.toLocaleLowerCase() === "content-type")
|
|
345
|
+
return value === "application/json";
|
|
377
346
|
}
|
|
378
347
|
return false;
|
|
379
348
|
}
|
|
380
349
|
function objectToArray(map) {
|
|
381
|
-
if (!map)
|
|
350
|
+
if (!map)
|
|
351
|
+
return void 0;
|
|
382
352
|
const result = [];
|
|
383
|
-
for (const [name, value] of Object.entries(map))
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
353
|
+
for (const [name, value] of Object.entries(map)) {
|
|
354
|
+
if (value !== void 0)
|
|
355
|
+
result.push({ name, value: String(value) });
|
|
356
|
+
}
|
|
387
357
|
return result;
|
|
388
358
|
}
|
|
389
359
|
function isFilePayload(value) {
|
|
390
|
-
return typeof value ===
|
|
391
|
-
}
|
|
360
|
+
return typeof value === "object" && value["name"] && value["mimeType"] && value["buffer"];
|
|
361
|
+
}
|
|
362
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
363
|
+
0 && (module.exports = {
|
|
364
|
+
APIRequest,
|
|
365
|
+
APIRequestContext,
|
|
366
|
+
APIResponse
|
|
367
|
+
});
|
|
@@ -1,30 +1,28 @@
|
|
|
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 fileChooser_exports = {};
|
|
20
|
+
__export(fileChooser_exports, {
|
|
21
|
+
FileChooser: () => FileChooser
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
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
|
+
module.exports = __toCommonJS(fileChooser_exports);
|
|
23
24
|
class FileChooser {
|
|
24
25
|
constructor(page, elementHandle, isMultiple) {
|
|
25
|
-
this._page = void 0;
|
|
26
|
-
this._elementHandle = void 0;
|
|
27
|
-
this._isMultiple = void 0;
|
|
28
26
|
this._page = page;
|
|
29
27
|
this._elementHandle = elementHandle;
|
|
30
28
|
this._isMultiple = isMultiple;
|
|
@@ -42,4 +40,7 @@ class FileChooser {
|
|
|
42
40
|
return await this._elementHandle.setInputFiles(files, options);
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
FileChooser
|
|
46
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
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 fileUtils_exports = {};
|
|
20
|
+
__export(fileUtils_exports, {
|
|
21
|
+
fileUploadSizeLimit: () => fileUploadSizeLimit,
|
|
22
|
+
mkdirIfNeeded: () => mkdirIfNeeded
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(fileUtils_exports);
|
|
25
|
+
const fileUploadSizeLimit = 50 * 1024 * 1024;
|
|
26
|
+
async function mkdirIfNeeded(platform, filePath) {
|
|
27
|
+
await platform.fs().promises.mkdir(platform.path().dirname(filePath), { recursive: true }).catch(() => {
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
32
|
+
fileUploadSizeLimit,
|
|
33
|
+
mkdirIfNeeded
|
|
34
|
+
});
|