@checkly/playwright-core 1.51.17-beta.1 → 1.54.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/ThirdPartyNotices.txt +65 -123
  2. package/browsers.json +16 -14
  3. package/index.js +1 -1
  4. package/lib/androidServerImpl.js +47 -50
  5. package/lib/browserServerImpl.js +89 -69
  6. package/lib/checkly/escapeRegExp.js +23 -27
  7. package/lib/checkly/fetch.js +64 -46
  8. package/lib/checkly/secretsFilter.js +49 -36
  9. package/lib/cli/driver.js +71 -69
  10. package/lib/cli/program.js +400 -359
  11. package/lib/cli/programWithTestStub.js +51 -45
  12. package/lib/client/accessibility.js +31 -32
  13. package/lib/client/android.js +151 -242
  14. package/lib/client/api.js +135 -283
  15. package/lib/client/artifact.js +39 -36
  16. package/lib/client/browser.js +96 -71
  17. package/lib/client/browserContext.js +314 -345
  18. package/lib/client/browserType.js +103 -127
  19. package/lib/client/cdpSession.js +29 -31
  20. package/lib/client/channelOwner.js +90 -113
  21. package/lib/client/clientHelper.js +48 -39
  22. package/lib/client/clientInstrumentation.js +40 -37
  23. package/lib/client/clientStackTrace.js +41 -37
  24. package/lib/client/clock.js +36 -36
  25. package/lib/client/connection.js +188 -214
  26. package/lib/client/consoleMessage.js +31 -28
  27. package/lib/client/coverage.js +25 -22
  28. package/lib/client/dialog.js +30 -31
  29. package/lib/client/download.js +25 -25
  30. package/lib/client/electron.js +80 -77
  31. package/lib/client/elementHandle.js +120 -159
  32. package/lib/client/errors.js +53 -53
  33. package/lib/client/eventEmitter.js +124 -121
  34. package/lib/client/events.js +72 -68
  35. package/lib/client/fetch.js +166 -190
  36. package/lib/client/fileChooser.js +25 -24
  37. package/lib/client/fileUtils.js +31 -28
  38. package/lib/client/frame.js +207 -306
  39. package/lib/client/harRouter.js +42 -52
  40. package/lib/client/input.js +42 -69
  41. package/lib/client/jsHandle.js +54 -69
  42. package/lib/client/jsonPipe.js +27 -23
  43. package/lib/client/localUtils.js +29 -29
  44. package/lib/client/locator.js +145 -237
  45. package/lib/client/network.js +282 -307
  46. package/lib/client/page.js +269 -318
  47. package/lib/client/platform.js +46 -43
  48. package/lib/client/playwright.js +51 -76
  49. package/lib/client/selectors.js +45 -63
  50. package/lib/client/stream.js +29 -25
  51. package/lib/client/timeoutSettings.js +55 -41
  52. package/lib/client/tracing.js +49 -96
  53. package/lib/client/types.js +26 -22
  54. package/lib/client/video.js +35 -27
  55. package/lib/client/waiter.js +69 -88
  56. package/lib/client/webError.js +25 -23
  57. package/lib/client/webSocket.js +43 -56
  58. package/lib/client/worker.js +48 -56
  59. package/lib/client/writableStream.js +27 -23
  60. package/lib/generated/bindingsControllerSource.js +28 -0
  61. package/lib/generated/clockSource.js +26 -6
  62. package/lib/generated/consoleApiSource.js +26 -6
  63. package/lib/generated/injectedScriptSource.js +26 -6
  64. package/lib/generated/pollingRecorderSource.js +26 -6
  65. package/lib/generated/storageScriptSource.js +28 -0
  66. package/lib/generated/utilityScriptSource.js +26 -6
  67. package/lib/generated/webSocketMockSource.js +333 -5
  68. package/lib/inProcessFactory.js +51 -53
  69. package/lib/inprocess.js +2 -19
  70. package/lib/outofprocess.js +51 -46
  71. package/lib/protocol/serializers.js +153 -134
  72. package/lib/protocol/validator.js +2807 -2739
  73. package/lib/protocol/validatorPrimitives.js +114 -73
  74. package/lib/remote/playwrightConnection.js +88 -242
  75. package/lib/remote/playwrightServer.js +305 -92
  76. package/lib/server/accessibility.js +44 -37
  77. package/lib/server/android/android.js +251 -241
  78. package/lib/server/android/backendAdb.js +87 -82
  79. package/lib/server/artifact.js +78 -55
  80. package/lib/server/bidi/bidiBrowser.js +297 -158
  81. package/lib/server/bidi/bidiChromium.js +119 -89
  82. package/lib/server/bidi/bidiConnection.js +66 -83
  83. package/lib/server/bidi/bidiExecutionContext.js +129 -113
  84. package/lib/server/bidi/bidiFirefox.js +86 -76
  85. package/lib/server/bidi/bidiInput.js +106 -117
  86. package/lib/server/bidi/bidiNetworkManager.js +142 -159
  87. package/lib/server/bidi/bidiOverCdp.js +57 -58
  88. package/lib/server/bidi/bidiPage.js +260 -260
  89. package/lib/server/bidi/bidiPdf.js +52 -86
  90. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  91. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  92. package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
  93. package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
  94. package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
  95. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  96. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  97. package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
  98. package/lib/server/browser.js +93 -95
  99. package/lib/server/browserContext.js +419 -429
  100. package/lib/server/browserType.js +186 -216
  101. package/lib/server/callLog.js +47 -44
  102. package/lib/server/chromium/chromium.js +235 -203
  103. package/lib/server/chromium/chromiumSwitches.js +100 -67
  104. package/lib/server/chromium/crAccessibility.js +157 -131
  105. package/lib/server/chromium/crBrowser.js +310 -292
  106. package/lib/server/chromium/crConnection.js +95 -121
  107. package/lib/server/chromium/crCoverage.js +121 -131
  108. package/lib/server/chromium/crDevTools.js +60 -51
  109. package/lib/server/chromium/crDragDrop.js +68 -84
  110. package/lib/server/chromium/crExecutionContext.js +89 -83
  111. package/lib/server/chromium/crInput.js +118 -113
  112. package/lib/server/chromium/crNetworkManager.js +274 -375
  113. package/lib/server/chromium/crPage.js +536 -593
  114. package/lib/server/chromium/crPdf.js +54 -86
  115. package/lib/server/chromium/crProtocolHelper.js +92 -80
  116. package/lib/server/chromium/crServiceWorker.js +84 -73
  117. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  118. package/lib/server/chromium/protocol.d.js +16 -0
  119. package/lib/server/chromium/videoRecorder.js +66 -99
  120. package/lib/server/clock.js +107 -83
  121. package/lib/server/codegen/csharp.js +192 -162
  122. package/lib/server/codegen/java.js +156 -129
  123. package/lib/server/codegen/javascript.js +163 -148
  124. package/lib/server/codegen/jsonl.js +32 -28
  125. package/lib/server/codegen/language.js +75 -52
  126. package/lib/server/codegen/languages.js +65 -27
  127. package/lib/server/codegen/python.js +141 -126
  128. package/lib/server/codegen/types.js +15 -4
  129. package/lib/server/console.js +28 -32
  130. package/lib/server/cookieStore.js +108 -86
  131. package/lib/server/debugController.js +147 -151
  132. package/lib/server/debugger.js +86 -78
  133. package/lib/server/deviceDescriptors.js +37 -24
  134. package/lib/server/deviceDescriptorsSource.json +238 -128
  135. package/lib/server/dialog.js +84 -39
  136. package/lib/server/dispatchers/androidDispatcher.js +257 -148
  137. package/lib/server/dispatchers/artifactDispatcher.js +79 -79
  138. package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
  139. package/lib/server/dispatchers/browserDispatcher.js +96 -148
  140. package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
  141. package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
  142. package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
  143. package/lib/server/dispatchers/dialogDispatcher.js +34 -31
  144. package/lib/server/dispatchers/dispatcher.js +208 -248
  145. package/lib/server/dispatchers/electronDispatcher.js +66 -70
  146. package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
  147. package/lib/server/dispatchers/frameDispatcher.js +211 -272
  148. package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
  149. package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
  150. package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
  151. package/lib/server/dispatchers/networkDispatchers.js +117 -128
  152. package/lib/server/dispatchers/pageDispatcher.js +256 -248
  153. package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
  154. package/lib/server/dispatchers/streamDispatcher.js +52 -48
  155. package/lib/server/dispatchers/tracingDispatcher.js +47 -52
  156. package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
  157. package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
  158. package/lib/server/dom.js +485 -582
  159. package/lib/server/download.js +47 -37
  160. package/lib/server/electron/electron.js +216 -243
  161. package/lib/server/electron/loader.js +9 -37
  162. package/lib/server/errors.js +47 -46
  163. package/lib/server/fetch.js +317 -360
  164. package/lib/server/fileChooser.js +25 -24
  165. package/lib/server/fileUploadUtils.js +66 -60
  166. package/lib/server/firefox/ffAccessibility.js +153 -131
  167. package/lib/server/firefox/ffBrowser.js +268 -305
  168. package/lib/server/firefox/ffConnection.js +63 -84
  169. package/lib/server/firefox/ffExecutionContext.js +92 -73
  170. package/lib/server/firefox/ffInput.js +82 -84
  171. package/lib/server/firefox/ffNetworkManager.js +137 -114
  172. package/lib/server/firefox/ffPage.js +261 -293
  173. package/lib/server/firefox/firefox.js +80 -72
  174. package/lib/server/firefox/protocol.d.js +16 -0
  175. package/lib/server/formData.js +107 -35
  176. package/lib/server/frameSelectors.js +98 -114
  177. package/lib/server/frames.js +845 -1055
  178. package/lib/server/har/harRecorder.js +85 -77
  179. package/lib/server/har/harTracer.js +290 -223
  180. package/lib/server/harBackend.js +80 -80
  181. package/lib/server/helper.js +55 -59
  182. package/lib/server/index.js +59 -99
  183. package/lib/server/input.js +151 -189
  184. package/lib/server/instrumentation.js +57 -44
  185. package/lib/server/javascript.js +133 -134
  186. package/lib/server/launchApp.js +113 -75
  187. package/lib/server/localUtils.js +150 -142
  188. package/lib/server/macEditingCommands.js +141 -137
  189. package/lib/server/network.js +299 -303
  190. package/lib/server/page.js +513 -544
  191. package/lib/server/pipeTransport.js +49 -45
  192. package/lib/server/playwright.js +58 -67
  193. package/lib/server/progress.js +137 -68
  194. package/lib/server/protocolError.js +34 -31
  195. package/lib/server/recorder/chat.js +70 -86
  196. package/lib/server/recorder/recorderApp.js +341 -176
  197. package/lib/server/recorder/recorderInTraceViewer.js +65 -94
  198. package/lib/server/recorder/recorderRunner.js +93 -116
  199. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  200. package/lib/server/recorder/recorderUtils.js +104 -47
  201. package/lib/server/recorder/throttledFile.js +42 -30
  202. package/lib/server/recorder.js +395 -275
  203. package/lib/server/registry/browserFetcher.js +106 -101
  204. package/lib/server/registry/dependencies.js +245 -196
  205. package/lib/server/registry/index.js +930 -803
  206. package/lib/server/registry/nativeDeps.js +1073 -464
  207. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  208. package/lib/server/screenshotter.js +160 -191
  209. package/lib/server/selectors.js +90 -51
  210. package/lib/server/socksClientCertificatesInterceptor.js +171 -186
  211. package/lib/server/socksInterceptor.js +62 -70
  212. package/lib/server/trace/recorder/snapshotter.js +76 -102
  213. package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
  214. package/lib/server/trace/recorder/tracing.js +354 -362
  215. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  216. package/lib/server/trace/viewer/traceViewer.js +160 -147
  217. package/lib/server/transport.js +119 -134
  218. package/lib/server/types.js +26 -22
  219. package/lib/server/usKeyboardLayout.js +135 -545
  220. package/lib/server/utils/ascii.js +39 -26
  221. package/lib/server/utils/comparators.js +105 -103
  222. package/lib/server/utils/crypto.js +157 -112
  223. package/lib/server/utils/debug.js +36 -32
  224. package/lib/server/utils/debugLogger.js +77 -48
  225. package/lib/server/utils/env.js +52 -37
  226. package/lib/server/utils/eventsHelper.js +29 -28
  227. package/lib/server/utils/expectUtils.js +31 -26
  228. package/lib/server/utils/fileUtils.js +123 -136
  229. package/lib/server/utils/happyEyeballs.js +141 -126
  230. package/lib/server/utils/hostPlatform.js +84 -120
  231. package/lib/server/utils/httpServer.js +106 -121
  232. package/lib/server/utils/image_tools/colorUtils.js +42 -51
  233. package/lib/server/utils/image_tools/compare.js +44 -43
  234. package/lib/server/utils/image_tools/imageChannel.js +38 -30
  235. package/lib/server/utils/image_tools/stats.js +40 -40
  236. package/lib/server/utils/linuxUtils.js +50 -37
  237. package/lib/server/utils/network.js +152 -96
  238. package/lib/server/utils/nodePlatform.js +87 -79
  239. package/lib/server/utils/pipeTransport.js +44 -42
  240. package/lib/server/utils/processLauncher.js +111 -121
  241. package/lib/server/utils/profiler.js +52 -39
  242. package/lib/server/utils/socksProxy.js +280 -339
  243. package/lib/server/utils/spawnAsync.js +37 -41
  244. package/lib/server/utils/task.js +31 -38
  245. package/lib/server/utils/userAgent.js +73 -66
  246. package/lib/server/utils/wsServer.js +68 -75
  247. package/lib/server/utils/zipFile.js +36 -37
  248. package/lib/server/utils/zones.js +37 -34
  249. package/lib/server/webkit/protocol.d.js +16 -0
  250. package/lib/server/webkit/webkit.js +77 -61
  251. package/lib/server/webkit/wkAccessibility.js +161 -118
  252. package/lib/server/webkit/wkBrowser.js +193 -184
  253. package/lib/server/webkit/wkConnection.js +59 -83
  254. package/lib/server/webkit/wkExecutionContext.js +85 -70
  255. package/lib/server/webkit/wkInput.js +97 -95
  256. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  257. package/lib/server/webkit/wkPage.js +568 -667
  258. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  259. package/lib/server/webkit/wkWorkers.js +79 -79
  260. package/lib/utils/expectUtils.js +31 -26
  261. package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
  262. package/lib/utils/isomorphic/assert.js +28 -22
  263. package/lib/utils/isomorphic/colors.js +66 -59
  264. package/lib/utils/isomorphic/cssParser.js +120 -125
  265. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  266. package/lib/utils/isomorphic/headers.js +38 -37
  267. package/lib/utils/isomorphic/locatorGenerators.js +358 -357
  268. package/lib/utils/isomorphic/locatorParser.js +96 -105
  269. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  270. package/lib/utils/isomorphic/manualPromise.js +46 -39
  271. package/lib/utils/isomorphic/mimeType.js +447 -25
  272. package/lib/utils/isomorphic/multimap.js +34 -27
  273. package/lib/utils/isomorphic/protocolFormatter.js +68 -0
  274. package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  275. package/lib/utils/isomorphic/recorderUtils.js +140 -181
  276. package/lib/utils/isomorphic/rtti.js +35 -33
  277. package/lib/utils/isomorphic/selectorParser.js +182 -193
  278. package/lib/utils/isomorphic/semaphore.js +27 -24
  279. package/lib/utils/isomorphic/stackTrace.js +87 -98
  280. package/lib/utils/isomorphic/stringUtils.js +98 -112
  281. package/lib/utils/isomorphic/time.js +46 -22
  282. package/lib/utils/isomorphic/timeoutRunner.js +53 -53
  283. package/lib/utils/isomorphic/traceUtils.js +37 -41
  284. package/lib/utils/isomorphic/types.js +15 -4
  285. package/lib/utils/isomorphic/urlMatch.js +113 -67
  286. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  287. package/lib/utils.js +101 -443
  288. package/lib/utilsBundle.js +101 -52
  289. package/lib/utilsBundleImpl/index.js +160 -150
  290. package/lib/zipBundle.js +32 -23
  291. package/lib/zipBundleImpl.js +4 -4
  292. package/package.json +1 -1
  293. package/types/protocol.d.ts +1267 -1057
  294. package/types/types.d.ts +131 -29
  295. package/lib/common/socksProxy.js +0 -569
  296. package/lib/common/timeoutSettings.js +0 -73
  297. package/lib/common/types.js +0 -5
  298. package/lib/image_tools/colorUtils.js +0 -98
  299. package/lib/image_tools/compare.js +0 -108
  300. package/lib/image_tools/imageChannel.js +0 -70
  301. package/lib/image_tools/stats.js +0 -102
  302. package/lib/protocol/debug.js +0 -27
  303. package/lib/protocol/transport.js +0 -82
  304. package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
  305. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
  306. package/lib/server/recorder/contextRecorder.js +0 -290
  307. package/lib/server/recorder/recorderCollection.js +0 -104
  308. package/lib/server/recorder/recorderFrontend.js +0 -5
  309. package/lib/server/storageScript.js +0 -160
  310. package/lib/server/timeoutSettings.js +0 -74
  311. package/lib/third_party/diff_match_patch.js +0 -2222
  312. package/lib/utils/ascii.js +0 -31
  313. package/lib/utils/comparators.js +0 -171
  314. package/lib/utils/crypto.js +0 -174
  315. package/lib/utils/debug.js +0 -46
  316. package/lib/utils/debugLogger.js +0 -91
  317. package/lib/utils/env.js +0 -49
  318. package/lib/utils/eventsHelper.js +0 -38
  319. package/lib/utils/fileUtils.js +0 -205
  320. package/lib/utils/happy-eyeballs.js +0 -210
  321. package/lib/utils/headers.js +0 -52
  322. package/lib/utils/hostPlatform.js +0 -133
  323. package/lib/utils/httpServer.js +0 -237
  324. package/lib/utils/index.js +0 -368
  325. package/lib/utils/linuxUtils.js +0 -78
  326. package/lib/utils/manualPromise.js +0 -109
  327. package/lib/utils/multimap.js +0 -75
  328. package/lib/utils/network.js +0 -160
  329. package/lib/utils/processLauncher.js +0 -248
  330. package/lib/utils/profiler.js +0 -53
  331. package/lib/utils/rtti.js +0 -44
  332. package/lib/utils/semaphore.js +0 -51
  333. package/lib/utils/spawnAsync.js +0 -45
  334. package/lib/utils/stackTrace.js +0 -121
  335. package/lib/utils/task.js +0 -58
  336. package/lib/utils/time.js +0 -37
  337. package/lib/utils/timeoutRunner.js +0 -66
  338. package/lib/utils/traceUtils.js +0 -44
  339. package/lib/utils/userAgent.js +0 -105
  340. package/lib/utils/wsServer.js +0 -127
  341. package/lib/utils/zipFile.js +0 -75
  342. package/lib/utils/zones.js +0 -62
  343. package/lib/vite/htmlReport/index.html +0 -69
  344. package/lib/vite/recorder/assets/codeMirrorModule-DrMbgOIo.js +0 -16684
  345. package/lib/vite/recorder/assets/codeMirrorModule-DuST8d_k.css +0 -344
  346. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  347. package/lib/vite/recorder/assets/index-5NM3V7eb.css +0 -2524
  348. package/lib/vite/recorder/assets/index-CT-scFHn.js +0 -16848
  349. package/lib/vite/recorder/index.html +0 -29
  350. package/lib/vite/recorder/playwright-logo.svg +0 -9
  351. package/lib/vite/traceViewer/assets/codeMirrorModule-CB-2okZ8.js +0 -16684
  352. package/lib/vite/traceViewer/assets/defaultSettingsView-CBiB4avC.js +0 -217
  353. package/lib/vite/traceViewer/assets/inspectorTab-CwgfffWb.js +0 -25143
  354. package/lib/vite/traceViewer/assets/workbench-CWZselvp.js +0 -2470
  355. package/lib/vite/traceViewer/assets/xtermModule-Es_gt_u7.js +0 -5994
  356. package/lib/vite/traceViewer/codeMirrorModule.DuST8d_k.css +0 -344
  357. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  358. package/lib/vite/traceViewer/defaultSettingsView.Dp3b_92q.css +0 -41
  359. package/lib/vite/traceViewer/embedded.BeldSa2G.css +0 -68
  360. package/lib/vite/traceViewer/embedded.gzudoghF.js +0 -106
  361. package/lib/vite/traceViewer/embedded.html +0 -18
  362. package/lib/vite/traceViewer/index.DilotR1h.js +0 -314
  363. package/lib/vite/traceViewer/index.QewjJ85u.css +0 -131
  364. package/lib/vite/traceViewer/index.html +0 -47
  365. package/lib/vite/traceViewer/inspectorTab.DnGm18kV.css +0 -3178
  366. package/lib/vite/traceViewer/playwright-logo.svg +0 -9
  367. package/lib/vite/traceViewer/recorder.DLgqV9db.css +0 -15
  368. package/lib/vite/traceViewer/recorder.DVrkq3Um.js +0 -551
  369. package/lib/vite/traceViewer/recorder.html +0 -17
  370. package/lib/vite/traceViewer/snapshot.html +0 -21
  371. package/lib/vite/traceViewer/sw.bundle.js +0 -3
  372. package/lib/vite/traceViewer/uiMode.C9_OcpPU.js +0 -1756
  373. package/lib/vite/traceViewer/uiMode.c5ORgcrX.css +0 -1424
  374. package/lib/vite/traceViewer/uiMode.html +0 -21
  375. package/lib/vite/traceViewer/workbench.xUZSA8PY.css +0 -787
  376. package/lib/vite/traceViewer/xtermModule.EsaqrrTX.css +0 -209
