@remotion/renderer 4.0.0-imgloading.2 → 4.0.0-lambda.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/calculate-asset-positions.d.ts.map +1 -0
- package/dist/assets/calculate-asset-positions.js.map +1 -0
- package/dist/assets/calculate-atempo.d.ts.map +1 -0
- package/dist/assets/calculate-atempo.js.map +1 -0
- package/dist/assets/cleanup-assets.d.ts +2 -0
- package/dist/assets/cleanup-assets.js +2 -0
- package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -0
- package/dist/assets/convert-assets-to-file-urls.js.map +1 -0
- package/dist/assets/download-and-map-assets-to-file.d.ts +6 -0
- package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
- package/dist/assets/download-and-map-assets-to-file.js +46 -19
- package/dist/assets/download-and-map-assets-to-file.js.map +1 -0
- package/dist/assets/download-file.d.ts.map +1 -0
- package/dist/assets/download-file.js.map +1 -0
- package/dist/assets/ffmpeg-volume-expression.d.ts +2 -1
- package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
- package/dist/assets/ffmpeg-volume-expression.js +15 -12
- package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
- package/dist/assets/flatten-volume-array.d.ts.map +1 -0
- package/dist/assets/flatten-volume-array.js.map +1 -0
- package/dist/assets/get-audio-channels.d.ts +5 -2
- package/dist/assets/get-audio-channels.d.ts.map +1 -0
- package/dist/assets/get-audio-channels.js +15 -4
- package/dist/assets/get-audio-channels.js.map +1 -0
- package/dist/assets/read-file.d.ts.map +1 -0
- package/dist/assets/read-file.js.map +1 -0
- package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +1 -0
- package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +1 -0
- package/dist/assets/sanitize-filename.d.ts.map +1 -0
- package/dist/assets/sanitize-filename.js.map +1 -0
- package/dist/assets/sanitize-filepath.d.ts.map +1 -0
- package/dist/assets/sanitize-filepath.js.map +1 -0
- package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
- package/dist/assets/truncate-utf8-bytes.js.map +1 -0
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/assets/types.js.map +1 -0
- package/dist/browser/Accessibility.d.ts +175 -0
- package/dist/browser/Accessibility.js +423 -0
- package/dist/browser/AriaQueryHandler.d.ts +20 -0
- package/dist/browser/AriaQueryHandler.js +108 -0
- package/dist/browser/Browser.d.ts +209 -0
- package/dist/browser/Browser.js +402 -0
- package/dist/browser/BrowserConnector.d.ts +26 -0
- package/dist/browser/BrowserConnector.js +49 -0
- package/dist/browser/BrowserFetcher.d.ts +89 -0
- package/dist/browser/BrowserFetcher.js +512 -0
- package/dist/browser/BrowserRunner.d.ts +39 -0
- package/dist/browser/BrowserRunner.js +308 -0
- package/dist/browser/Connection.d.ts +49 -0
- package/dist/browser/Connection.js +262 -0
- package/dist/browser/ConnectionTransport.d.ts +21 -0
- package/dist/browser/ConnectionTransport.js +17 -0
- package/dist/browser/ConsoleMessage.d.ts +55 -0
- package/dist/browser/ConsoleMessage.js +75 -0
- package/dist/browser/Coverage.d.ts +180 -0
- package/dist/browser/Coverage.js +371 -0
- package/dist/browser/DOMWorld.d.ts +50 -0
- package/dist/browser/DOMWorld.js +280 -0
- package/dist/browser/Debug.d.ts +19 -0
- package/dist/browser/Debug.js +42 -0
- package/dist/browser/DeviceDescriptors.d.ts +40 -0
- package/dist/browser/DeviceDescriptors.js +1407 -0
- package/dist/browser/EmulationManager.d.ts +7 -0
- package/dist/browser/EmulationManager.js +40 -0
- package/dist/browser/Errors.d.ts +25 -0
- package/dist/browser/Errors.js +35 -0
- package/dist/browser/EvalTypes.d.ts +27 -0
- package/dist/browser/EvalTypes.js +17 -0
- package/dist/browser/EventEmitter.d.ts +70 -0
- package/dist/browser/EventEmitter.js +102 -0
- package/dist/browser/ExecutionContext.d.ts +35 -0
- package/dist/browser/ExecutionContext.js +190 -0
- package/dist/browser/FileChooser.d.ts +56 -0
- package/dist/browser/FileChooser.js +86 -0
- package/dist/browser/FrameManager.d.ts +96 -0
- package/dist/browser/FrameManager.js +512 -0
- package/dist/browser/HTTPRequest.d.ts +42 -0
- package/dist/browser/HTTPRequest.js +82 -0
- package/dist/browser/HTTPResponse.d.ts +100 -0
- package/dist/browser/HTTPResponse.js +196 -0
- package/dist/browser/Input.d.ts +355 -0
- package/dist/browser/Input.js +592 -0
- package/dist/browser/JSHandle.d.ts +36 -0
- package/dist/browser/JSHandle.js +93 -0
- package/dist/browser/LaunchOptions.d.ts +117 -0
- package/dist/browser/LaunchOptions.js +17 -0
- package/dist/browser/Launcher.d.ts +9 -0
- package/dist/browser/Launcher.js +602 -0
- package/dist/browser/LifecycleWatcher.d.ts +29 -0
- package/dist/browser/LifecycleWatcher.js +193 -0
- package/dist/browser/NetworkConditions.d.ts +26 -0
- package/dist/browser/NetworkConditions.js +33 -0
- package/dist/browser/NetworkEventManager.d.ts +35 -0
- package/dist/browser/NetworkEventManager.js +128 -0
- package/dist/browser/NetworkManager.d.ts +36 -0
- package/dist/browser/NetworkManager.js +284 -0
- package/dist/browser/NodeWebSocketTransport.d.ts +11 -0
- package/dist/browser/NodeWebSocketTransport.js +90 -0
- package/dist/browser/PDFOptions.d.ts +165 -0
- package/dist/browser/PDFOptions.js +34 -0
- package/dist/browser/PipeTransport.d.ts +10 -0
- package/dist/browser/PipeTransport.js +86 -0
- package/dist/browser/Product.d.ts +16 -0
- package/dist/browser/Product.js +17 -0
- package/dist/browser/Puppeteer.d.ts +35 -0
- package/dist/browser/Puppeteer.js +17 -0
- package/dist/browser/PuppeteerNode.d.ts +92 -0
- package/dist/browser/PuppeteerNode.js +143 -0
- package/dist/browser/PuppeteerViewport.d.ts +5 -0
- package/dist/browser/PuppeteerViewport.js +2 -0
- package/dist/browser/QueryHandler.d.ts +64 -0
- package/dist/browser/QueryHandler.js +183 -0
- package/dist/browser/ScreenshotOptions.d.ts +14 -0
- package/dist/browser/ScreenshotOptions.js +2 -0
- package/dist/browser/SecurityDetails.d.ts +55 -0
- package/dist/browser/SecurityDetails.js +95 -0
- package/dist/browser/Target.d.ts +61 -0
- package/dist/browser/Target.js +146 -0
- package/dist/browser/TaskQueue.d.ts +20 -0
- package/dist/browser/TaskQueue.js +47 -0
- package/dist/browser/TimeoutSettings.d.ts +23 -0
- package/dist/browser/TimeoutSettings.js +62 -0
- package/dist/browser/Tracing.d.ts +45 -0
- package/dist/browser/Tracing.js +136 -0
- package/dist/browser/USKeyboardLayout.d.ts +39 -0
- package/dist/browser/USKeyboardLayout.js +406 -0
- package/dist/browser/WebWorker.d.ts +96 -0
- package/dist/browser/WebWorker.js +122 -0
- package/dist/browser/assert.d.ts +21 -0
- package/dist/browser/assert.js +29 -0
- package/dist/browser/compat.d.ts +2 -0
- package/dist/browser/compat.js +17 -0
- package/dist/browser/create-browser-fetcher.d.ts +17 -0
- package/dist/browser/create-browser-fetcher.js +140 -0
- package/dist/browser/dialog.d.ts +70 -0
- package/dist/browser/dialog.js +114 -0
- package/dist/browser/environment.d.ts +16 -0
- package/dist/browser/environment.js +19 -0
- package/dist/browser/fetch.d.ts +16 -0
- package/dist/browser/fetch.js +46 -0
- package/dist/browser/find-up.d.ts +4 -0
- package/dist/browser/find-up.js +85 -0
- package/dist/browser/get-download-destination.d.ts +1 -0
- package/dist/browser/get-download-destination.js +38 -0
- package/dist/browser/mitt/index.d.ts +22 -0
- package/dist/browser/mitt/index.js +49 -0
- package/dist/browser/node.d.ts +2 -0
- package/dist/browser/node.js +9 -0
- package/dist/browser/page.d.ts +78 -0
- package/dist/browser/page.js +277 -0
- package/dist/browser/pkg-dir.d.ts +3 -0
- package/dist/browser/pkg-dir.js +13 -0
- package/dist/browser/revisions.d.ts +21 -0
- package/dist/browser/revisions.js +22 -0
- package/dist/browser/util.d.ts +46 -0
- package/dist/browser/util.js +161 -0
- package/dist/browser-log.d.ts.map +1 -0
- package/dist/browser-log.js.map +1 -0
- package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
- package/dist/calculate-ffmpeg-filters.js +2 -2
- package/dist/calculate-ffmpeg-filters.js.map +1 -0
- package/dist/can-use-parallel-encoding.d.ts.map +1 -0
- package/dist/can-use-parallel-encoding.js.map +1 -0
- package/dist/chunk.d.ts.map +1 -0
- package/dist/chunk.js.map +1 -0
- package/dist/combine-videos.d.ts +2 -1
- package/dist/combine-videos.d.ts.map +1 -0
- package/dist/combine-videos.js +8 -1
- package/dist/combine-videos.js.map +1 -0
- package/dist/convert-to-pcm.d.ts.map +1 -0
- package/dist/convert-to-pcm.js.map +1 -0
- package/dist/create-ffmpeg-complex-filter.d.ts +4 -1
- package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -0
- package/dist/create-ffmpeg-complex-filter.js.map +1 -0
- package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -0
- package/dist/create-ffmpeg-merge-filter.js.map +1 -0
- package/dist/create-silent-audio.d.ts.map +1 -0
- package/dist/create-silent-audio.js.map +1 -0
- package/dist/cycle-browser-tabs.d.ts +2 -1
- package/dist/cycle-browser-tabs.d.ts.map +1 -0
- package/dist/cycle-browser-tabs.js +9 -2
- package/dist/cycle-browser-tabs.js.map +1 -0
- package/dist/delay-render-embedded-stack.d.ts.map +1 -0
- package/dist/delay-render-embedded-stack.js.map +1 -0
- package/dist/delete-directory.d.ts.map +1 -0
- package/dist/delete-directory.js.map +1 -0
- package/dist/ensure-frames-in-order.d.ts.map +1 -0
- package/dist/ensure-frames-in-order.js.map +1 -0
- package/dist/ensure-output-directory.d.ts.map +1 -0
- package/dist/ensure-output-directory.js.map +1 -0
- package/dist/ensure-presentation-timestamp.d.ts +1 -0
- package/dist/ensure-presentation-timestamp.js +57 -0
- package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
- package/dist/error-handling/handle-javascript-exception.js.map +1 -0
- package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
- package/dist/error-handling/symbolicate-error.js.map +1 -0
- package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
- package/dist/error-handling/symbolicateable-error.js.map +1 -0
- package/dist/extract-frame-from-video.d.ts +11 -0
- package/dist/extract-frame-from-video.js +197 -0
- package/dist/ffmpeg-filter-file.d.ts.map +1 -0
- package/dist/ffmpeg-filter-file.js.map +1 -0
- package/dist/ffmpeg-flags.d.ts.map +1 -0
- package/dist/ffmpeg-flags.js.map +1 -0
- package/dist/frame-to-ffmpeg-timestamp.d.ts +1 -0
- package/dist/frame-to-ffmpeg-timestamp.js +8 -0
- package/dist/get-audio-codec-name.d.ts.map +1 -0
- package/dist/get-audio-codec-name.js.map +1 -0
- package/dist/get-browser-instance.d.ts.map +1 -0
- package/dist/get-browser-instance.js.map +1 -0
- package/dist/get-codec-name.d.ts.map +1 -0
- package/dist/get-codec-name.js.map +1 -0
- package/dist/get-compositions.d.ts +5 -2
- package/dist/get-compositions.d.ts.map +1 -0
- package/dist/get-compositions.js +23 -5
- package/dist/get-compositions.js.map +1 -0
- package/dist/get-concurrency.d.ts.map +1 -0
- package/dist/get-concurrency.js.map +1 -0
- package/dist/get-duration-from-frame-range.d.ts.map +1 -0
- package/dist/get-duration-from-frame-range.js.map +1 -0
- package/dist/get-duration-of-asset.d.ts +7 -0
- package/dist/get-duration-of-asset.js +36 -0
- package/dist/get-extension-from-codec.d.ts.map +1 -0
- package/dist/get-extension-from-codec.js.map +1 -0
- package/dist/get-frame-to-render.d.ts.map +1 -0
- package/dist/get-frame-to-render.js.map +1 -0
- package/dist/get-local-browser-executable.d.ts.map +1 -0
- package/dist/get-local-browser-executable.js.map +1 -0
- package/dist/get-port.d.ts.map +1 -0
- package/dist/get-port.js +26 -24
- package/dist/get-port.js.map +1 -0
- package/dist/get-prores-profile-name.d.ts.map +1 -0
- package/dist/get-prores-profile-name.js.map +1 -0
- package/dist/image-format.d.ts.map +1 -0
- package/dist/image-format.js.map +1 -0
- package/dist/index.d.ts +33 -9
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -5
- package/dist/index.js.map +1 -0
- package/dist/is-beyond-last-frame.d.ts +2 -0
- package/dist/is-beyond-last-frame.js +12 -0
- package/dist/is-serve-url.d.ts.map +1 -0
- package/dist/is-serve-url.js.map +1 -0
- package/dist/last-frame-from-video-cache.d.ts +10 -0
- package/dist/last-frame-from-video-cache.js +50 -0
- package/dist/legacy-webpack-config.d.ts.map +1 -0
- package/dist/legacy-webpack-config.js.map +1 -0
- package/dist/make-assets-download-dir.d.ts.map +1 -0
- package/dist/make-assets-download-dir.js +6 -1
- package/dist/make-assets-download-dir.js.map +1 -0
- package/dist/make-cancel-signal.d.ts +7 -0
- package/dist/make-cancel-signal.js +25 -0
- package/dist/merge-audio-track.d.ts.map +1 -0
- package/dist/merge-audio-track.js +2 -2
- package/dist/merge-audio-track.js.map +1 -0
- package/dist/normalize-serve-url.d.ts.map +1 -0
- package/dist/normalize-serve-url.js.map +1 -0
- package/dist/offthread-video-server.d.ts +14 -0
- package/dist/offthread-video-server.js +67 -0
- package/dist/open-browser.d.ts +5 -5
- package/dist/open-browser.d.ts.map +1 -0
- package/dist/open-browser.js +3 -3
- package/dist/open-browser.js.map +1 -0
- package/dist/p-limit.d.ts.map +1 -0
- package/dist/p-limit.js.map +1 -0
- package/dist/parse-browser-error-stack.d.ts.map +1 -0
- package/dist/parse-browser-error-stack.js.map +1 -0
- package/dist/parse-ffmpeg-progress.d.ts.map +1 -0
- package/dist/parse-ffmpeg-progress.js.map +1 -0
- package/dist/pool.d.ts.map +1 -0
- package/dist/pool.js.map +1 -0
- package/dist/prepare-server.d.ts +13 -2
- package/dist/prepare-server.d.ts.map +1 -0
- package/dist/prepare-server.js +35 -5
- package/dist/prepare-server.js.map +1 -0
- package/dist/preprocess-audio-track.d.ts +1 -0
- package/dist/preprocess-audio-track.d.ts.map +1 -0
- package/dist/preprocess-audio-track.js +2 -2
- package/dist/preprocess-audio-track.js.map +1 -0
- package/dist/prespawn-ffmpeg.d.ts +2 -0
- package/dist/prespawn-ffmpeg.d.ts.map +1 -0
- package/dist/prespawn-ffmpeg.js +10 -9
- package/dist/prespawn-ffmpeg.js.map +1 -0
- package/dist/provide-screenshot.d.ts +0 -1
- package/dist/provide-screenshot.d.ts.map +1 -0
- package/dist/provide-screenshot.js +1 -1
- package/dist/provide-screenshot.js.map +1 -0
- package/dist/puppeteer-evaluate.d.ts.map +1 -0
- package/dist/puppeteer-evaluate.js.map +1 -0
- package/dist/puppeteer-screenshot.d.ts +0 -1
- package/dist/puppeteer-screenshot.d.ts.map +1 -0
- package/dist/puppeteer-screenshot.js +5 -1
- package/dist/puppeteer-screenshot.js.map +1 -0
- package/dist/render-frames.d.ts +6 -1
- package/dist/render-frames.d.ts.map +1 -0
- package/dist/render-frames.js +96 -37
- package/dist/render-frames.js.map +1 -0
- package/dist/render-media.d.ts +12 -2
- package/dist/render-media.d.ts.map +1 -0
- package/dist/render-media.js +127 -54
- package/dist/render-media.js.map +1 -0
- package/dist/render-still.d.ts +14 -4
- package/dist/render-still.d.ts.map +1 -0
- package/dist/render-still.js +58 -19
- package/dist/render-still.js.map +1 -0
- package/dist/resolve-asset-src.d.ts.map +1 -0
- package/dist/resolve-asset-src.js.map +1 -0
- package/dist/sample-rate.d.ts.map +1 -0
- package/dist/sample-rate.js.map +1 -0
- package/dist/screenshot-dom-element.d.ts +0 -1
- package/dist/screenshot-dom-element.d.ts.map +1 -0
- package/dist/screenshot-dom-element.js.map +1 -0
- package/dist/screenshot-task.d.ts +0 -1
- package/dist/screenshot-task.d.ts.map +1 -0
- package/dist/screenshot-task.js.map +1 -0
- package/dist/seek-to-frame.d.ts.map +1 -0
- package/dist/seek-to-frame.js.map +1 -0
- package/dist/serve-handler/glob-slash.d.ts +1 -0
- package/dist/serve-handler/glob-slash.js +12 -0
- package/dist/serve-handler/index.d.ts +4 -0
- package/dist/serve-handler/index.js +205 -0
- package/dist/serve-handler/is-path-inside.d.ts +1 -0
- package/dist/serve-handler/is-path-inside.js +27 -0
- package/dist/serve-handler/range-parser.d.ts +13 -0
- package/dist/serve-handler/range-parser.js +57 -0
- package/dist/serve-static.d.ts +10 -3
- package/dist/serve-static.d.ts.map +1 -0
- package/dist/serve-static.js +22 -4
- package/dist/serve-static.js.map +1 -0
- package/dist/set-props-and-env.d.ts +3 -1
- package/dist/set-props-and-env.d.ts.map +1 -0
- package/dist/set-props-and-env.js +25 -3
- package/dist/set-props-and-env.js.map +1 -0
- package/dist/stitch-frames-to-video.d.ts +4 -1
- package/dist/stitch-frames-to-video.d.ts.map +1 -0
- package/dist/stitch-frames-to-video.js +36 -15
- package/dist/stitch-frames-to-video.js.map +1 -0
- package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
- package/dist/stringify-ffmpeg-filter.js +3 -0
- package/dist/stringify-ffmpeg-filter.js.map +1 -0
- package/dist/symbolicate-stacktrace.d.ts.map +1 -0
- package/dist/symbolicate-stacktrace.js.map +1 -0
- package/dist/tmp-dir.d.ts.map +1 -0
- package/dist/tmp-dir.js +5 -1
- package/dist/tmp-dir.js.map +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -0
- package/dist/validate-even-dimensions-with-codec.js.map +1 -0
- package/dist/validate-ffmpeg.d.ts.map +1 -0
- package/dist/validate-ffmpeg.js.map +1 -0
- package/dist/validate-fps-for-gif.d.ts +2 -0
- package/dist/validate-fps-for-gif.js +9 -0
- package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
- package/dist/validate-puppeteer-timeout.js.map +1 -0
- package/dist/validate-scale.d.ts.map +1 -0
- package/dist/validate-scale.js.map +1 -0
- package/package.json +6 -7
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2017 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 _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_extraHTTPHeaders, _NetworkManager_attemptedAuthentications, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
|
|
31
|
+
const assert_1 = require("./assert");
|
|
32
|
+
const EventEmitter_1 = require("./EventEmitter");
|
|
33
|
+
const HTTPRequest_1 = require("./HTTPRequest");
|
|
34
|
+
const HTTPResponse_1 = require("./HTTPResponse");
|
|
35
|
+
const NetworkEventManager_1 = require("./NetworkEventManager");
|
|
36
|
+
const util_1 = require("./util");
|
|
37
|
+
exports.NetworkManagerEmittedEvents = {
|
|
38
|
+
Request: Symbol('NetworkManager.Request'),
|
|
39
|
+
};
|
|
40
|
+
class NetworkManager extends EventEmitter_1.EventEmitter {
|
|
41
|
+
constructor(client, frameManager) {
|
|
42
|
+
super();
|
|
43
|
+
_NetworkManager_instances.add(this);
|
|
44
|
+
_NetworkManager_client.set(this, void 0);
|
|
45
|
+
_NetworkManager_frameManager.set(this, void 0);
|
|
46
|
+
_NetworkManager_networkEventManager.set(this, new NetworkEventManager_1.NetworkEventManager());
|
|
47
|
+
_NetworkManager_extraHTTPHeaders.set(this, {});
|
|
48
|
+
_NetworkManager_attemptedAuthentications.set(this, new Set());
|
|
49
|
+
__classPrivateFieldSet(this, _NetworkManager_client, client, "f");
|
|
50
|
+
__classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
|
|
51
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
|
|
52
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.authRequired', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onAuthRequired).bind(this));
|
|
53
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestWillBeSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWillBeSent).bind(this));
|
|
54
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestServedFromCache', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestServedFromCache).bind(this));
|
|
55
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceived', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceived).bind(this));
|
|
56
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFinished', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFinished).bind(this));
|
|
57
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFailed', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFailed).bind(this));
|
|
58
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceivedExtraInfo', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceivedExtraInfo).bind(this));
|
|
59
|
+
}
|
|
60
|
+
async initialize() {
|
|
61
|
+
await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
|
|
62
|
+
}
|
|
63
|
+
async setExtraHTTPHeaders(extraHTTPHeaders) {
|
|
64
|
+
__classPrivateFieldSet(this, _NetworkManager_extraHTTPHeaders, {}, "f");
|
|
65
|
+
for (const key of Object.keys(extraHTTPHeaders)) {
|
|
66
|
+
const value = extraHTTPHeaders[key];
|
|
67
|
+
(0, assert_1.assert)((0, util_1.isString)(value), `Expected value of header "${key}" to be String, but "${typeof value}" is found.`);
|
|
68
|
+
__classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f")[key.toLowerCase()] = value;
|
|
69
|
+
}
|
|
70
|
+
await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setExtraHTTPHeaders', {
|
|
71
|
+
headers: __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
extraHTTPHeaders() {
|
|
75
|
+
return { ...__classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f") };
|
|
76
|
+
}
|
|
77
|
+
numRequestsInProgress() {
|
|
78
|
+
return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").numRequestsInProgress();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.NetworkManager = NetworkManager;
|
|
82
|
+
_NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_extraHTTPHeaders = new WeakMap(), _NetworkManager_attemptedAuthentications = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
|
|
83
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
|
|
84
|
+
}, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
|
|
85
|
+
let response = 'Default';
|
|
86
|
+
if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
|
|
87
|
+
response = 'CancelAuth';
|
|
88
|
+
}
|
|
89
|
+
const { username, password } = {
|
|
90
|
+
username: undefined,
|
|
91
|
+
password: undefined,
|
|
92
|
+
};
|
|
93
|
+
__classPrivateFieldGet(this, _NetworkManager_client, "f")
|
|
94
|
+
.send('Fetch.continueWithAuth', {
|
|
95
|
+
requestId: event.requestId,
|
|
96
|
+
authChallengeResponse: { response, username, password },
|
|
97
|
+
})
|
|
98
|
+
.catch(() => undefined);
|
|
99
|
+
}, _NetworkManager_onRequestPaused = function _NetworkManager_onRequestPaused(event) {
|
|
100
|
+
const { networkId: networkRequestId, requestId: fetchRequestId } = event;
|
|
101
|
+
if (!networkRequestId) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const requestWillBeSentEvent = (() => {
|
|
105
|
+
const _requestWillBeSentEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestWillBeSent(networkRequestId);
|
|
106
|
+
// redirect requests have the same `requestId`,
|
|
107
|
+
if (_requestWillBeSentEvent &&
|
|
108
|
+
(_requestWillBeSentEvent.request.url !== event.request.url ||
|
|
109
|
+
_requestWillBeSentEvent.request.method !== event.request.method)) {
|
|
110
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestWillBeSent(networkRequestId);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
return _requestWillBeSentEvent;
|
|
114
|
+
})();
|
|
115
|
+
if (requestWillBeSentEvent) {
|
|
116
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, requestWillBeSentEvent, event);
|
|
117
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, requestWillBeSentEvent, fetchRequestId);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestPaused(networkRequestId, event);
|
|
121
|
+
}
|
|
122
|
+
}, _NetworkManager_patchRequestEventHeaders = function _NetworkManager_patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
|
|
123
|
+
requestWillBeSentEvent.request.headers = {
|
|
124
|
+
...requestWillBeSentEvent.request.headers,
|
|
125
|
+
// includes extra headers, like: Accept, Origin
|
|
126
|
+
...requestPausedEvent.request.headers,
|
|
127
|
+
};
|
|
128
|
+
}, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
|
|
129
|
+
let redirectChain = [];
|
|
130
|
+
if (event.redirectResponse) {
|
|
131
|
+
// We want to emit a response and requestfinished for the
|
|
132
|
+
// redirectResponse, but we can't do so unless we have a
|
|
133
|
+
// responseExtraInfo ready to pair it up with. If we don't have any
|
|
134
|
+
// responseExtraInfos saved in our queue, they we have to wait until
|
|
135
|
+
// the next one to emit response and requestfinished, *and* we should
|
|
136
|
+
// also wait to emit this Request too because it should come after the
|
|
137
|
+
// response/requestfinished.
|
|
138
|
+
let redirectResponseExtraInfo = null;
|
|
139
|
+
if (event.redirectHasExtraInfo) {
|
|
140
|
+
redirectResponseExtraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
|
|
141
|
+
.responseExtraInfo(event.requestId)
|
|
142
|
+
.shift();
|
|
143
|
+
if (!redirectResponseExtraInfo) {
|
|
144
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueRedirectInfo(event.requestId, {
|
|
145
|
+
event,
|
|
146
|
+
fetchRequestId,
|
|
147
|
+
});
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const _request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
152
|
+
// If we connect late to the target, we could have missed the
|
|
153
|
+
// requestWillBeSent event.
|
|
154
|
+
if (_request) {
|
|
155
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, _request, event.redirectResponse, redirectResponseExtraInfo);
|
|
156
|
+
redirectChain = _request._redirectChain;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const frame = event.frameId
|
|
160
|
+
? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
|
|
161
|
+
: null;
|
|
162
|
+
const request = new HTTPRequest_1.HTTPRequest(frame, event, redirectChain);
|
|
163
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
|
|
164
|
+
this.emit(exports.NetworkManagerEmittedEvents.Request, request);
|
|
165
|
+
}, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
|
|
166
|
+
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
167
|
+
if (request) {
|
|
168
|
+
request._fromMemoryCache = true;
|
|
169
|
+
}
|
|
170
|
+
}, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
|
|
171
|
+
const response = new HTTPResponse_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responsePayload, extraInfo);
|
|
172
|
+
request._response = response;
|
|
173
|
+
request._redirectChain.push(request);
|
|
174
|
+
response._resolveBody(new Error('Response body is unavailable for redirect responses'));
|
|
175
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
|
|
176
|
+
}, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
|
|
177
|
+
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
|
|
178
|
+
// FileUpload sends a response without a matching request.
|
|
179
|
+
if (!request) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const extraInfos = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(responseReceived.requestId);
|
|
183
|
+
if (extraInfos.length) {
|
|
184
|
+
console.log(new Error('Unexpected extraInfo events for request ' +
|
|
185
|
+
responseReceived.requestId));
|
|
186
|
+
}
|
|
187
|
+
const response = new HTTPResponse_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responseReceived.response, extraInfo);
|
|
188
|
+
request._response = response;
|
|
189
|
+
}, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
|
|
190
|
+
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
191
|
+
let extraInfo = null;
|
|
192
|
+
if (request && !request._fromMemoryCache && event.hasExtraInfo) {
|
|
193
|
+
extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
|
|
194
|
+
.responseExtraInfo(event.requestId)
|
|
195
|
+
.shift();
|
|
196
|
+
if (!extraInfo) {
|
|
197
|
+
// Wait until we get the corresponding ExtraInfo event.
|
|
198
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueEventGroup(event.requestId, {
|
|
199
|
+
responseReceivedEvent: event,
|
|
200
|
+
});
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, event, extraInfo);
|
|
205
|
+
}, _NetworkManager_onResponseReceivedExtraInfo = function _NetworkManager_onResponseReceivedExtraInfo(event) {
|
|
206
|
+
// We may have skipped a redirect response/request pair due to waiting for
|
|
207
|
+
// this ExtraInfo event. If so, continue that work now that we have the
|
|
208
|
+
// request.
|
|
209
|
+
const redirectInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").takeQueuedRedirectInfo(event.requestId);
|
|
210
|
+
if (redirectInfo) {
|
|
211
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
|
|
212
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, redirectInfo.event, redirectInfo.fetchRequestId);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
// We may have skipped response and loading events because we didn't have
|
|
216
|
+
// this ExtraInfo event yet. If so, emit those events now.
|
|
217
|
+
const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
|
|
218
|
+
if (queuedEvents) {
|
|
219
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetQueuedEventGroup(event.requestId);
|
|
220
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, queuedEvents.responseReceivedEvent, event);
|
|
221
|
+
if (queuedEvents.loadingFinishedEvent) {
|
|
222
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, queuedEvents.loadingFinishedEvent);
|
|
223
|
+
}
|
|
224
|
+
if (queuedEvents.loadingFailedEvent) {
|
|
225
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, queuedEvents.loadingFailedEvent);
|
|
226
|
+
}
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
// Wait until we get another event that can use this ExtraInfo event.
|
|
230
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
|
|
231
|
+
}, _NetworkManager_forgetRequest = function _NetworkManager_forgetRequest(request, events) {
|
|
232
|
+
const requestId = request._requestId;
|
|
233
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequest(requestId);
|
|
234
|
+
if (events) {
|
|
235
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forget(requestId);
|
|
236
|
+
}
|
|
237
|
+
}, _NetworkManager_onLoadingFinished = function _NetworkManager_onLoadingFinished(event) {
|
|
238
|
+
// If the response event for this request is still waiting on a
|
|
239
|
+
// corresponding ExtraInfo event, then wait to emit this event too.
|
|
240
|
+
const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
|
|
241
|
+
if (queuedEvents) {
|
|
242
|
+
queuedEvents.loadingFinishedEvent = event;
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
|
|
246
|
+
}
|
|
247
|
+
}, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
|
|
248
|
+
var _a;
|
|
249
|
+
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
250
|
+
// For certain requestIds we never receive requestWillBeSent event.
|
|
251
|
+
// @see https://crbug.com/750469
|
|
252
|
+
if (!request) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
// Under certain conditions we never get the Network.responseReceived
|
|
256
|
+
// event from protocol. @see https://crbug.com/883475
|
|
257
|
+
if (request.response()) {
|
|
258
|
+
(_a = request.response()) === null || _a === void 0 ? void 0 : _a._resolveBody(null);
|
|
259
|
+
}
|
|
260
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
261
|
+
}, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
|
|
262
|
+
// If the response event for this request is still waiting on a
|
|
263
|
+
// corresponding ExtraInfo event, then wait to emit this event too.
|
|
264
|
+
const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
|
|
265
|
+
if (queuedEvents) {
|
|
266
|
+
queuedEvents.loadingFailedEvent = event;
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
|
|
270
|
+
}
|
|
271
|
+
}, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
|
|
272
|
+
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
273
|
+
// For certain requestIds we never receive requestWillBeSent event.
|
|
274
|
+
// @see https://crbug.com/750469
|
|
275
|
+
if (!request) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
request._failureText = event.errorText;
|
|
279
|
+
const response = request.response();
|
|
280
|
+
if (response) {
|
|
281
|
+
response._resolveBody(null);
|
|
282
|
+
}
|
|
283
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
284
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import NodeWebSocket from 'ws';
|
|
2
|
+
import { ConnectionTransport } from './ConnectionTransport';
|
|
3
|
+
export declare class NodeWebSocketTransport implements ConnectionTransport {
|
|
4
|
+
#private;
|
|
5
|
+
static create(urlString: string): Promise<NodeWebSocketTransport>;
|
|
6
|
+
onmessage?: (message: NodeWebSocket.Data) => void;
|
|
7
|
+
onclose?: () => void;
|
|
8
|
+
constructor(ws: NodeWebSocket);
|
|
9
|
+
send(message: string): void;
|
|
10
|
+
close(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
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");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _NodeWebSocketTransport_ws;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.NodeWebSocketTransport = void 0;
|
|
19
|
+
/**
|
|
20
|
+
* Copyright 2018 Google Inc. All rights reserved.
|
|
21
|
+
*
|
|
22
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
23
|
+
* you may not use this file except in compliance with the License.
|
|
24
|
+
* You may obtain a copy of the License at
|
|
25
|
+
*
|
|
26
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
27
|
+
*
|
|
28
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
29
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
30
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
31
|
+
* See the License for the specific language governing permissions and
|
|
32
|
+
* limitations under the License.
|
|
33
|
+
*/
|
|
34
|
+
const dns_1 = require("dns");
|
|
35
|
+
const url_1 = require("url");
|
|
36
|
+
const ws_1 = __importDefault(require("ws"));
|
|
37
|
+
class NodeWebSocketTransport {
|
|
38
|
+
constructor(ws) {
|
|
39
|
+
_NodeWebSocketTransport_ws.set(this, void 0);
|
|
40
|
+
__classPrivateFieldSet(this, _NodeWebSocketTransport_ws, ws, "f");
|
|
41
|
+
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('message', (event) => {
|
|
42
|
+
if (this.onmessage) {
|
|
43
|
+
this.onmessage.call(null, event.data);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('close', () => {
|
|
47
|
+
if (this.onclose) {
|
|
48
|
+
this.onclose.call(null);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
// Silently ignore all errors - we don't know what to do with them.
|
|
52
|
+
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => undefined);
|
|
53
|
+
}
|
|
54
|
+
static async create(urlString) {
|
|
55
|
+
// TODO(jrandolf): Starting in Node 17, IPv6 is favoured over IPv4 due to a change
|
|
56
|
+
// in a default option:
|
|
57
|
+
// - https://github.com/nodejs/node/issues/40537,
|
|
58
|
+
// Due to this, for Firefox, we must parse and resolve the `localhost` hostname
|
|
59
|
+
// manually with the previous behavior according to:
|
|
60
|
+
// - https://nodejs.org/api/dns.html#dnslookuphostname-options-callback
|
|
61
|
+
// because of https://bugzilla.mozilla.org/show_bug.cgi?id=1769994.
|
|
62
|
+
const url = new url_1.URL(urlString);
|
|
63
|
+
if (url.hostname === 'localhost') {
|
|
64
|
+
const { address } = await dns_1.promises.lookup(url.hostname, { verbatim: false });
|
|
65
|
+
url.hostname = address;
|
|
66
|
+
}
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
const ws = new ws_1.default(url, [], {
|
|
69
|
+
followRedirects: true,
|
|
70
|
+
perMessageDeflate: false,
|
|
71
|
+
maxPayload: 256 * 1024 * 1024,
|
|
72
|
+
headers: {
|
|
73
|
+
'User-Agent': `Remotion CLI`,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
ws.addEventListener('open', () => {
|
|
77
|
+
return resolve(new NodeWebSocketTransport(ws));
|
|
78
|
+
});
|
|
79
|
+
ws.addEventListener('error', reject);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
send(message) {
|
|
83
|
+
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").send(message);
|
|
84
|
+
}
|
|
85
|
+
close() {
|
|
86
|
+
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").close();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.NodeWebSocketTransport = NodeWebSocketTransport;
|
|
90
|
+
_NodeWebSocketTransport_ws = new WeakMap();
|
|
@@ -0,0 +1,165 @@
|
|
|
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
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export interface PDFMargin {
|
|
20
|
+
top?: string | number;
|
|
21
|
+
bottom?: string | number;
|
|
22
|
+
left?: string | number;
|
|
23
|
+
right?: string | number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare type LowerCasePaperFormat = 'letter' | 'legal' | 'tabloid' | 'ledger' | 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6';
|
|
29
|
+
/**
|
|
30
|
+
* All the valid paper format types when printing a PDF.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
*
|
|
34
|
+
* The sizes of each format are as follows:
|
|
35
|
+
* - `Letter`: 8.5in x 11in
|
|
36
|
+
*
|
|
37
|
+
* - `Legal`: 8.5in x 14in
|
|
38
|
+
*
|
|
39
|
+
* - `Tabloid`: 11in x 17in
|
|
40
|
+
*
|
|
41
|
+
* - `Ledger`: 17in x 11in
|
|
42
|
+
*
|
|
43
|
+
* - `A0`: 33.1in x 46.8in
|
|
44
|
+
*
|
|
45
|
+
* - `A1`: 23.4in x 33.1in
|
|
46
|
+
*
|
|
47
|
+
* - `A2`: 16.54in x 23.4in
|
|
48
|
+
*
|
|
49
|
+
* - `A3`: 11.7in x 16.54in
|
|
50
|
+
*
|
|
51
|
+
* - `A4`: 8.27in x 11.7in
|
|
52
|
+
*
|
|
53
|
+
* - `A5`: 5.83in x 8.27in
|
|
54
|
+
*
|
|
55
|
+
* - `A6`: 4.13in x 5.83in
|
|
56
|
+
*
|
|
57
|
+
* @public
|
|
58
|
+
*/
|
|
59
|
+
export declare type PaperFormat = Uppercase<LowerCasePaperFormat> | Capitalize<LowerCasePaperFormat> | LowerCasePaperFormat;
|
|
60
|
+
/**
|
|
61
|
+
* Valid options to configure PDF generation via {@link Page.pdf}.
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
export interface PDFOptions {
|
|
65
|
+
/**
|
|
66
|
+
* Scales the rendering of the web page. Amount must be between `0.1` and `2`.
|
|
67
|
+
* @defaultValue 1
|
|
68
|
+
*/
|
|
69
|
+
scale?: number;
|
|
70
|
+
/**
|
|
71
|
+
* Whether to show the header and footer.
|
|
72
|
+
* @defaultValue false
|
|
73
|
+
*/
|
|
74
|
+
displayHeaderFooter?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* HTML template for the print header. Should be valid HTML with the following
|
|
77
|
+
* classes used to inject values into them:
|
|
78
|
+
* - `date` formatted print date
|
|
79
|
+
*
|
|
80
|
+
* - `title` document title
|
|
81
|
+
*
|
|
82
|
+
* - `url` document location
|
|
83
|
+
*
|
|
84
|
+
* - `pageNumber` current page number
|
|
85
|
+
*
|
|
86
|
+
* - `totalPages` total pages in the document
|
|
87
|
+
*/
|
|
88
|
+
headerTemplate?: string;
|
|
89
|
+
/**
|
|
90
|
+
* HTML template for the print footer. Has the same constraints and support
|
|
91
|
+
* for special classes as {@link PDFOptions.headerTemplate}.
|
|
92
|
+
*/
|
|
93
|
+
footerTemplate?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Set to `true` to print background graphics.
|
|
96
|
+
* @defaultValue false
|
|
97
|
+
*/
|
|
98
|
+
printBackground?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether to print in landscape orientation.
|
|
101
|
+
* @defaultValue = false
|
|
102
|
+
*/
|
|
103
|
+
landscape?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Paper ranges to print, e.g. `1-5, 8, 11-13`.
|
|
106
|
+
* @defaultValue The empty string, which means all pages are printed.
|
|
107
|
+
*/
|
|
108
|
+
pageRanges?: string;
|
|
109
|
+
/**
|
|
110
|
+
* @remarks
|
|
111
|
+
* If set, this takes priority over the `width` and `height` options.
|
|
112
|
+
* @defaultValue `letter`.
|
|
113
|
+
*/
|
|
114
|
+
format?: PaperFormat;
|
|
115
|
+
/**
|
|
116
|
+
* Sets the width of paper. You can pass in a number or a string with a unit.
|
|
117
|
+
*/
|
|
118
|
+
width?: string | number;
|
|
119
|
+
/**
|
|
120
|
+
* Sets the height of paper. You can pass in a number or a string with a unit.
|
|
121
|
+
*/
|
|
122
|
+
height?: string | number;
|
|
123
|
+
/**
|
|
124
|
+
* Give any CSS `@page` size declared in the page priority over what is
|
|
125
|
+
* declared in the `width` or `height` or `format` option.
|
|
126
|
+
* @defaultValue `false`, which will scale the content to fit the paper size.
|
|
127
|
+
*/
|
|
128
|
+
preferCSSPageSize?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Set the PDF margins.
|
|
131
|
+
* @defaultValue no margins are set.
|
|
132
|
+
*/
|
|
133
|
+
margin?: PDFMargin;
|
|
134
|
+
/**
|
|
135
|
+
* The path to save the file to.
|
|
136
|
+
*
|
|
137
|
+
* @remarks
|
|
138
|
+
*
|
|
139
|
+
* If the path is relative, it's resolved relative to the current working directory.
|
|
140
|
+
*
|
|
141
|
+
* @defaultValue the empty string, which means the PDF will not be written to disk.
|
|
142
|
+
*/
|
|
143
|
+
path?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Hides default white background and allows generating pdfs with transparency.
|
|
146
|
+
* @defaultValue false
|
|
147
|
+
*/
|
|
148
|
+
omitBackground?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Timeout in milliseconds
|
|
151
|
+
* @defaultValue 30000
|
|
152
|
+
*/
|
|
153
|
+
timeout?: number;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
export interface PaperFormatDimensions {
|
|
159
|
+
width: number;
|
|
160
|
+
height: number;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* @internal
|
|
164
|
+
*/
|
|
165
|
+
export declare const _paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>;
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports._paperFormats = void 0;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
exports._paperFormats = {
|
|
23
|
+
letter: { width: 8.5, height: 11 },
|
|
24
|
+
legal: { width: 8.5, height: 14 },
|
|
25
|
+
tabloid: { width: 11, height: 17 },
|
|
26
|
+
ledger: { width: 17, height: 11 },
|
|
27
|
+
a0: { width: 33.1, height: 46.8 },
|
|
28
|
+
a1: { width: 23.4, height: 33.1 },
|
|
29
|
+
a2: { width: 16.54, height: 23.4 },
|
|
30
|
+
a3: { width: 11.7, height: 16.54 },
|
|
31
|
+
a4: { width: 8.27, height: 11.7 },
|
|
32
|
+
a5: { width: 5.83, height: 8.27 },
|
|
33
|
+
a6: { width: 4.13, height: 5.83 },
|
|
34
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ConnectionTransport } from './ConnectionTransport';
|
|
3
|
+
export declare class PipeTransport implements ConnectionTransport {
|
|
4
|
+
#private;
|
|
5
|
+
onclose?: () => void;
|
|
6
|
+
onmessage?: (value: string) => void;
|
|
7
|
+
constructor(pipeWrite: NodeJS.WritableStream, pipeRead: NodeJS.ReadableStream);
|
|
8
|
+
send(message: string): void;
|
|
9
|
+
close(): void;
|
|
10
|
+
}
|