@remotion/renderer 3.0.22 → 3.0.23

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 (318) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts +2 -2
  2. package/dist/assets/calculate-asset-positions.d.ts.map +1 -0
  3. package/dist/assets/calculate-asset-positions.js.map +1 -0
  4. package/dist/assets/calculate-atempo.d.ts.map +1 -0
  5. package/dist/assets/calculate-atempo.js.map +1 -0
  6. package/dist/assets/convert-assets-to-file-urls.d.ts +2 -2
  7. package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -0
  8. package/dist/assets/convert-assets-to-file-urls.js.map +1 -0
  9. package/dist/assets/download-and-map-assets-to-file.d.ts +1 -1
  10. package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
  11. package/dist/assets/download-and-map-assets-to-file.js.map +1 -0
  12. package/dist/assets/download-file.d.ts.map +1 -0
  13. package/dist/assets/download-file.js.map +1 -0
  14. package/dist/assets/ffmpeg-volume-expression.d.ts +1 -1
  15. package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
  16. package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
  17. package/dist/assets/flatten-volume-array.d.ts +1 -1
  18. package/dist/assets/flatten-volume-array.d.ts.map +1 -0
  19. package/dist/assets/flatten-volume-array.js.map +1 -0
  20. package/dist/assets/get-audio-channels.d.ts +1 -1
  21. package/dist/assets/get-audio-channels.d.ts.map +1 -0
  22. package/dist/assets/get-audio-channels.js.map +1 -0
  23. package/dist/assets/read-file.d.ts.map +1 -0
  24. package/dist/assets/read-file.js.map +1 -0
  25. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +1 -0
  26. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +1 -0
  27. package/dist/assets/sanitize-filename.d.ts.map +1 -0
  28. package/dist/assets/sanitize-filename.js.map +1 -0
  29. package/dist/assets/sanitize-filepath.d.ts.map +1 -0
  30. package/dist/assets/sanitize-filepath.js.map +1 -0
  31. package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
  32. package/dist/assets/truncate-utf8-bytes.js.map +1 -0
  33. package/dist/assets/types.d.ts +1 -1
  34. package/dist/assets/types.d.ts.map +1 -0
  35. package/dist/assets/types.js.map +1 -0
  36. package/dist/browser/Accessibility.d.ts +175 -0
  37. package/dist/browser/Accessibility.js +423 -0
  38. package/dist/browser/AriaQueryHandler.d.ts +20 -0
  39. package/dist/browser/AriaQueryHandler.js +108 -0
  40. package/dist/browser/BrowserConnector.d.ts +7 -0
  41. package/dist/browser/BrowserConnector.js +32 -0
  42. package/dist/browser/BrowserFetcher.d.ts +2 -2
  43. package/dist/browser/BrowserFetcher.js +48 -28
  44. package/dist/browser/Connection.d.ts +4 -4
  45. package/dist/browser/Connection.js +2 -2
  46. package/dist/browser/ConsoleMessage.d.ts +27 -3
  47. package/dist/browser/ConsoleMessage.js +32 -5
  48. package/dist/browser/Coverage.d.ts +180 -0
  49. package/dist/browser/Coverage.js +371 -0
  50. package/dist/browser/Debug.d.ts +19 -0
  51. package/dist/browser/Debug.js +42 -0
  52. package/dist/browser/DeviceDescriptors.d.ts +40 -0
  53. package/dist/browser/DeviceDescriptors.js +1407 -0
  54. package/dist/browser/ExecutionContext.d.ts +3 -1
  55. package/dist/browser/ExecutionContext.js +16 -0
  56. package/dist/browser/FileChooser.d.ts +56 -0
  57. package/dist/browser/FileChooser.js +86 -0
  58. package/dist/browser/FrameManager.d.ts +1 -1
  59. package/dist/browser/HTTPRequest.d.ts +16 -2
  60. package/dist/browser/HTTPRequest.js +48 -3
  61. package/dist/browser/HTTPResponse.d.ts +80 -2
  62. package/dist/browser/HTTPResponse.js +166 -3
  63. package/dist/browser/Input.d.ts +355 -0
  64. package/dist/browser/Input.js +592 -0
  65. package/dist/browser/JSHandle.d.ts +1 -1
  66. package/dist/browser/NetworkConditions.d.ts +26 -0
  67. package/dist/browser/NetworkConditions.js +33 -0
  68. package/dist/browser/NetworkEventManager.d.ts +1 -1
  69. package/dist/browser/NetworkManager.js +7 -3
  70. package/dist/browser/NodeWebSocketTransport.d.ts +2 -8
  71. package/dist/browser/NodeWebSocketTransport.js +1 -1
  72. package/dist/browser/PDFOptions.d.ts +165 -0
  73. package/dist/browser/PDFOptions.js +34 -0
  74. package/dist/browser/PipeTransport.d.ts +10 -0
  75. package/dist/browser/PipeTransport.js +86 -0
  76. package/dist/browser/Puppeteer.d.ts +35 -0
  77. package/dist/browser/Puppeteer.js +17 -0
  78. package/dist/browser/PuppeteerNode.d.ts +4 -1
  79. package/dist/browser/PuppeteerNode.js +8 -0
  80. package/dist/browser/QueryHandler.d.ts +64 -0
  81. package/dist/browser/QueryHandler.js +183 -0
  82. package/dist/browser/SecurityDetails.d.ts +55 -0
  83. package/dist/browser/SecurityDetails.js +95 -0
  84. package/dist/browser/Target.d.ts +1 -1
  85. package/dist/browser/Tracing.d.ts +45 -0
  86. package/dist/browser/Tracing.js +136 -0
  87. package/dist/browser/USKeyboardLayout.d.ts +39 -0
  88. package/dist/browser/USKeyboardLayout.js +406 -0
  89. package/dist/browser/WebWorker.d.ts +96 -0
  90. package/dist/browser/WebWorker.js +122 -0
  91. package/dist/browser/create-browser-fetcher.js +14 -1
  92. package/dist/browser/dialog.d.ts +70 -0
  93. package/dist/browser/dialog.js +114 -0
  94. package/dist/browser/fetch.d.ts +16 -0
  95. package/dist/browser/fetch.js +46 -0
  96. package/dist/browser/find-up.d.ts +4 -0
  97. package/dist/browser/find-up.js +85 -0
  98. package/dist/browser/{Page.d.ts → page.d.ts} +4 -0
  99. package/dist/browser/{Page.js → page.js} +9 -14
  100. package/dist/browser/pkg-dir.d.ts +3 -0
  101. package/dist/browser/pkg-dir.js +13 -0
  102. package/dist/browser/util.d.ts +1 -1
  103. package/dist/browser-log.d.ts +1 -1
  104. package/dist/browser-log.d.ts.map +1 -0
  105. package/dist/browser-log.js.map +1 -0
  106. package/dist/calculate-ffmpeg-filters.d.ts +1 -1
  107. package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
  108. package/dist/calculate-ffmpeg-filters.js.map +1 -0
  109. package/dist/can-use-parallel-encoding.d.ts +1 -1
  110. package/dist/can-use-parallel-encoding.d.ts.map +1 -0
  111. package/dist/can-use-parallel-encoding.js.map +1 -0
  112. package/dist/chunk.d.ts.map +1 -0
  113. package/dist/chunk.js.map +1 -0
  114. package/dist/combine-videos.d.ts +1 -1
  115. package/dist/combine-videos.d.ts.map +1 -0
  116. package/dist/combine-videos.js.map +1 -0
  117. package/dist/convert-to-pcm.d.ts +1 -1
  118. package/dist/convert-to-pcm.d.ts.map +1 -0
  119. package/dist/convert-to-pcm.js.map +1 -0
  120. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -0
  121. package/dist/create-ffmpeg-complex-filter.js.map +1 -0
  122. package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -0
  123. package/dist/create-ffmpeg-merge-filter.js.map +1 -0
  124. package/dist/create-silent-audio.d.ts +1 -1
  125. package/dist/create-silent-audio.d.ts.map +1 -0
  126. package/dist/create-silent-audio.js.map +1 -0
  127. package/dist/cycle-browser-tabs.d.ts +1 -1
  128. package/dist/cycle-browser-tabs.d.ts.map +1 -0
  129. package/dist/cycle-browser-tabs.js.map +1 -0
  130. package/dist/delay-render-embedded-stack.d.ts +1 -1
  131. package/dist/delay-render-embedded-stack.d.ts.map +1 -0
  132. package/dist/delay-render-embedded-stack.js.map +1 -0
  133. package/dist/delete-directory.d.ts.map +1 -0
  134. package/dist/delete-directory.js.map +1 -0
  135. package/dist/ensure-frames-in-order.d.ts.map +1 -0
  136. package/dist/ensure-frames-in-order.js.map +1 -0
  137. package/dist/ensure-output-directory.d.ts.map +1 -0
  138. package/dist/ensure-output-directory.js.map +1 -0
  139. package/dist/ensure-presentation-timestamp.d.ts +1 -1
  140. package/dist/ensure-presentation-timestamp.js +1 -1
  141. package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
  142. package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
  143. package/dist/error-handling/handle-javascript-exception.js.map +1 -0
  144. package/dist/error-handling/symbolicate-error.d.ts +1 -1
  145. package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
  146. package/dist/error-handling/symbolicate-error.js.map +1 -0
  147. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  148. package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
  149. package/dist/error-handling/symbolicateable-error.js.map +1 -0
  150. package/dist/extract-frame-from-video.d.ts +3 -4
  151. package/dist/ffmpeg-filter-file.d.ts.map +1 -0
  152. package/dist/ffmpeg-filter-file.js.map +1 -0
  153. package/dist/ffmpeg-flags.d.ts.map +1 -0
  154. package/dist/ffmpeg-flags.js.map +1 -0
  155. package/dist/get-audio-codec-name.d.ts +1 -1
  156. package/dist/get-audio-codec-name.d.ts.map +1 -0
  157. package/dist/get-audio-codec-name.js.map +1 -0
  158. package/dist/get-browser-instance.d.ts +3 -3
  159. package/dist/get-browser-instance.d.ts.map +1 -0
  160. package/dist/get-browser-instance.js.map +1 -0
  161. package/dist/get-codec-name.d.ts +1 -1
  162. package/dist/get-codec-name.d.ts.map +1 -0
  163. package/dist/get-codec-name.js.map +1 -0
  164. package/dist/get-compositions.d.ts +4 -4
  165. package/dist/get-compositions.d.ts.map +1 -0
  166. package/dist/get-compositions.js.map +1 -0
  167. package/dist/get-concurrency.d.ts.map +1 -0
  168. package/dist/get-concurrency.js.map +1 -0
  169. package/dist/get-duration-from-frame-range.d.ts +1 -1
  170. package/dist/get-duration-from-frame-range.d.ts.map +1 -0
  171. package/dist/get-duration-from-frame-range.js.map +1 -0
  172. package/dist/get-extension-from-codec.d.ts +1 -1
  173. package/dist/get-extension-from-codec.d.ts.map +1 -0
  174. package/dist/get-extension-from-codec.js.map +1 -0
  175. package/dist/get-frame-to-render.d.ts +1 -1
  176. package/dist/get-frame-to-render.d.ts.map +1 -0
  177. package/dist/get-frame-to-render.js.map +1 -0
  178. package/dist/get-local-browser-executable.d.ts +1 -1
  179. package/dist/get-local-browser-executable.d.ts.map +1 -0
  180. package/dist/get-local-browser-executable.js.map +1 -0
  181. package/dist/get-port.d.ts.map +1 -0
  182. package/dist/get-port.js.map +1 -0
  183. package/dist/get-prores-profile-name.d.ts +1 -1
  184. package/dist/get-prores-profile-name.d.ts.map +1 -0
  185. package/dist/get-prores-profile-name.js.map +1 -0
  186. package/dist/image-format.d.ts +1 -1
  187. package/dist/image-format.d.ts.map +1 -0
  188. package/dist/image-format.js.map +1 -0
  189. package/dist/index.d.ts +0 -1
  190. package/dist/index.d.ts.map +1 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/is-serve-url.d.ts.map +1 -0
  193. package/dist/is-serve-url.js.map +1 -0
  194. package/dist/is-vp9-video.d.ts +1 -1
  195. package/dist/last-frame-from-video-cache.d.ts +2 -3
  196. package/dist/legacy-webpack-config.d.ts.map +1 -0
  197. package/dist/legacy-webpack-config.js.map +1 -0
  198. package/dist/make-assets-download-dir.d.ts.map +1 -0
  199. package/dist/make-assets-download-dir.js.map +1 -0
  200. package/dist/merge-audio-track.d.ts +1 -1
  201. package/dist/merge-audio-track.d.ts.map +1 -0
  202. package/dist/merge-audio-track.js.map +1 -0
  203. package/dist/normalize-serve-url.d.ts.map +1 -0
  204. package/dist/normalize-serve-url.js.map +1 -0
  205. package/dist/offthread-video-server.d.ts +3 -3
  206. package/dist/open-browser.d.ts +1 -1
  207. package/dist/open-browser.d.ts.map +1 -0
  208. package/dist/open-browser.js.map +1 -0
  209. package/dist/p-limit.d.ts.map +1 -0
  210. package/dist/p-limit.js.map +1 -0
  211. package/dist/parse-browser-error-stack.d.ts.map +1 -0
  212. package/dist/parse-browser-error-stack.js.map +1 -0
  213. package/dist/parse-ffmpeg-progress.d.ts.map +1 -0
  214. package/dist/parse-ffmpeg-progress.js.map +1 -0
  215. package/dist/pool.d.ts.map +1 -0
  216. package/dist/pool.js.map +1 -0
  217. package/dist/prepare-server.d.ts +2 -2
  218. package/dist/prepare-server.d.ts.map +1 -0
  219. package/dist/prepare-server.js.map +1 -0
  220. package/dist/preprocess-audio-track.d.ts +2 -2
  221. package/dist/preprocess-audio-track.d.ts.map +1 -0
  222. package/dist/preprocess-audio-track.js.map +1 -0
  223. package/dist/prespawn-ffmpeg.d.ts +2 -2
  224. package/dist/prespawn-ffmpeg.d.ts.map +1 -0
  225. package/dist/prespawn-ffmpeg.js.map +1 -0
  226. package/dist/provide-screenshot.d.ts +2 -3
  227. package/dist/provide-screenshot.d.ts.map +1 -0
  228. package/dist/provide-screenshot.js.map +1 -0
  229. package/dist/puppeteer-evaluate.d.ts +1 -1
  230. package/dist/puppeteer-evaluate.d.ts.map +1 -0
  231. package/dist/puppeteer-evaluate.js +0 -1
  232. package/dist/puppeteer-evaluate.js.map +1 -0
  233. package/dist/puppeteer-screenshot.d.ts +1 -2
  234. package/dist/puppeteer-screenshot.d.ts.map +1 -0
  235. package/dist/puppeteer-screenshot.js.map +1 -0
  236. package/dist/render-frames.d.ts +8 -8
  237. package/dist/render-frames.d.ts.map +1 -0
  238. package/dist/render-frames.js.map +1 -0
  239. package/dist/render-media.d.ts +7 -7
  240. package/dist/render-media.d.ts.map +1 -0
  241. package/dist/render-media.js.map +1 -0
  242. package/dist/render-still.d.ts +6 -6
  243. package/dist/render-still.d.ts.map +1 -0
  244. package/dist/render-still.js.map +1 -0
  245. package/dist/resolve-asset-src.d.ts.map +1 -0
  246. package/dist/resolve-asset-src.js.map +1 -0
  247. package/dist/sample-rate.d.ts.map +1 -0
  248. package/dist/sample-rate.js.map +1 -0
  249. package/dist/screenshot-dom-element.d.ts +2 -3
  250. package/dist/screenshot-dom-element.d.ts.map +1 -0
  251. package/dist/screenshot-dom-element.js.map +1 -0
  252. package/dist/screenshot-task.d.ts +2 -3
  253. package/dist/screenshot-task.d.ts.map +1 -0
  254. package/dist/screenshot-task.js.map +1 -0
  255. package/dist/seek-to-frame.d.ts +1 -1
  256. package/dist/seek-to-frame.d.ts.map +1 -0
  257. package/dist/seek-to-frame.js.map +1 -0
  258. package/dist/serve-handler/index.d.ts +1 -1
  259. package/dist/serve-handler/index.js +0 -1
  260. package/dist/serve-static.d.ts +2 -2
  261. package/dist/serve-static.d.ts.map +1 -0
  262. package/dist/serve-static.js.map +1 -0
  263. package/dist/set-props-and-env.d.ts +1 -1
  264. package/dist/set-props-and-env.d.ts.map +1 -0
  265. package/dist/set-props-and-env.js.map +1 -0
  266. package/dist/stitch-frames-to-video.d.ts +3 -3
  267. package/dist/stitch-frames-to-video.d.ts.map +1 -0
  268. package/dist/stitch-frames-to-video.js.map +1 -0
  269. package/dist/stringify-ffmpeg-filter.d.ts +1 -1
  270. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
  271. package/dist/stringify-ffmpeg-filter.js.map +1 -0
  272. package/dist/symbolicate-stacktrace.d.ts +1 -1
  273. package/dist/symbolicate-stacktrace.d.ts.map +1 -0
  274. package/dist/symbolicate-stacktrace.js.map +1 -0
  275. package/dist/tmp-dir.d.ts.map +1 -0
  276. package/dist/tmp-dir.js.map +1 -0
  277. package/dist/types.d.ts +1 -1
  278. package/dist/types.d.ts.map +1 -0
  279. package/dist/types.js.map +1 -0
  280. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  281. package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -0
  282. package/dist/validate-even-dimensions-with-codec.js.map +1 -0
  283. package/dist/validate-ffmpeg.d.ts.map +1 -0
  284. package/dist/validate-ffmpeg.js.map +1 -0
  285. package/dist/validate-output-filename.d.ts +1 -1
  286. package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
  287. package/dist/validate-puppeteer-timeout.js.map +1 -0
  288. package/dist/validate-scale.d.ts.map +1 -0
  289. package/dist/validate-scale.js.map +1 -0
  290. package/package.json +4 -4
  291. package/dist/abort.d.ts +0 -7
  292. package/dist/abort.js +0 -20
  293. package/dist/cancel.d.ts +0 -7
  294. package/dist/cancel.js +0 -25
  295. package/dist/ensure-faststart.d.ts +0 -1
  296. package/dist/ensure-faststart.js +0 -14
  297. package/dist/faststart/atom.d.ts +0 -35
  298. package/dist/faststart/atom.js +0 -138
  299. package/dist/faststart/index.d.ts +0 -0
  300. package/dist/faststart/index.js +0 -1
  301. package/dist/faststart/options.d.ts +0 -6
  302. package/dist/faststart/options.js +0 -2
  303. package/dist/faststart/qt-faststart.d.ts +0 -18
  304. package/dist/faststart/qt-faststart.js +0 -66
  305. package/dist/faststart/update-chunk-offsets.d.ts +0 -10
  306. package/dist/faststart/update-chunk-offsets.js +0 -114
  307. package/dist/faststart/util.d.ts +0 -9
  308. package/dist/faststart/util.js +0 -34
  309. package/dist/offthread/index.d.ts +0 -0
  310. package/dist/offthread/index.js +0 -1
  311. package/dist/render-gif.d.ts +0 -2
  312. package/dist/render-gif.js +0 -242
  313. package/dist/should-use-vp9-decoder.d.ts +0 -0
  314. package/dist/should-use-vp9-decoder.js +0 -1
  315. package/dist/stitch-frames-to-gif.d.ts +0 -8
  316. package/dist/stitch-frames-to-gif.js +0 -128
  317. package/dist/validate-offthreadvideo-image-format.d.ts +0 -1
  318. package/dist/validate-offthreadvideo-image-format.js +0 -15
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { Protocol } from 'devtools-protocol';
16
+ import { Protocol } from 'devtools-protocol';
17
17
  import { CDPSession } from './Connection';