@@ -1,175 +1,187 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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 fetch_exports = {};
30
+ __export(fetch_exports, {
31
+ APIRequest: () => APIRequest,
32
+ APIRequestContext: () => APIRequestContext,
33
+ APIResponse: () => APIResponse
5
34
  });
6
- exports.APIResponse = exports.APIRequestContext = exports.APIRequest = void 0;
7
- var _browserContext = require("./browserContext");
8
- var _channelOwner = require("./channelOwner");
9
- var _errors = require("./errors");
10
- var _network = require("./network");
11
- var _tracing = require("./tracing");
12
- var _assert = require("../utils/isomorphic/assert");
13
- var _fileUtils = require("./fileUtils");
14
- var _headers = require("../utils/isomorphic/headers");
15
- var _rtti = require("../utils/isomorphic/rtti");
16
- var fs = _interopRequireWildcard(require("fs"));
17
- var _fetch = require("../checkly/fetch");
18
- var _path = _interopRequireDefault(require("path"));
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- 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); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
- /**
23
- * Copyright (c) Microsoft Corporation.
24
- *
25
- * Licensed under the Apache License, Version 2.0 (the "License");
26
- * you may not use this file except in compliance with the License.
27
- * You may obtain a copy of the License at
28
- *
29
- * http://www.apache.org/licenses/LICENSE-2.0
30
- *
31
- * Unless required by applicable law or agreed to in writing, software
32
- * distributed under the License is distributed on an "AS IS" BASIS,
33
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
- * See the License for the specific language governing permissions and
35
- * limitations under the License.
36
- */
37
-
35
+ module.exports = __toCommonJS(fetch_exports);
36
+ var import_path = __toESM(require("path"));
37
+ var fsPromise = __toESM(require("node:fs/promises"));
38
+ var import_browserContext = require("./browserContext");
39
+ var import_channelOwner = require("./channelOwner");
40
+ var import_errors = require("./errors");
41
+ var import_network = require("./network");
42
+ var import_tracing = require("./tracing");
43
+ var import_assert = require("../utils/isomorphic/assert");
44
+ var import_fileUtils = require("./fileUtils");
45
+ var import_headers = require("../utils/isomorphic/headers");
46
+ var import_rtti = require("../utils/isomorphic/rtti");
47
+ var import_fetch = require("../checkly/fetch");
48
+ var import_timeoutSettings = require("./timeoutSettings");
38
49
  class APIRequest {
39
50
  constructor(playwright) {
40
- this._playwright = void 0;
41
- this._contexts = new Set();
51
+ this._contexts = /* @__PURE__ */ new Set();
42
52
  this._playwright = playwright;
43
53
  }
44
54
  async newContext(options = {}) {
45
- var _this$_playwright$_de, _this$_playwright$_de2;
46
55
  options = {
47
56
  ...this._playwright._defaultContextOptions,
48
- timeout: this._playwright._defaultContextTimeout,
49
57
  ...options
50
58
  };
51
- const storageState = typeof options.storageState === 'string' ? JSON.parse(await this._playwright._platform.fs().promises.readFile(options.storageState, 'utf8')) : options.storageState;
59
+ const storageState = typeof options.storageState === "string" ? JSON.parse(await this._playwright._platform.fs().promises.readFile(options.storageState, "utf8")) : options.storageState;
52
60
  const context = APIRequestContext.from((await this._playwright._channel.newRequest({
53
61
  ...options,
54
- extraHTTPHeaders: options.extraHTTPHeaders ? (0, _headers.headersObjectToArray)(options.extraHTTPHeaders) : undefined,
62
+ extraHTTPHeaders: options.extraHTTPHeaders ? (0, import_headers.headersObjectToArray)(options.extraHTTPHeaders) : void 0,
55
63
  storageState,
56
- tracesDir: (_this$_playwright$_de = this._playwright._defaultLaunchOptions) === null || _this$_playwright$_de === void 0 ? void 0 : _this$_playwright$_de.tracesDir,
64
+ tracesDir: this._playwright._defaultLaunchOptions?.tracesDir,
57
65
  // We do not expose tracesDir in the API, so do not allow options to accidentally override it.
58
- clientCertificates: await (0, _browserContext.toClientCertificatesProtocol)(this._playwright._platform, options.clientCertificates)
66
+ clientCertificates: await (0, import_browserContext.toClientCertificatesProtocol)(this._playwright._platform, options.clientCertificates)
59
67
  })).request);
60
68
  this._contexts.add(context);
61
69
  context._request = this;
62
- context._tracing._tracesDir = (_this$_playwright$_de2 = this._playwright._defaultLaunchOptions) === null || _this$_playwright$_de2 === void 0 ? void 0 : _this$_playwright$_de2.tracesDir;
70
+ context._timeoutSettings.setDefaultTimeout(options.timeout ?? this._playwright._defaultContextTimeout);
71
+ context._tracing._tracesDir = this._playwright._defaultLaunchOptions?.tracesDir;
63
72
  await context._instrumentation.runAfterCreateRequestContext(context);
64
73
  return context;
65
74
  }
66
75
  }
