@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.
- package/dist/assets/calculate-asset-positions.d.ts +2 -2
- 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/convert-assets-to-file-urls.d.ts +2 -2
- 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 +1 -1
- package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
- 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 +1 -1
- package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
- package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
- package/dist/assets/flatten-volume-array.d.ts +1 -1
- 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 +1 -1
- package/dist/assets/get-audio-channels.d.ts.map +1 -0
- 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 +1 -1
- 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/BrowserConnector.d.ts +7 -0
- package/dist/browser/BrowserConnector.js +32 -0
- package/dist/browser/BrowserFetcher.d.ts +2 -2
- package/dist/browser/BrowserFetcher.js +48 -28
- package/dist/browser/Connection.d.ts +4 -4
- package/dist/browser/Connection.js +2 -2
- package/dist/browser/ConsoleMessage.d.ts +27 -3
- package/dist/browser/ConsoleMessage.js +32 -5
- package/dist/browser/Coverage.d.ts +180 -0
- package/dist/browser/Coverage.js +371 -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/ExecutionContext.d.ts +3 -1
- package/dist/browser/ExecutionContext.js +16 -0
- package/dist/browser/FileChooser.d.ts +56 -0
- package/dist/browser/FileChooser.js +86 -0
- package/dist/browser/FrameManager.d.ts +1 -1
- package/dist/browser/HTTPRequest.d.ts +16 -2
- package/dist/browser/HTTPRequest.js +48 -3
- package/dist/browser/HTTPResponse.d.ts +80 -2
- package/dist/browser/HTTPResponse.js +166 -3
- package/dist/browser/Input.d.ts +355 -0
- package/dist/browser/Input.js +592 -0
- package/dist/browser/JSHandle.d.ts +1 -1
- package/dist/browser/NetworkConditions.d.ts +26 -0
- package/dist/browser/NetworkConditions.js +33 -0
- package/dist/browser/NetworkEventManager.d.ts +1 -1
- package/dist/browser/NetworkManager.js +7 -3
- package/dist/browser/NodeWebSocketTransport.d.ts +2 -8
- package/dist/browser/NodeWebSocketTransport.js +1 -1
- 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/Puppeteer.d.ts +35 -0
- package/dist/browser/Puppeteer.js +17 -0
- package/dist/browser/PuppeteerNode.d.ts +4 -1
- package/dist/browser/PuppeteerNode.js +8 -0
- package/dist/browser/QueryHandler.d.ts +64 -0
- package/dist/browser/QueryHandler.js +183 -0
- package/dist/browser/SecurityDetails.d.ts +55 -0
- package/dist/browser/SecurityDetails.js +95 -0
- package/dist/browser/Target.d.ts +1 -1
- 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/create-browser-fetcher.js +14 -1
- package/dist/browser/dialog.d.ts +70 -0
- package/dist/browser/dialog.js +114 -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/{Page.d.ts → page.d.ts} +4 -0
- package/dist/browser/{Page.js → page.js} +9 -14
- package/dist/browser/pkg-dir.d.ts +3 -0
- package/dist/browser/pkg-dir.js +13 -0
- package/dist/browser/util.d.ts +1 -1
- package/dist/browser-log.d.ts +1 -1
- package/dist/browser-log.d.ts.map +1 -0
- package/dist/browser-log.js.map +1 -0
- package/dist/calculate-ffmpeg-filters.d.ts +1 -1
- package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
- package/dist/calculate-ffmpeg-filters.js.map +1 -0
- package/dist/can-use-parallel-encoding.d.ts +1 -1
- 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 +1 -1
- package/dist/combine-videos.d.ts.map +1 -0
- package/dist/combine-videos.js.map +1 -0
- package/dist/convert-to-pcm.d.ts +1 -1
- 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.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 +1 -1
- 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 +1 -1
- package/dist/cycle-browser-tabs.d.ts.map +1 -0
- package/dist/cycle-browser-tabs.js.map +1 -0
- package/dist/delay-render-embedded-stack.d.ts +1 -1
- 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 -1
- package/dist/ensure-presentation-timestamp.js +1 -1
- package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +3 -4
- 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/get-audio-codec-name.d.ts +1 -1
- 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 +3 -3
- 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 +1 -1
- 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 +4 -4
- package/dist/get-compositions.d.ts.map +1 -0
- 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 +1 -1
- 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-extension-from-codec.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.map +1 -0
- package/dist/get-prores-profile-name.d.ts +1 -1
- 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 +1 -1
- package/dist/image-format.d.ts.map +1 -0
- package/dist/image-format.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/is-serve-url.d.ts.map +1 -0
- package/dist/is-serve-url.js.map +1 -0
- package/dist/is-vp9-video.d.ts +1 -1
- package/dist/last-frame-from-video-cache.d.ts +2 -3
- 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.map +1 -0
- package/dist/merge-audio-track.d.ts +1 -1
- package/dist/merge-audio-track.d.ts.map +1 -0
- 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 +3 -3
- package/dist/open-browser.d.ts +1 -1
- package/dist/open-browser.d.ts.map +1 -0
- 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 +2 -2
- package/dist/prepare-server.d.ts.map +1 -0
- package/dist/prepare-server.js.map +1 -0
- package/dist/preprocess-audio-track.d.ts +2 -2
- package/dist/preprocess-audio-track.d.ts.map +1 -0
- package/dist/preprocess-audio-track.js.map +1 -0
- package/dist/prespawn-ffmpeg.d.ts +2 -2
- package/dist/prespawn-ffmpeg.d.ts.map +1 -0
- package/dist/prespawn-ffmpeg.js.map +1 -0
- package/dist/provide-screenshot.d.ts +2 -3
- package/dist/provide-screenshot.d.ts.map +1 -0
- package/dist/provide-screenshot.js.map +1 -0
- package/dist/puppeteer-evaluate.d.ts +1 -1
- package/dist/puppeteer-evaluate.d.ts.map +1 -0
- package/dist/puppeteer-evaluate.js +0 -1
- package/dist/puppeteer-evaluate.js.map +1 -0
- package/dist/puppeteer-screenshot.d.ts +1 -2
- package/dist/puppeteer-screenshot.d.ts.map +1 -0
- package/dist/puppeteer-screenshot.js.map +1 -0
- package/dist/render-frames.d.ts +8 -8
- package/dist/render-frames.d.ts.map +1 -0
- package/dist/render-frames.js.map +1 -0
- package/dist/render-media.d.ts +7 -7
- package/dist/render-media.d.ts.map +1 -0
- package/dist/render-media.js.map +1 -0
- package/dist/render-still.d.ts +6 -6
- package/dist/render-still.d.ts.map +1 -0
- 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 +2 -3
- 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 +2 -3
- package/dist/screenshot-task.d.ts.map +1 -0
- package/dist/screenshot-task.js.map +1 -0
- package/dist/seek-to-frame.d.ts +1 -1
- package/dist/seek-to-frame.d.ts.map +1 -0
- package/dist/seek-to-frame.js.map +1 -0
- package/dist/serve-handler/index.d.ts +1 -1
- package/dist/serve-handler/index.js +0 -1
- package/dist/serve-static.d.ts +2 -2
- package/dist/serve-static.d.ts.map +1 -0
- package/dist/serve-static.js.map +1 -0
- package/dist/set-props-and-env.d.ts +1 -1
- package/dist/set-props-and-env.d.ts.map +1 -0
- package/dist/set-props-and-env.js.map +1 -0
- package/dist/stitch-frames-to-video.d.ts +3 -3
- package/dist/stitch-frames-to-video.d.ts.map +1 -0
- package/dist/stitch-frames-to-video.js.map +1 -0
- package/dist/stringify-ffmpeg-filter.d.ts +1 -1
- package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
- package/dist/stringify-ffmpeg-filter.js.map +1 -0
- package/dist/symbolicate-stacktrace.d.ts +1 -1
- 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.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
- 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-output-filename.d.ts +1 -1
- 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 +4 -4
- package/dist/abort.d.ts +0 -7
- package/dist/abort.js +0 -20
- package/dist/cancel.d.ts +0 -7
- package/dist/cancel.js +0 -25
- package/dist/ensure-faststart.d.ts +0 -1
- package/dist/ensure-faststart.js +0 -14
- package/dist/faststart/atom.d.ts +0 -35
- package/dist/faststart/atom.js +0 -138
- package/dist/faststart/index.d.ts +0 -0
- package/dist/faststart/index.js +0 -1
- package/dist/faststart/options.d.ts +0 -6
- package/dist/faststart/options.js +0 -2
- package/dist/faststart/qt-faststart.d.ts +0 -18
- package/dist/faststart/qt-faststart.js +0 -66
- package/dist/faststart/update-chunk-offsets.d.ts +0 -10
- package/dist/faststart/update-chunk-offsets.js +0 -114
- package/dist/faststart/util.d.ts +0 -9
- package/dist/faststart/util.js +0 -34
- package/dist/offthread/index.d.ts +0 -0
- package/dist/offthread/index.js +0 -1
- package/dist/render-gif.d.ts +0 -2
- package/dist/render-gif.js +0 -242
- package/dist/should-use-vp9-decoder.d.ts +0 -0
- package/dist/should-use-vp9-decoder.js +0 -1
- package/dist/stitch-frames-to-gif.d.ts +0 -8
- package/dist/stitch-frames-to-gif.js +0 -128
- package/dist/validate-offthreadvideo-image-format.d.ts +0 -1
- package/dist/validate-offthreadvideo-image-format.js +0 -15
|
@@ -126,6 +126,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
126
126
|
...requestPausedEvent.request.headers,
|
|
127
127
|
};
|
|
128
128
|
}, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
|
|
129
|
+
let redirectChain = [];
|
|
129
130
|
if (event.redirectResponse) {
|
|
130
131
|
// We want to emit a response and requestfinished for the
|
|
131
132
|
// redirectResponse, but we can't do so unless we have a
|
|
@@ -152,12 +153,13 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
152
153
|
// requestWillBeSent event.
|
|
153
154
|
if (_request) {
|
|
154
155
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, _request, event.redirectResponse, redirectResponseExtraInfo);
|
|
156
|
+
redirectChain = _request._redirectChain;
|
|
155
157
|
}
|
|
156
158
|
}
|
|
157
159
|
const frame = event.frameId
|
|
158
160
|
? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
|
|
159
161
|
: null;
|
|
160
|
-
const request = new HTTPRequest_1.HTTPRequest(frame, event);
|
|
162
|
+
const request = new HTTPRequest_1.HTTPRequest(frame, event, redirectChain);
|
|
161
163
|
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
|
|
162
164
|
this.emit(exports.NetworkManagerEmittedEvents.Request, request);
|
|
163
165
|
}, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
|
|
@@ -166,8 +168,9 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
166
168
|
request._fromMemoryCache = true;
|
|
167
169
|
}
|
|
168
170
|
}, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
|
|
169
|
-
const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
|
|
171
|
+
const response = new HTTPResponse_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responsePayload, extraInfo);
|
|
170
172
|
request._response = response;
|
|
173
|
+
request._redirectChain.push(request);
|
|
171
174
|
response._resolveBody(new Error('Response body is unavailable for redirect responses'));
|
|
172
175
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
|
|
173
176
|
}, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
|
|
@@ -181,7 +184,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
181
184
|
console.log(new Error('Unexpected extraInfo events for request ' +
|
|
182
185
|
responseReceived.requestId));
|
|
183
186
|
}
|
|
184
|
-
const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
|
|
187
|
+
const response = new HTTPResponse_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responseReceived.response, extraInfo);
|
|
185
188
|
request._response = response;
|
|
186
189
|
}, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
|
|
187
190
|
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
@@ -272,6 +275,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
272
275
|
if (!request) {
|
|
273
276
|
return;
|
|
274
277
|
}
|
|
278
|
+
request._failureText = event.errorText;
|
|
275
279
|
const response = request.response();
|
|
276
280
|
if (response) {
|
|
277
281
|
response._resolveBody(null);
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import NodeWebSocket from 'ws';
|
|
2
|
-
|
|
3
|
-
send(message: string): void;
|
|
4
|
-
close(): void;
|
|
5
|
-
onmessage?: (message: string) => void;
|
|
6
|
-
onclose?: () => void;
|
|
7
|
-
}
|
|
2
|
+
import { ConnectionTransport } from './ConnectionTransport';
|
|
8
3
|
export declare class NodeWebSocketTransport implements ConnectionTransport {
|
|
9
4
|
#private;
|
|
10
5
|
static create(urlString: string): Promise<NodeWebSocketTransport>;
|
|
11
|
-
onmessage?: (message:
|
|
6
|
+
onmessage?: (message: NodeWebSocket.Data) => void;
|
|
12
7
|
onclose?: () => void;
|
|
13
8
|
constructor(ws: NodeWebSocket);
|
|
14
9
|
send(message: string): void;
|
|
15
10
|
close(): void;
|
|
16
11
|
}
|
|
17
|
-
export {};
|
|
@@ -52,7 +52,7 @@ class NodeWebSocketTransport {
|
|
|
52
52
|
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => undefined);
|
|
53
53
|
}
|
|
54
54
|
static async create(urlString) {
|
|
55
|
-
// Starting in Node 17, IPv6 is favoured over IPv4 due to a change
|
|
55
|
+
// TODO(jrandolf): Starting in Node 17, IPv6 is favoured over IPv4 due to a change
|
|
56
56
|
// in a default option:
|
|
57
57
|
// - https://github.com/nodejs/node/issues/40537,
|
|
58
58
|
// Due to this, for Firefox, we must parse and resolve the `localhost` hostname
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 _PipeTransport_instances, _PipeTransport_pipeWrite, _PipeTransport_eventListeners, _PipeTransport_isClosed, _PipeTransport_pendingMessage, _PipeTransport_dispatch;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PipeTransport = void 0;
|
|
16
|
+
/**
|
|
17
|
+
* Copyright 2018 Google Inc. All rights reserved.
|
|
18
|
+
*
|
|
19
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
20
|
+
* you may not use this file except in compliance with the License.
|
|
21
|
+
* You may obtain a copy of the License at
|
|
22
|
+
*
|
|
23
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
24
|
+
*
|
|
25
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
26
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
27
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
28
|
+
* See the License for the specific language governing permissions and
|
|
29
|
+
* limitations under the License.
|
|
30
|
+
*/
|
|
31
|
+
const assert_1 = require("./assert");
|
|
32
|
+
const util_1 = require("./util");
|
|
33
|
+
class PipeTransport {
|
|
34
|
+
constructor(pipeWrite, pipeRead) {
|
|
35
|
+
_PipeTransport_instances.add(this);
|
|
36
|
+
_PipeTransport_pipeWrite.set(this, void 0);
|
|
37
|
+
_PipeTransport_eventListeners.set(this, void 0);
|
|
38
|
+
_PipeTransport_isClosed.set(this, false);
|
|
39
|
+
_PipeTransport_pendingMessage.set(this, '');
|
|
40
|
+
__classPrivateFieldSet(this, _PipeTransport_pipeWrite, pipeWrite, "f");
|
|
41
|
+
__classPrivateFieldSet(this, _PipeTransport_eventListeners, [
|
|
42
|
+
(0, util_1.addEventListener)(pipeRead, 'data', (buffer) => {
|
|
43
|
+
return __classPrivateFieldGet(this, _PipeTransport_instances, "m", _PipeTransport_dispatch).call(this, buffer);
|
|
44
|
+
}),
|
|
45
|
+
(0, util_1.addEventListener)(pipeRead, 'close', () => {
|
|
46
|
+
if (this.onclose) {
|
|
47
|
+
this.onclose.call(null);
|
|
48
|
+
}
|
|
49
|
+
}),
|
|
50
|
+
(0, util_1.addEventListener)(pipeRead, 'error', util_1.debugError),
|
|
51
|
+
(0, util_1.addEventListener)(pipeWrite, 'error', util_1.debugError),
|
|
52
|
+
], "f");
|
|
53
|
+
}
|
|
54
|
+
send(message) {
|
|
55
|
+
(0, assert_1.assert)(!__classPrivateFieldGet(this, _PipeTransport_isClosed, "f"), '`PipeTransport` is closed.');
|
|
56
|
+
__classPrivateFieldGet(this, _PipeTransport_pipeWrite, "f").write(message);
|
|
57
|
+
__classPrivateFieldGet(this, _PipeTransport_pipeWrite, "f").write('\0');
|
|
58
|
+
}
|
|
59
|
+
close() {
|
|
60
|
+
__classPrivateFieldSet(this, _PipeTransport_isClosed, true, "f");
|
|
61
|
+
(0, util_1.removeEventListeners)(__classPrivateFieldGet(this, _PipeTransport_eventListeners, "f"));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.PipeTransport = PipeTransport;
|
|
65
|
+
_PipeTransport_pipeWrite = new WeakMap(), _PipeTransport_eventListeners = new WeakMap(), _PipeTransport_isClosed = new WeakMap(), _PipeTransport_pendingMessage = new WeakMap(), _PipeTransport_instances = new WeakSet(), _PipeTransport_dispatch = function _PipeTransport_dispatch(buffer) {
|
|
66
|
+
(0, assert_1.assert)(!__classPrivateFieldGet(this, _PipeTransport_isClosed, "f"), '`PipeTransport` is closed.');
|
|
67
|
+
let end = buffer.indexOf('\0');
|
|
68
|
+
if (end === -1) {
|
|
69
|
+
__classPrivateFieldSet(this, _PipeTransport_pendingMessage, __classPrivateFieldGet(this, _PipeTransport_pendingMessage, "f") + buffer.toString(), "f");
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const message = __classPrivateFieldGet(this, _PipeTransport_pendingMessage, "f") + buffer.toString(undefined, 0, end);
|
|
73
|
+
if (this.onmessage) {
|
|
74
|
+
this.onmessage.call(null, message);
|
|
75
|
+
}
|
|
76
|
+
let start = end + 1;
|
|
77
|
+
end = buffer.indexOf('\0', start);
|
|
78
|
+
while (end !== -1) {
|
|
79
|
+
if (this.onmessage) {
|
|
80
|
+
this.onmessage.call(null, buffer.toString(undefined, start, end));
|
|
81
|
+
}
|
|
82
|
+
start = end + 1;
|
|
83
|
+
end = buffer.indexOf('\0', start);
|
|
84
|
+
}
|
|
85
|
+
__classPrivateFieldSet(this, _PipeTransport_pendingMessage, buffer.toString(undefined, start), "f");
|
|
86
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2017 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 { Browser } from './Browser';
|
|
17
|
+
import { BrowserConnectOptions } from './BrowserConnector';
|
|
18
|
+
import { ConnectionTransport } from './ConnectionTransport';
|
|
19
|
+
import { Product } from './Product';
|
|
20
|
+
/**
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export interface ConnectOptions extends BrowserConnectOptions {
|
|
24
|
+
browserWSEndpoint?: string;
|
|
25
|
+
transport?: ConnectionTransport;
|
|
26
|
+
product?: Product;
|
|
27
|
+
}
|
|
28
|
+
export declare class Puppeteer {
|
|
29
|
+
protected _changedProduct: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
constructor();
|
|
34
|
+
connect(options: ConnectOptions): Promise<Browser>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Puppeteer = void 0;
|
|
4
|
+
const BrowserConnector_1 = require("./BrowserConnector");
|
|
5
|
+
class Puppeteer {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
constructor() {
|
|
10
|
+
this._changedProduct = false;
|
|
11
|
+
this.connect = this.connect.bind(this);
|
|
12
|
+
}
|
|
13
|
+
connect(options) {
|
|
14
|
+
return (0, BrowserConnector_1._connectToBrowser)(options);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.Puppeteer = Puppeteer;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { Browser } from './Browser';
|
|
17
|
-
import { BrowserConnectOptions } from './BrowserConnector';
|
|
17
|
+
import { BrowserConnectOptions, ConnectToBrowserOptions } from './BrowserConnector';
|
|
18
18
|
import { BrowserFetcher, BrowserFetcherOptions } from './BrowserFetcher';
|
|
19
19
|
import { ProductLauncher } from './Launcher';
|
|
20
20
|
import { BrowserLaunchArgumentOptions, LaunchOptions } from './LaunchOptions';
|
|
@@ -30,6 +30,9 @@ export declare class PuppeteerNode {
|
|
|
30
30
|
preferredRevision: string;
|
|
31
31
|
productName?: Product;
|
|
32
32
|
});
|
|
33
|
+
connect(options: ConnectToBrowserOptions & {
|
|
34
|
+
product: Product;
|
|
35
|
+
}): Promise<Browser>;
|
|
33
36
|
get _productName(): Product | undefined;
|
|
34
37
|
set _productName(name: Product | undefined);
|
|
35
38
|
/**
|
|
@@ -31,6 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
var _PuppeteerNode_lazyLauncher, _PuppeteerNode_productName;
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
33
|
exports.PuppeteerNode = void 0;
|
|
34
|
+
const BrowserConnector_1 = require("./BrowserConnector");
|
|
34
35
|
const BrowserFetcher_1 = require("./BrowserFetcher");
|
|
35
36
|
const Launcher_1 = __importDefault(require("./Launcher"));
|
|
36
37
|
const revisions_1 = require("./revisions");
|
|
@@ -41,10 +42,17 @@ class PuppeteerNode {
|
|
|
41
42
|
const { preferredRevision, productName } = settings;
|
|
42
43
|
__classPrivateFieldSet(this, _PuppeteerNode_productName, productName, "f");
|
|
43
44
|
this._preferredRevision = preferredRevision;
|
|
45
|
+
this.connect = this.connect.bind(this);
|
|
44
46
|
this.launch = this.launch.bind(this);
|
|
45
47
|
this.executablePath = this.executablePath.bind(this);
|
|
46
48
|
this.createBrowserFetcher = this.createBrowserFetcher.bind(this);
|
|
47
49
|
}
|
|
50
|
+
connect(options) {
|
|
51
|
+
if (options.product) {
|
|
52
|
+
this._productName = options.product;
|
|
53
|
+
}
|
|
54
|
+
return (0, BrowserConnector_1._connectToBrowser)(options);
|
|
55
|
+
}
|
|
48
56
|
get _productName() {
|
|
49
57
|
return __classPrivateFieldGet(this, _PuppeteerNode_productName, "f");
|
|
50
58
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
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 { DOMWorld, WaitForSelectorOptions } from './DOMWorld';
|
|
17
|
+
import { ElementHandle, JSHandle } from './JSHandle';
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export interface InternalQueryHandler {
|
|
22
|
+
queryOne?: (element: ElementHandle, selector: string) => Promise<ElementHandle | null>;
|
|
23
|
+
waitFor?: (domWorld: DOMWorld, selector: string, options: WaitForSelectorOptions) => Promise<ElementHandle | null>;
|
|
24
|
+
queryAll?: (element: ElementHandle, selector: string) => Promise<ElementHandle[]>;
|
|
25
|
+
queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Contains two functions `queryOne` and `queryAll` that can
|
|
29
|
+
* be {@link Puppeteer.registerCustomQueryHandler | registered}
|
|
30
|
+
* as alternative querying strategies. The functions `queryOne` and `queryAll`
|
|
31
|
+
* are executed in the page context. `queryOne` should take an `Element` and a
|
|
32
|
+
* selector string as argument and return a single `Element` or `null` if no
|
|
33
|
+
* element is found. `queryAll` takes the same arguments but should instead
|
|
34
|
+
* return a `NodeListOf<Element>` or `Array<Element>` with all the elements
|
|
35
|
+
* that match the given query selector.
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export interface CustomQueryHandler {
|
|
39
|
+
queryOne?: (element: Element | Document, selector: string) => Element | null;
|
|
40
|
+
queryAll?: (element: Element | Document, selector: string) => Element[] | NodeListOf<Element>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
export declare function _registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void;
|
|
46
|
+
/**
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export declare function _unregisterCustomQueryHandler(name: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export declare function _customQueryHandlerNames(): string[];
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare function _clearCustomQueryHandlers(): void;
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export declare function _getQueryHandlerAndSelector(selector: string): {
|
|
62
|
+
updatedSelector: string;
|
|
63
|
+
queryHandler: InternalQueryHandler;
|
|
64
|
+
};
|