18
18
  import { DOMWorld } from './DOMWorld';
19
19
  import { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
@@ -30,4 +30,6 @@ export declare class ExecutionContext {
30
30
  frame(): Frame | null;
31
31
  evaluate<ReturnType>(pageFunction: Function | string, ...args: unknown[]): Promise<ReturnType>;
32
32
  evaluateHandle<HandleType extends JSHandle | ElementHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType>;
33
+ _adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle>;
34
+ _adoptElementHandle(elementHandle: ElementHandle): Promise<ElementHandle>;
33
35
  }
@@ -24,6 +24,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
24
24
  var _ExecutionContext_instances, _ExecutionContext_evaluate;
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ExecutionContext = exports.EVALUATION_SCRIPT_URL = void 0;
27
+ const assert_1 = require("./assert");
27
28
  const JSHandle_1 = require("./JSHandle");
28
29
  const util_1 = require("./util");
29
30
  exports.EVALUATION_SCRIPT_URL = 'pptr://__puppeteer_evaluation_script__';
@@ -45,6 +46,21 @@ class ExecutionContext {
45
46
  evaluateHandle(pageFunction, ...args) {
46
47
  return __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_evaluate).call(this, false, pageFunction, ...args);
47
48
  }
49
+ async _adoptBackendNodeId(backendNodeId) {
50
+ const { object } = await this._client.send('DOM.resolveNode', {
51
+ backendNodeId,
52
+ executionContextId: this._contextId,
53
+ });
54
+ return (0, JSHandle_1._createJSHandle)(this, object);
55
+ }
56
+ async _adoptElementHandle(elementHandle) {
57
+ (0, assert_1.assert)(elementHandle.executionContext() !== this, 'Cannot adopt handle that already belongs to this execution context');
58
+ (0, assert_1.assert)(this._world, 'Cannot adopt handle without DOMWorld');
59
+ const nodeInfo = await this._client.send('DOM.describeNode', {
60
+ objectId: elementHandle._remoteObject.objectId,
61
+ });
62
+ return this._adoptBackendNodeId(nodeInfo.node.backendNodeId);
63
+ }
48
64
  }