67
- exports.APIRequest = APIRequest;
68
- class APIRequestContext extends _channelOwner.ChannelOwner {
76
+ class APIRequestContext extends import_channelOwner.ChannelOwner {
69
77
  static from(channel) {
70
78
  return channel._object;
71
79
  }
72
80
  constructor(parent, type, guid, initializer) {
73
81
  super(parent, type, guid, initializer);
74
- this._request = void 0;
75
- this._tracing = void 0;
76
- this._closeReason = void 0;
77
- this._tracing = _tracing.Tracing.from(initializer.tracing);
82
+ this._tracing = import_tracing.Tracing.from(initializer.tracing);
83
+ this._timeoutSettings = new import_timeoutSettings.TimeoutSettings(this._platform);
78
84
  }
79
85
  async [Symbol.asyncDispose]() {
80
86
  await this.dispose();
81
87
  }
82
88
  async dispose(options = {}) {
83
- var _this$_request;
84
89
  this._closeReason = options.reason;
85
90
  await this._instrumentation.runBeforeCloseRequestContext(this);
86
91
  try {
87
92
  await this._channel.dispose(options);
88
93
  } catch (e) {
89
- if ((0, _errors.isTargetClosedError)(e)) return;
94
+ if ((0, import_errors.isTargetClosedError)(e))
95
+ return;
90
96
  throw e;
91
97
  }
92
98
  this._tracing._resetStackCounter();
93
- (_this$_request = this._request) === null || _this$_request === void 0 || _this$_request._contexts.delete(this);
99
+ this._request?._contexts.delete(this);
94
100
  }
95
101
  async delete(url, options) {
96
102
  return await this.fetch(url, {
97
103
  ...options,
98
- method: 'DELETE'
104
+ method: "DELETE"
99
105
  });
100
106
  }
101
107
  async head(url, options) {
102
108
  return await this.fetch(url, {
103
109
  ...options,
104
- method: 'HEAD'
110
+ method: "HEAD"
105
111
  });
106
112
  }
107
113
  async get(url, options) {
108
114
  return await this.fetch(url, {
109
115
  ...options,
110
- method: 'GET'
116
+ method: "GET"
111
117
  });
112
118
  }
113
119
  async patch(url, options) {
114
120
  return await this.fetch(url, {
115
121
  ...options,
116
- method: 'PATCH'
122
+ method: "PATCH"
117
123
  });
118
124
  }
119
125
  async post(url, options) {
120
126
  return await this.fetch(url, {
121
127
  ...options,
122
- method: 'POST'
128
+ method: "POST"
123
129
  });
124
130
  }
125
131
  async put(url, options) {
126
132
  return await this.fetch(url, {
127
133
  ...options,
128
- method: 'PUT'
134
+ method: "PUT"
129
135
  });
130
136
  }
131
137
  async fetch(urlOrRequest, options = {}) {
132
- const url = (0, _rtti.isString)(urlOrRequest) ? urlOrRequest : undefined;
133
- const request = (0, _rtti.isString)(urlOrRequest) ? undefined : urlOrRequest;
134
- return await this._innerFetch({
135
- url,
136
- request,
137
- ...options
138
- });
138
+ const url = (0, import_rtti.isString)(urlOrRequest) ? urlOrRequest : void 0;
139
+ const request = (0, import_rtti.isString)(urlOrRequest) ? void 0 : urlOrRequest;
140
+ return await this._innerFetch({ url, request, ...options });
139
141
  }
142
+ // [Checkly] Function to count API calls made by Playwright.
140
143
  async writeApiCallToDisk(options = {}) {
141
144
  try {
142
- await fs.promises.writeFile(_path.default.join(process.env.TEMP_DIR, 'apiCall-' + (Math.random() + 1).toString(36).substring(7) + '.txt'), options.url !== undefined ? options.url : options.request.url());
145
+ await fsPromise.writeFile(
146
+ // eslint-disable-next-line no-restricted-globals
147
+ import_path.default.join(process.env.TEMP_DIR, "apiCall-" + (Math.random() + 1).toString(36).substring(7) + ".txt"),
148
+ options.url !== void 0 ? options.url : options.request.url()
149
+ );
143
150
  } catch (e) {
144
- console.log('Error reporting API call', e === null || e === void 0 ? void 0 : e.message);
151
+ console.log("Error reporting API call", e?.message);
145
152
  }
146
153
  }
147
154
  async _innerFetch(options = {}) {
148
- this.writeApiCallToDisk(options);
155
+ await this.writeApiCallToDisk(options);
149
156
  return await this._wrapApiCall(async () => {
150
- var _options$request, _options$request2, _options$request3;
151
- if (this._closeReason) throw new _errors.TargetClosedError(this._closeReason);
152
- (0, _assert.assert)(options.request || typeof options.url === 'string', 'First argument must be either URL string or Request');
153
- (0, _assert.assert)((options.data === undefined ? 0 : 1) + (options.form === undefined ? 0 : 1) + (options.multipart === undefined ? 0 : 1) <= 1, `Only one of 'data', 'form' or 'multipart' can be specified`);
154
- (0, _assert.assert)(options.maxRedirects === undefined || options.maxRedirects >= 0, `'maxRedirects' must be greater than or equal to '0'`);
155
- (0, _assert.assert)(options.maxRetries === undefined || options.maxRetries >= 0, `'maxRetries' must be greater than or equal to '0'`);
156
- const url = options.url !== undefined ? options.url : options.request.url();
157
- const method = options.method || ((_options$request = options.request) === null || _options$request === void 0 ? void 0 : _options$request.method());
158
- let encodedParams = undefined;
159
- if (typeof options.params === 'string') encodedParams = options.params;else if (options.params instanceof URLSearchParams) encodedParams = options.params.toString();
160
- // Cannot call allHeaders() here as the request may be paused inside route handler.
161
- const headersObj = options.headers || ((_options$request2 = options.request) === null || _options$request2 === void 0 ? void 0 : _options$request2.headers());
162
- const headers = headersObj ? (0, _headers.headersObjectToArray)(headersObj) : undefined;
157
+ if (this._closeReason)
158
+ throw new import_errors.TargetClosedError(this._closeReason);
159
+ (0, import_assert.assert)(options.request || typeof options.url === "string", "First argument must be either URL string or Request");
160
+ (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`);
161
+ (0, import_assert.assert)(options.maxRedirects === void 0 || options.maxRedirects >= 0, `'maxRedirects' must be greater than or equal to '0'`);
162
+ (0, import_assert.assert)(options.maxRetries === void 0 || options.maxRetries >= 0, `'maxRetries' must be greater than or equal to '0'`);
163
+ const url = options.url !== void 0 ? options.url : options.request.url();
164
+ const method = options.method || options.request?.method();
165
+ let encodedParams = void 0;
166
+ if (typeof options.params === "string")
167
+ encodedParams = options.params;
168
+ else if (options.params instanceof URLSearchParams)
169
+ encodedParams = options.params.toString();
170
+ const headersObj = options.headers || options.request?.headers();
171
+ const headers = headersObj ? (0, import_headers.headersObjectToArray)(headersObj) : void 0;
163
172
  let jsonData;
164
173
  let formData;
165
174
  let multipartData;
166
175
  let postDataBuffer;
167
- if (options.data !== undefined) {
168
- if ((0, _rtti.isString)(options.data)) {
169
- if (isJsonContentType(headers)) jsonData = isJsonParsable(options.data) ? options.data : JSON.stringify(options.data);else postDataBuffer = Buffer.from(options.data, 'utf8');
176
+ if (options.data !== void 0) {
177
+ if ((0, import_rtti.isString)(options.data)) {
178
+ if (isJsonContentType(headers))
179
+ jsonData = isJsonParsable(options.data) ? options.data : JSON.stringify(options.data);
180
+ else
181
+ postDataBuffer = Buffer.from(options.data, "utf8");
170
182
  } else if (Buffer.isBuffer(options.data)) {
171
183
  postDataBuffer = options.data;
172
- } else if (typeof options.data === 'object' || typeof options.data === 'number' || typeof options.data === 'boolean') {
184
+ } else if (typeof options.data === "object" || typeof options.data === "number" || typeof options.data === "boolean") {
173
185
  jsonData = JSON.stringify(options.data);
174
186
  } else {
175
187
  throw new Error(`Unexpected 'data' type`);
@@ -178,11 +190,9 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
178
190
  if (globalThis.FormData && options.form instanceof FormData) {
179
191
  formData = [];
180
192
  for (const [name, value] of options.form.entries()) {
181
- if (typeof value !== 'string') throw new Error(`Expected string for options.form["${name}"], found File. Please use options.multipart instead.`);
182
- formData.push({
183
- name,
184
- value
185
- });
193
+ if (typeof value !== "string")
194
+ throw new Error(`Expected string for options.form["${name}"], found File. Please use options.multipart instead.`);
195
+ formData.push({ name, value });
186
196
  }
187
197
  } else {
188
198
  formData = objectToArray(options.form);
@@ -192,35 +202,30 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
192
202
  if (globalThis.FormData && options.multipart instanceof FormData) {
193
203
  const form = options.multipart;
194
204
  for (const [name, value] of form.entries()) {
195
- if ((0, _rtti.isString)(value)) {
196
- multipartData.push({
197
- name,
198
- value
199
- });
205
+ if ((0, import_rtti.isString)(value)) {
206
+ multipartData.push({ name, value });
200
207
  } else {
201
208
  const file = {
202
209
  name: value.name,
203
210
  mimeType: value.type,
204
211
  buffer: Buffer.from(await value.arrayBuffer())
205
212
  };
206
- multipartData.push({
207
- name,
208
- file
209
- });
213
+ multipartData.push({ name, file });
210
214
  }
211
215
  }
212
216
  } else {
213
- // Convert file-like values to ServerFilePayload structs.
214
- for (const [name, value] of Object.entries(options.multipart)) multipartData.push(await toFormField(this._platform, name, value));
217
+ for (const [name, value] of Object.entries(options.multipart))
218
+ multipartData.push(await toFormField(this._platform, name, value));
215
219
  }
216
220
  }
217
- if (postDataBuffer === undefined && jsonData === undefined && formData === undefined && multipartData === undefined) postDataBuffer = ((_options$request3 = options.request) === null || _options$request3 === void 0 ? void 0 : _options$request3.postDataBuffer()) || undefined;
221
+ if (postDataBuffer === void 0 && jsonData === void 0 && formData === void 0 && multipartData === void 0)
222
+ postDataBuffer = options.request?.postDataBuffer() || void 0;
218
223
  const fixtures = {
219
224
  __testHookLookup: options.__testHookLookup
220
225
  };
221
226
  const result = await this._channel.fetch({
222
227
  url,
223
- params: typeof options.params === 'object' ? objectToArray(options.params) : undefined,
228
+ params: typeof options.params === "object" ? objectToArray(options.params) : void 0,
224
229
  encodedParams,
225
230
  method,
226
231
  headers,
@@ -228,69 +233,62 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
228
233
  jsonData,
229
234
  formData,
230
235
  multipartData,
231
- timeout: options.timeout,
236
+ timeout: this._timeoutSettings.timeout(options),
232
237
  failOnStatusCode: options.failOnStatusCode,
233
238
  ignoreHTTPSErrors: options.ignoreHTTPSErrors,
234
239
  maxRedirects: options.maxRedirects,
235
240
  maxRetries: options.maxRetries,
241
+ // [Checkly]
236
242
  tokenizedURL: options.tokenizedURL,
237
- ...fixtures,
238
- ...(0, _fetch.getClientCertificates)(options)
243
+ ...(0, import_fetch.getClientCertificates)(options),
244
+ // [/Checkly]
245
+ ...fixtures
239
246
  });
240
247
  return new APIResponse(this, result.response);
241
248
  });
242
249
  }
243
250
  async storageState(options = {}) {
244
- const state = await this._channel.storageState({
245
- indexedDB: options.indexedDB
246
- });
251
+ const state = await this._channel.storageState({ indexedDB: options.indexedDB });
247
252
  if (options.path) {
248
- await (0, _fileUtils.mkdirIfNeeded)(this._platform, options.path);
249
- await this._platform.fs().promises.writeFile(options.path, JSON.stringify(state, undefined, 2), 'utf8');
253
+ await (0, import_fileUtils.mkdirIfNeeded)(this._platform, options.path);
254
+ await this._platform.fs().promises.writeFile(options.path, JSON.stringify(state, void 0, 2), "utf8");
250
255
  }
251
256
  return state;
252
257
  }
253
258
  }
254
- exports.APIRequestContext = APIRequestContext;
255
259
  async function toFormField(platform, name, value) {
256
260
  const typeOfValue = typeof value;
257
261
  if (isFilePayload(value)) {
258
262
  const payload = value;
259
- if (!Buffer.isBuffer(payload.buffer)) throw new Error(`Unexpected buffer type of 'data.${name}'`);
260
- return {
261
- name,
262
- file: filePayloadToJson(payload)
263
- };
264
- } else if (typeOfValue === 'string' || typeOfValue === 'number' || typeOfValue === 'boolean') {
265
- return {
266
- name,
267
- value: String(value)
268
- };
263
+ if (!Buffer.isBuffer(payload.buffer))
264
+ throw new Error(`Unexpected buffer type of 'data.${name}'`);
265
+ return { name, file: filePayloadToJson(payload) };
266
+ } else if (typeOfValue === "string" || typeOfValue === "number" || typeOfValue === "boolean") {
267
+ return { name, value: String(value) };
269
268
  } else {
270
- return {
271
- name,
272
- file: await readStreamToJson(platform, value)
273
- };
269
+ return { name, file: await readStreamToJson(platform, value) };
274
270
  }
275
271
  }
276
272
  function isJsonParsable(value) {
277
- if (typeof value !== 'string') return false;
273
+ if (typeof value !== "string")
274
+ return false;
278
275
  try {
279
276
  JSON.parse(value);
280
277
  return true;
281
278
  } catch (e) {
282
- if (e instanceof SyntaxError) return false;else throw e;
279
+ if (e instanceof SyntaxError)
280
+ return false;
281
+ else
282
+ throw e;
283
283
  }
284
284
  }
285
285
  class APIResponse {
286
286
  constructor(context, initializer) {
287
- this._initializer = void 0;
288
- this._headers = void 0;
289
- this._request = void 0;
290
287
  this._request = context;
291
288
  this._initializer = initializer;
292
- this._headers = new _network.RawHeaders(this._initializer.headers);
293
- if (context._platform.inspectCustom) this[context._platform.inspectCustom] = () => this._inspect();
289
+ this._headers = new import_network.RawHeaders(this._initializer.headers);
290
+ if (context._platform.inspectCustom)
291
+ this[context._platform.inspectCustom] = () => this._inspect();
294
292
  }
295
293
  ok() {
296
294
  return this._initializer.status >= 200 && this._initializer.status <= 299;
@@ -310,26 +308,27 @@ class APIResponse {
310
308
  headersArray() {
311
309
  return this._headers.headersArray();
312
310
  }
311
+ // [Checkly] Retrieve API requests timings
313
312
  timings() {
314
313
  return this._initializer.timings;
315
314
  }
316
315
  async body() {
317
316
  return await this._request._wrapApiCall(async () => {
318
317
  try {
319
- const result = await this._request._channel.fetchResponseBody({
320
- fetchUid: this._fetchUid()
321
- });
322
- if (result.binary === undefined) throw new Error('Response has been disposed');
318
+ const result = await this._request._channel.fetchResponseBody({ fetchUid: this._fetchUid() });
319
+ if (result.binary === void 0)
320
+ throw new Error("Response has been disposed");
323
321
  return result.binary;
324
322
  } catch (e) {
325
- if ((0, _errors.isTargetClosedError)(e)) throw new Error('Response has been disposed');
323
+ if ((0, import_errors.isTargetClosedError)(e))
324
+ throw new Error("Response has been disposed");
326
325
  throw e;
327
326
  }
328
- }, true);
327
+ }, { internal: true });
329
328
  }
330
329
  async text() {
331
330
  const content = await this.body();
332
- return content.toString('utf8');
331
+ return content.toString("utf8");
333
332
  }
334
333
  async json() {
335
334
  const content = await this.text();
@@ -339,16 +338,12 @@ class APIResponse {
339
338
  await this.dispose();
340
339
  }
341
340
  async dispose() {
342
- await this._request._channel.disposeAPIResponse({
343
- fetchUid: this._fetchUid()
344
- });
341
+ await this._request._channel.disposeAPIResponse({ fetchUid: this._fetchUid() });
345
342
  }
346
343
  _inspect() {
347
- const headers = this.headersArray().map(({
348
- name,
349
- value
350
- }) => ` ${name}: ${value}`);
351
- return `APIResponse: ${this.status()} ${this.statusText()}\n${headers.join('\n')}`;
344
+ const headers = this.headersArray().map(({ name, value }) => ` ${name}: ${value}`);
345
+ return `APIResponse: ${this.status()} ${this.statusText()}
346
+ ${headers.join("\n")}`;
352
347
  }
353
348
  initializer() {
354
349
  return this._initializer;
@@ -357,15 +352,10 @@ class APIResponse {
357
352
  return this._initializer.fetchUid;
358
353
  }
359
354
  async _fetchLog() {
360
- const {
361
- log
362
- } = await this._request._channel.fetchLog({
363
- fetchUid: this._fetchUid()
364
- });
355
+ const { log } = await this._request._channel.fetchLog({ fetchUid: this._fetchUid() });
365
356
  return log;
366
357
  }
367
358
  }
368
- exports.APIResponse = APIResponse;
369
359
  function filePayloadToJson(payload) {
370
360
  return {
371
361
  name: payload.name,
@@ -376,55 +366,41 @@ function filePayloadToJson(payload) {
376
366
  async function readStreamToJson(platform, stream) {
377
367
  const buffer = await new Promise((resolve, reject) => {
378
368
  const chunks = [];
379
- stream.on('data', chunk => chunks.push(chunk));
380
- stream.on('end', () => resolve(Buffer.concat(chunks)));
381
- stream.on('error', err => reject(err));
369
+ stream.on("data", (chunk) => chunks.push(chunk));
370
+ stream.on("end", () => resolve(Buffer.concat(chunks)));
371
+ stream.on("error", (err) => reject(err));
382
372
  });
383
- const streamPath = Buffer.isBuffer(stream.path) ? stream.path.toString('utf8') : stream.path;
373
+ const streamPath = Buffer.isBuffer(stream.path) ? stream.path.toString("utf8") : stream.path;
384
374
  return {
385
375
  name: platform.path().basename(streamPath),
386
376
  buffer
387
377
  };
388
378
  }
389
379
  function isJsonContentType(headers) {
390
- if (!headers) return false;
391
- for (const {
392
- name,
393
- value
394
- } of headers) {
395
- if (name.toLocaleLowerCase() === 'content-type') return value === 'application/json';
380
+ if (!headers)
381
+ return false;
382
+ for (const { name, value } of headers) {
383
+ if (name.toLocaleLowerCase() === "content-type")
384
+ return value === "application/json";
396
385
  }
397
386
  return false;
398
387
  }
399
388
  function objectToArray(map) {
400
- if (!map) return undefined;
389
+ if (!map)
390
+ return void 0;
401
391
  const result = [];
402
392
  for (const [name, value] of Object.entries(map)) {
403
- if (value !== undefined) result.push({
404
- name,
405
- value: String(value)
406
- });
393
+ if (value !== void 0)
394
+ result.push({ name, value: String(value) });
407
395
  }
408
396
  return result;
409
397
  }
410
- function queryStringToArray(queryString) {
411
- const searchParams = new URLSearchParams(queryString);
412
- return searchParamsToArray(searchParams);
413
- }
414
- function searchParamsToArray(searchParams) {
415
- if (searchParams.size === 0) return undefined;
416
- const result = [];
417
- for (const [name, value] of searchParams.entries()) result.push({
418
- name,
419
- value
420
- });
421
- return result;
422
- }
423
- function mapParamsToArray(params) {
424
- if (params instanceof URLSearchParams) return searchParamsToArray(params);
425
- if (typeof params === 'string') return queryStringToArray(params);
426
- return objectToArray(params);
427
- }
428
398
  function isFilePayload(value) {
429
- return typeof value === 'object' && value['name'] && value['mimeType'] && value['buffer'];
430
- }
399
+ return typeof value === "object" && value["name"] && value["mimeType"] && value["buffer"];
400
+ }
401
+ // Annotate the CommonJS export names for ESM import in node:
402
+ 0 && (module.exports = {
403
+ APIRequest,
404
+ APIRequestContext,
405
+ APIResponse
406
+ });
@@ -1,30 +1,28 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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.FileChooser = 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
+ 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
- exports.FileChooser = FileChooser;
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ FileChooser
46
+ });