49
65
  exports.ExecutionContext = ExecutionContext;
50
66
  _ExecutionContext_instances = new WeakSet(), _ExecutionContext_evaluate = async function _ExecutionContext_evaluate(returnByValue, pageFunction, ...args) {
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Copyright 2020 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Protocol } from 'devtools-protocol';
17
+ import { ElementHandle } from './JSHandle';
18
+ /**
19
+ * File choosers let you react to the page requesting for a file.
20
+ * @remarks
21
+ * `FileChooser` objects are returned via the `page.waitForFileChooser` method.
22
+ * @example
23
+ * An example of using `FileChooser`:
24
+ * ```js
25
+ * const [fileChooser] = await Promise.all([
26
+ * page.waitForFileChooser(),
27
+ * page.click('#upload-file-button'), // some button that triggers file selection
28
+ * ]);
29
+ * await fileChooser.accept(['/tmp/myfile.pdf']);
30
+ * ```
31
+ * **NOTE** In browsers, only one file chooser can be opened at a time.
32
+ * All file choosers must be accepted or canceled. Not doing so will prevent
33
+ * subsequent file choosers from appearing.
34
+ * @public
35
+ */
36
+ export declare class FileChooser {
37
+ #private;
38
+ /**
39
+ * @internal
40
+ */
41
+ constructor(element: ElementHandle, event: Protocol.Page.FileChooserOpenedEvent);
42
+ /**
43
+ * Whether file chooser allow for {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#attr-multiple | multiple} file selection.
44
+ */
45
+ isMultiple(): boolean;
46
+ /**
47
+ * Accept the file chooser request with given paths.
48
+ * @param filePaths - If some of the `filePaths` are relative paths,
49
+ * then they are resolved relative to the {@link https://nodejs.org/api/process.html#process_process_cwd | current working directory}.
50
+ */
51
+ accept(filePaths: string[]): Promise<void>;
52
+ /**
53
+ * Closes the file chooser without selecting any files.
54
+ */
55
+ cancel(): void;
56
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2020 Google Inc. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
18
+ if (kind === "m") throw new TypeError("Private method is not writable");
19
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
20
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
22
+ };
23
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
24
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
25
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
+ };
28
+ var _FileChooser_element, _FileChooser_multiple, _FileChooser_handled;
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.FileChooser = void 0;
31
+ const assert_1 = require("./assert");
32
+ /**
33
+ * File choosers let you react to the page requesting for a file.
34
+ * @remarks
35
+ * `FileChooser` objects are returned via the `page.waitForFileChooser` method.
36
+ * @example
37
+ * An example of using `FileChooser`:
38
+ * ```js
39
+ * const [fileChooser] = await Promise.all([
40
+ * page.waitForFileChooser(),
41
+ * page.click('#upload-file-button'), // some button that triggers file selection
42
+ * ]);
43
+ * await fileChooser.accept(['/tmp/myfile.pdf']);
44
+ * ```
45
+ * **NOTE** In browsers, only one file chooser can be opened at a time.
46
+ * All file choosers must be accepted or canceled. Not doing so will prevent
47
+ * subsequent file choosers from appearing.
48
+ * @public
49
+ */
50
+ class FileChooser {
51
+ /**
52
+ * @internal
53
+ */
54
+ constructor(element, event) {
55
+ _FileChooser_element.set(this, void 0);
56
+ _FileChooser_multiple.set(this, void 0);
57
+ _FileChooser_handled.set(this, false);
58
+ __classPrivateFieldSet(this, _FileChooser_element, element, "f");
59
+ __classPrivateFieldSet(this, _FileChooser_multiple, event.mode !== 'selectSingle', "f");
60
+ }
61
+ /**
62
+ * Whether file chooser allow for {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#attr-multiple | multiple} file selection.
63
+ */
64
+ isMultiple() {
65
+ return __classPrivateFieldGet(this, _FileChooser_multiple, "f");
66
+ }
67
+ /**
68
+ * Accept the file chooser request with given paths.
69
+ * @param filePaths - If some of the `filePaths` are relative paths,
70
+ * then they are resolved relative to the {@link https://nodejs.org/api/process.html#process_process_cwd | current working directory}.
71
+ */
72
+ async accept(filePaths) {
73
+ (0, assert_1.assert)(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot accept FileChooser which is already handled!');
74
+ __classPrivateFieldSet(this, _FileChooser_handled, true, "f");
75
+ await __classPrivateFieldGet(this, _FileChooser_element, "f").uploadFile(...filePaths);
76
+ }
77
+ /**
78
+ * Closes the file chooser without selecting any files.
79
+ */
80
+ cancel() {
81
+ (0, assert_1.assert)(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot cancel FileChooser which is already handled!');
82
+ __classPrivateFieldSet(this, _FileChooser_handled, true, "f");
83
+ }
84
+ }
85
+ exports.FileChooser = FileChooser;
86
+ _FileChooser_element = new WeakMap(), _FileChooser_multiple = new WeakMap(), _FileChooser_handled = new WeakMap();
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { Protocol } from 'devtools-protocol';
16
+ import { Protocol } from 'devtools-protocol';
17
17
  import { CDPSession } from './Connection';
18
18
  import { DOMWorld } from './DOMWorld';
19
19
  import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
@@ -13,16 +13,30 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { Protocol } from 'devtools-protocol';
16
+ import { Protocol } from 'devtools-protocol';
17
17
  import { Frame } from './FrameManager';
18
18
  import { HTTPResponse } from './HTTPResponse';
19
+ declare type ResourceType = Lowercase<Protocol.Network.ResourceType>;
19
20
  export declare class HTTPRequest {
20
21
  #private;
21
22
  _requestId: string;
23
+ _failureText: string | null;
22
24
  _response: HTTPResponse | null;
23
25
  _fromMemoryCache: boolean;
24
- constructor(frame: Frame | null, event: Protocol.Network.RequestWillBeSentEvent);
26
+ _redirectChain: HTTPRequest[];
27
+ constructor(frame: Frame | null, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[]);
28
+ url(): string;
29
+ resourceType(): ResourceType;
30
+ method(): string;
31
+ postData(): string | undefined;
32
+ headers(): Record<string, string>;
25
33
  response(): HTTPResponse | null;
26
34
  frame(): Frame | null;
27
35
  isNavigationRequest(): boolean;
36
+ initiator(): Protocol.Network.Initiator;
37
+ redirectChain(): HTTPRequest[];
38
+ failure(): {
39
+ errorText: string;
40
+ } | null;
28
41
  }
42
+ export {};
@@ -10,18 +10,49 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _HTTPRequest_isNavigationRequest, _HTTPRequest_frame;
13
+ var _HTTPRequest_isNavigationRequest, _HTTPRequest_url, _HTTPRequest_resourceType, _HTTPRequest_method, _HTTPRequest_postData, _HTTPRequest_headers, _HTTPRequest_frame, _HTTPRequest_initiator;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HTTPRequest = void 0;
16
16
  class HTTPRequest {
17
- constructor(frame, event) {
17
+ constructor(frame, event, redirectChain) {
18
+ this._failureText = null;
18
19
  this._response = null;
19
20
  this._fromMemoryCache = false;
20
21
  _HTTPRequest_isNavigationRequest.set(this, void 0);
22
+ _HTTPRequest_url.set(this, void 0);
23
+ _HTTPRequest_resourceType.set(this, void 0);
24
+ _HTTPRequest_method.set(this, void 0);
25
+ _HTTPRequest_postData.set(this, void 0);
26
+ _HTTPRequest_headers.set(this, {});
21
27
  _HTTPRequest_frame.set(this, void 0);
28
+ _HTTPRequest_initiator.set(this, void 0);
22
29
  this._requestId = event.requestId;
23
30
  __classPrivateFieldSet(this, _HTTPRequest_isNavigationRequest, event.requestId === event.loaderId && event.type === 'Document', "f");
31
+ __classPrivateFieldSet(this, _HTTPRequest_url, event.request.url, "f");
32
+ __classPrivateFieldSet(this, _HTTPRequest_resourceType, (event.type || 'other').toLowerCase(), "f");
33
+ __classPrivateFieldSet(this, _HTTPRequest_method, event.request.method, "f");
34
+ __classPrivateFieldSet(this, _HTTPRequest_postData, event.request.postData, "f");
24
35
  __classPrivateFieldSet(this, _HTTPRequest_frame, frame, "f");
36
+ this._redirectChain = redirectChain;
37
+ __classPrivateFieldSet(this, _HTTPRequest_initiator, event.initiator, "f");
38
+ for (const [key, value] of Object.entries(event.request.headers)) {
39
+ __classPrivateFieldGet(this, _HTTPRequest_headers, "f")[key.toLowerCase()] = value;
40
+ }
41
+ }
42
+ url() {
43
+ return __classPrivateFieldGet(this, _HTTPRequest_url, "f");
44
+ }
45
+ resourceType() {
46
+ return __classPrivateFieldGet(this, _HTTPRequest_resourceType, "f");
47
+ }
48
+ method() {
49
+ return __classPrivateFieldGet(this, _HTTPRequest_method, "f");
50
+ }
51
+ postData() {
52
+ return __classPrivateFieldGet(this, _HTTPRequest_postData, "f");
53
+ }
54
+ headers() {
55
+ return __classPrivateFieldGet(this, _HTTPRequest_headers, "f");
25
56
  }
26
57
  response() {
27
58
  return this._response;
@@ -32,6 +63,20 @@ class HTTPRequest {
32
63
  isNavigationRequest() {
33
64
  return __classPrivateFieldGet(this, _HTTPRequest_isNavigationRequest, "f");
34
65
  }
66
+ initiator() {
67
+ return __classPrivateFieldGet(this, _HTTPRequest_initiator, "f");
68
+ }
69
+ redirectChain() {
70
+ return this._redirectChain.slice();
71
+ }
72
+ failure() {
73
+ if (!this._failureText) {
74
+ return null;
75
+ }
76
+ return {
77
+ errorText: this._failureText,
78
+ };
79
+ }
35
80
  }
36
81
  exports.HTTPRequest = HTTPRequest;
37
- _HTTPRequest_isNavigationRequest = new WeakMap(), _HTTPRequest_frame = new WeakMap();
82
+ _HTTPRequest_isNavigationRequest = new WeakMap(), _HTTPRequest_url = new WeakMap(), _HTTPRequest_resourceType = new WeakMap(), _HTTPRequest_method = new WeakMap(), _HTTPRequest_postData = new WeakMap(), _HTTPRequest_headers = new WeakMap(), _HTTPRequest_frame = new WeakMap(), _HTTPRequest_initiator = new WeakMap();
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  /**
2
3
  * Copyright 2020 Google Inc. All rights reserved.
3
4
  *
@@ -13,10 +14,87 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import type { Protocol } from 'devtools-protocol';
17
+ import { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
18
+ import { Protocol } from 'devtools-protocol';
19
+ import { Frame } from './FrameManager';
20
+ import { HTTPRequest } from './HTTPRequest';
21
+ interface RemoteAddress {
22
+ ip?: string;
23
+ port?: number;
24
+ }
25
+ interface CDPSession {
26
+ send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
27
+ }
17
28
  export declare class HTTPResponse {
18
29
  #private;
19
- constructor(responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null);
30
+ constructor(client: CDPSession, request: HTTPRequest, responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null);
20
31
  _resolveBody(err: Error | null): void;
32
+ /**
33
+ * @returns The IP address and port number used to connect to the remote
34
+ * server.
35
+ */
36
+ remoteAddress(): RemoteAddress;
37
+ /**
38
+ * @returns The URL of the response.
39
+ */
40
+ url(): string;
41
+ /**
42
+ * @returns True if the response was successful (status in the range 200-299).
43
+ */
44
+ ok(): boolean;
45
+ /**
46
+ * @returns The status code of the response (e.g., 200 for a success).
47
+ */
21
48
  status(): number;
49
+ /**
50
+ * @returns The status text of the response (e.g. usually an "OK" for a
51
+ * success).
52
+ */
53
+ statusText(): string;
54
+ /**
55
+ * @returns An object with HTTP headers associated with the response. All
56
+ * header names are lower-case.
57
+ */
58
+ headers(): Record<string, string>;
59
+ /**
60
+ * @returns Timing information related to the response.
61
+ */
62
+ timing(): Protocol.Network.ResourceTiming | null;
63
+ /**
64
+ * @returns Promise which resolves to a buffer with response body.
65
+ */
66
+ buffer(): Promise<Buffer>;
67
+ /**
68
+ * @returns Promise which resolves to a text representation of response body.
69
+ */
70
+ text(): Promise<string>;
71
+ /**
72
+ *
73
+ * @returns Promise which resolves to a JSON representation of response body.
74
+ *
75
+ * @remarks
76
+ *
77
+ * This method will throw if the response body is not parsable via
78
+ * `JSON.parse`.
79
+ */
80
+ json(): Promise<any>;
81
+ /**
82
+ * @returns A matching {@link HTTPRequest} object.
83
+ */
84
+ request(): HTTPRequest;
85
+ /**
86
+ * @returns True if the response was served from either the browser's disk
87
+ * cache or memory cache.
88
+ */
89
+ fromCache(): boolean;
90
+ /**
91
+ * @returns True if the response was served by a service worker.
92
+ */
93
+ fromServiceWorker(): boolean;
94
+ /**
95
+ * @returns A {@link Frame} that initiated this response, or `null` if
96
+ * navigating to error pages.
97
+ */
98
+ frame(): Frame | null;
22
99
  }
100
+ export {};
@@ -10,14 +10,46 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _HTTPResponse_bodyLoadedPromiseFulfill, _HTTPResponse_status;
13
+ var _HTTPResponse_instances, _HTTPResponse_client, _HTTPResponse_request, _HTTPResponse_contentPromise, _HTTPResponse_bodyLoadedPromise, _HTTPResponse_bodyLoadedPromiseFulfill, _HTTPResponse_remoteAddress, _HTTPResponse_status, _HTTPResponse_statusText, _HTTPResponse_url, _HTTPResponse_fromDiskCache, _HTTPResponse_fromServiceWorker, _HTTPResponse_headers, _HTTPResponse_timing, _HTTPResponse_parseStatusTextFromExtrInfo;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HTTPResponse = void 0;
16
+ const Errors_1 = require("./Errors");
16
17
  class HTTPResponse {
17
- constructor(responsePayload, extraInfo) {
18
+ constructor(client, request, responsePayload, extraInfo) {
19
+ _HTTPResponse_instances.add(this);
20
+ _HTTPResponse_client.set(this, void 0);
21
+ _HTTPResponse_request.set(this, void 0);
22
+ _HTTPResponse_contentPromise.set(this, null);
23
+ _HTTPResponse_bodyLoadedPromise.set(this, void 0);
18
24
  _HTTPResponse_bodyLoadedPromiseFulfill.set(this, () => undefined);
25
+ _HTTPResponse_remoteAddress.set(this, void 0);
19
26
  _HTTPResponse_status.set(this, void 0);
27
+ _HTTPResponse_statusText.set(this, void 0);
28
+ _HTTPResponse_url.set(this, void 0);
29
+ _HTTPResponse_fromDiskCache.set(this, void 0);
30
+ _HTTPResponse_fromServiceWorker.set(this, void 0);
31
+ _HTTPResponse_headers.set(this, {});
32
+ _HTTPResponse_timing.set(this, void 0);
33
+ __classPrivateFieldSet(this, _HTTPResponse_client, client, "f");
34
+ __classPrivateFieldSet(this, _HTTPResponse_request, request, "f");
35
+ __classPrivateFieldSet(this, _HTTPResponse_bodyLoadedPromise, new Promise((fulfill) => {
36
+ __classPrivateFieldSet(this, _HTTPResponse_bodyLoadedPromiseFulfill, fulfill, "f");
37
+ }), "f");
38
+ __classPrivateFieldSet(this, _HTTPResponse_remoteAddress, {
39
+ ip: responsePayload.remoteIPAddress,
40
+ port: responsePayload.remotePort,
41
+ }, "f");
42
+ __classPrivateFieldSet(this, _HTTPResponse_statusText, __classPrivateFieldGet(this, _HTTPResponse_instances, "m", _HTTPResponse_parseStatusTextFromExtrInfo).call(this, extraInfo) ||
43
+ responsePayload.statusText, "f");
44
+ __classPrivateFieldSet(this, _HTTPResponse_url, request.url(), "f");
45
+ __classPrivateFieldSet(this, _HTTPResponse_fromDiskCache, Boolean(responsePayload.fromDiskCache), "f");
46
+ __classPrivateFieldSet(this, _HTTPResponse_fromServiceWorker, Boolean(responsePayload.fromServiceWorker), "f");
20
47
  __classPrivateFieldSet(this, _HTTPResponse_status, extraInfo ? extraInfo.statusCode : responsePayload.status, "f");
48
+ const headers = extraInfo ? extraInfo.headers : responsePayload.headers;
49
+ for (const [key, value] of Object.entries(headers)) {
50
+ __classPrivateFieldGet(this, _HTTPResponse_headers, "f")[key.toLowerCase()] = value;
51
+ }
52
+ __classPrivateFieldSet(this, _HTTPResponse_timing, responsePayload.timing || null, "f");
21
53
  }
22
54
  _resolveBody(err) {
23
55
  if (err) {
@@ -25,9 +57,140 @@ class HTTPResponse {
25
57
  }
26
58
  return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromiseFulfill, "f").call(this);
27
59
  }
60
+ /**
61
+ * @returns The IP address and port number used to connect to the remote
62
+ * server.
63
+ */
64
+ remoteAddress() {
65
+ return __classPrivateFieldGet(this, _HTTPResponse_remoteAddress, "f");
66
+ }
67
+ /**
68
+ * @returns The URL of the response.
69
+ */
70
+ url() {
71
+ return __classPrivateFieldGet(this, _HTTPResponse_url, "f");
72
+ }
73
+ /**
74
+ * @returns True if the response was successful (status in the range 200-299).
75
+ */
76
+ ok() {
77
+ return __classPrivateFieldGet(this, _HTTPResponse_status, "f") === 0 || (__classPrivateFieldGet(this, _HTTPResponse_status, "f") >= 200 && __classPrivateFieldGet(this, _HTTPResponse_status, "f") <= 299);
78
+ }
79
+ /**
80
+ * @returns The status code of the response (e.g., 200 for a success).
81
+ */
28
82
  status() {
29
83
  return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
30
84
  }
85
+ /**
86
+ * @returns The status text of the response (e.g. usually an "OK" for a
87
+ * success).
88
+ */
89
+ statusText() {
90
+ return __classPrivateFieldGet(this, _HTTPResponse_statusText, "f");
91
+ }
92
+ /**
93
+ * @returns An object with HTTP headers associated with the response. All
94
+ * header names are lower-case.
95
+ */
96
+ headers() {
97
+ return __classPrivateFieldGet(this, _HTTPResponse_headers, "f");
98
+ }
99
+ /**
100
+ * @returns Timing information related to the response.
101
+ */
102
+ timing() {
103
+ return __classPrivateFieldGet(this, _HTTPResponse_timing, "f");
104
+ }
105
+ /**
106
+ * @returns Promise which resolves to a buffer with response body.
107
+ */
108
+ buffer() {
109
+ if (!__classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f")) {
110
+ __classPrivateFieldSet(this, _HTTPResponse_contentPromise, __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromise, "f").then(async (error) => {
111
+ if (error) {
112
+ throw error;
113
+ }
114
+ try {
115
+ const response = await __classPrivateFieldGet(this, _HTTPResponse_client, "f").send('Network.getResponseBody', {
116
+ requestId: __classPrivateFieldGet(this, _HTTPResponse_request, "f")._requestId,
117
+ });
118
+ return Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
119
+ }
120
+ catch (_error) {
121
+ if (_error instanceof Errors_1.ProtocolError &&
122
+ _error.originalMessage === 'No resource with given identifier found') {
123
+ throw new Errors_1.ProtocolError('Could not load body for this request. This might happen if the request is a preflight request.');
124
+ }
125
+ throw _error;
126
+ }
127
+ }), "f");
128
+ }
129
+ return __classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f");
130
+ }
131
+ /**
132
+ * @returns Promise which resolves to a text representation of response body.
133
+ */
134
+ async text() {
135
+ const content = await this.buffer();
136
+ return content.toString('utf8');
137
+ }
138
+ /**
139
+ *
140
+ * @returns Promise which resolves to a JSON representation of response body.
141
+ *
142
+ * @remarks
143
+ *
144
+ * This method will throw if the response body is not parsable via
145
+ * `JSON.parse`.
146
+ */
147
+ async json() {
148
+ const content = await this.text();
149
+ return JSON.parse(content);
150
+ }
151
+ /**
152
+ * @returns A matching {@link HTTPRequest} object.
153
+ */
154
+ request() {
155
+ return __classPrivateFieldGet(this, _HTTPResponse_request, "f");
156
+ }
157
+ /**
158
+ * @returns True if the response was served from either the browser's disk
159
+ * cache or memory cache.
160
+ */
161
+ fromCache() {
162
+ return __classPrivateFieldGet(this, _HTTPResponse_fromDiskCache, "f") || __classPrivateFieldGet(this, _HTTPResponse_request, "f")._fromMemoryCache;
163
+ }
164
+ /**
165
+ * @returns True if the response was served by a service worker.
166
+ */
167
+ fromServiceWorker() {
168
+ return __classPrivateFieldGet(this, _HTTPResponse_fromServiceWorker, "f");
169
+ }
170
+ /**
171
+ * @returns A {@link Frame} that initiated this response, or `null` if
172
+ * navigating to error pages.
173
+ */
174
+ frame() {
175
+ return __classPrivateFieldGet(this, _HTTPResponse_request, "f").frame();
176
+ }
31
177
  }
32
178
  exports.HTTPResponse = HTTPResponse;
33
- _HTTPResponse_bodyLoadedPromiseFulfill = new WeakMap(), _HTTPResponse_status = new WeakMap();
179
+ _HTTPResponse_client = new WeakMap(), _HTTPResponse_request = new WeakMap(), _HTTPResponse_contentPromise = new WeakMap(), _HTTPResponse_bodyLoadedPromise = new WeakMap(), _HTTPResponse_bodyLoadedPromiseFulfill = new WeakMap(), _HTTPResponse_remoteAddress = new WeakMap(), _HTTPResponse_status = new WeakMap(), _HTTPResponse_statusText = new WeakMap(), _HTTPResponse_url = new WeakMap(), _HTTPResponse_fromDiskCache = new WeakMap(), _HTTPResponse_fromServiceWorker = new WeakMap(), _HTTPResponse_headers = new WeakMap(), _HTTPResponse_timing = new WeakMap(), _HTTPResponse_instances = new WeakSet(), _HTTPResponse_parseStatusTextFromExtrInfo = function _HTTPResponse_parseStatusTextFromExtrInfo(extraInfo) {
180
+ if (!extraInfo || !extraInfo.headersText) {
181
+ return;
182
+ }
183
+ const firstLine = extraInfo.headersText.split('\r', 1)[0];
184
+ if (!firstLine) {
185
+ return;
186
+ }
187
+ const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
188
+ if (!match) {
189
+ return;
190
+ }
191
+ const statusText = match[1];
192
+ if (!statusText) {
193
+ return;
194
+ }
195
+ return statusText;
196
+ };