@remotion/renderer 3.0.31 → 3.1.2
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/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.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.map +1 -0
- 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.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.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/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/FileChooser.d.ts +56 -0
- package/dist/browser/FileChooser.js +86 -0
- package/dist/browser/Input.d.ts +355 -0
- package/dist/browser/Input.js +592 -0
- package/dist/browser/NetworkConditions.d.ts +26 -0
- package/dist/browser/NetworkConditions.js +33 -0
- package/dist/browser/NetworkManager.js +1 -5
- 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/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/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/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} +0 -0
- package/dist/browser/{Page.js → page.js} +0 -0
- package/dist/browser/pkg-dir.d.ts +3 -0
- package/dist/browser/pkg-dir.js +13 -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.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 -2
- package/dist/combine-videos.js.map +1 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -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.map +1 -0
- 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 +1 -1
- package/dist/ensure-frames-in-order.d.ts.map +1 -0
- package/dist/ensure-frames-in-order.js +3 -2
- 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 +9 -10
- 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 +0 -1
- package/dist/extract-frame-from-video.js +4 -2
- 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.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 +3 -0
- package/dist/get-codec-name.js.map +1 -0
- 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 -2
- package/dist/get-duration-from-frame-range.d.ts.map +1 -0
- package/dist/get-duration-from-frame-range.js +13 -9
- 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 +5 -0
- package/dist/get-extension-from-codec.js.map +1 -0
- package/dist/get-format-for-codec.d.ts +2 -0
- package/dist/get-format-for-codec.js +34 -0
- package/dist/get-frame-padded-index.d.ts +14 -0
- package/dist/get-frame-padded-index.js +33 -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.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/guess-extension-for-media.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 +4 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -1
- 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/last-frame-from-video-cache.d.ts +0 -1
- 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.map +1 -0
- package/dist/merge-audio-track.js.map +1 -0
- package/dist/mime-types.d.ts +1 -1
- package/dist/mime-types.js +2 -2
- package/dist/normalize-serve-url.d.ts.map +1 -0
- package/dist/normalize-serve-url.js.map +1 -0
- 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.map +1 -0
- package/dist/prepare-server.js.map +1 -0
- 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.map +1 -0
- package/dist/prespawn-ffmpeg.js +2 -2
- 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.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.map +1 -0
- package/dist/render-frames.d.ts +1 -0
- package/dist/render-frames.d.ts.map +1 -0
- package/dist/render-frames.js +29 -25
- package/dist/render-frames.js.map +1 -0
- package/dist/render-media.d.ts +2 -1
- package/dist/render-media.d.ts.map +1 -0
- package/dist/render-media.js +11 -4
- package/dist/render-media.js.map +1 -0
- package/dist/render-still.d.ts.map +1 -0
- package/dist/render-still.js +1 -1
- 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-static.d.ts.map +1 -0
- package/dist/serve-static.js.map +1 -0
- 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 +1 -0
- package/dist/stitch-frames-to-video.d.ts.map +1 -0
- package/dist/stitch-frames-to-video.js +32 -22
- 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.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.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-output-filename.js +5 -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 +8 -10
- package/tsconfig.json +2 -1
- package/vitest.config.ts +8 -0
- package/dist/abort.d.ts +0 -7
- package/dist/abort.js +0 -20
- package/dist/browser/ws.d.ts +0 -287
- package/dist/browser/ws.js +0 -21
- 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
- package/dist/ws/buffer-util.d.ts +0 -10
- package/dist/ws/buffer-util.js +0 -123
- package/dist/ws/constants.d.ts +0 -10
- package/dist/ws/constants.js +0 -13
- package/dist/ws/event-target.d.ts +0 -155
- package/dist/ws/event-target.js +0 -203
- package/dist/ws/extension.d.ts +0 -16
- package/dist/ws/extension.js +0 -232
- package/dist/ws/limiter.d.ts +0 -34
- package/dist/ws/limiter.js +0 -41
- package/dist/ws/permessage_deflate.d.ts +0 -152
- package/dist/ws/permessage_deflate.js +0 -409
package/dist/ws/extension.js
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.format = exports.parse = void 0;
|
|
4
|
-
const { tokenChars } = require('./validation');
|
|
5
|
-
/**
|
|
6
|
-
* Adds an offer to the map of extension offers or a parameter to the map of
|
|
7
|
-
* parameters.
|
|
8
|
-
*
|
|
9
|
-
* @param {Object} dest The map of extension offers or parameters
|
|
10
|
-
* @param {String} name The extension or parameter name
|
|
11
|
-
* @param {(Object|Boolean|String)} elem The extension parameters or the
|
|
12
|
-
* parameter value
|
|
13
|
-
* @private
|
|
14
|
-
*/
|
|
15
|
-
function push(dest, name, elem) {
|
|
16
|
-
if (dest[name] === undefined)
|
|
17
|
-
dest[name] = [elem];
|
|
18
|
-
else
|
|
19
|
-
dest[name].push(elem);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Parses the `Sec-WebSocket-Extensions` header into an object.
|
|
23
|
-
*
|
|
24
|
-
* @param {String} header The field value of the header
|
|
25
|
-
* @return {Object} The parsed object
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
function parse(header) {
|
|
29
|
-
const offers = Object.create(null);
|
|
30
|
-
let params = Object.create(null);
|
|
31
|
-
let mustUnescape = false;
|
|
32
|
-
let isEscaping = false;
|
|
33
|
-
let inQuotes = false;
|
|
34
|
-
let extensionName;
|
|
35
|
-
let paramName;
|
|
36
|
-
let start = -1;
|
|
37
|
-
let code = -1;
|
|
38
|
-
let end = -1;
|
|
39
|
-
let i = 0;
|
|
40
|
-
for (; i < header.length; i++) {
|
|
41
|
-
code = header.charCodeAt(i);
|
|
42
|
-
if (extensionName === undefined) {
|
|
43
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
44
|
-
if (start === -1)
|
|
45
|
-
start = i;
|
|
46
|
-
}
|
|
47
|
-
else if (i !== 0 &&
|
|
48
|
-
(code === 0x20 /* ' ' */ || code === 0x09) /* '\t' */) {
|
|
49
|
-
if (end === -1 && start !== -1)
|
|
50
|
-
end = i;
|
|
51
|
-
}
|
|
52
|
-
else if (code === 0x3b /* ';' */ || code === 0x2c /* ',' */) {
|
|
53
|
-
if (start === -1) {
|
|
54
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
55
|
-
}
|
|
56
|
-
if (end === -1)
|
|
57
|
-
end = i;
|
|
58
|
-
const name = header.slice(start, end);
|
|
59
|
-
if (code === 0x2c) {
|
|
60
|
-
push(offers, name, params);
|
|
61
|
-
params = Object.create(null);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
extensionName = name;
|
|
65
|
-
}
|
|
66
|
-
// eslint-disable-next-line no-multi-assign
|
|
67
|
-
start = end = -1;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else if (paramName === undefined) {
|
|
74
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
75
|
-
if (start === -1)
|
|
76
|
-
start = i;
|
|
77
|
-
}
|
|
78
|
-
else if (code === 0x20 || code === 0x09) {
|
|
79
|
-
if (end === -1 && start !== -1)
|
|
80
|
-
end = i;
|
|
81
|
-
}
|
|
82
|
-
else if (code === 0x3b || code === 0x2c) {
|
|
83
|
-
if (start === -1) {
|
|
84
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
85
|
-
}
|
|
86
|
-
if (end === -1)
|
|
87
|
-
end = i;
|
|
88
|
-
push(params, header.slice(start, end), true);
|
|
89
|
-
if (code === 0x2c) {
|
|
90
|
-
push(offers, extensionName, params);
|
|
91
|
-
params = Object.create(null);
|
|
92
|
-
extensionName = undefined;
|
|
93
|
-
}
|
|
94
|
-
// eslint-disable-next-line no-multi-assign
|
|
95
|
-
start = end = -1;
|
|
96
|
-
}
|
|
97
|
-
else if (code === 0x3d /* '=' */ && start !== -1 && end === -1) {
|
|
98
|
-
paramName = header.slice(start, i);
|
|
99
|
-
// eslint-disable-next-line no-multi-assign
|
|
100
|
-
start = end = -1;
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
//
|
|
108
|
-
// The value of a quoted-string after unescaping must conform to the
|
|
109
|
-
// token ABNF, so only token characters are valid.
|
|
110
|
-
// Ref: https://tools.ietf.org/html/rfc6455#section-9.1
|
|
111
|
-
//
|
|
112
|
-
// eslint-disable-next-line no-lonely-if
|
|
113
|
-
if (isEscaping) {
|
|
114
|
-
if (tokenChars[code] !== 1) {
|
|
115
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
116
|
-
}
|
|
117
|
-
if (start === -1)
|
|
118
|
-
start = i;
|
|
119
|
-
else if (!mustUnescape)
|
|
120
|
-
mustUnescape = true;
|
|
121
|
-
isEscaping = false;
|
|
122
|
-
}
|
|
123
|
-
else if (inQuotes) {
|
|
124
|
-
if (tokenChars[code] === 1) {
|
|
125
|
-
if (start === -1)
|
|
126
|
-
start = i;
|
|
127
|
-
}
|
|
128
|
-
else if (code === 0x22 /* '"' */ && start !== -1) {
|
|
129
|
-
inQuotes = false;
|
|
130
|
-
end = i;
|
|
131
|
-
}
|
|
132
|
-
else if (code === 0x5c /* '\' */) {
|
|
133
|
-
isEscaping = true;
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {
|
|
140
|
-
inQuotes = true;
|
|
141
|
-
}
|
|
142
|
-
else if (end === -1 && tokenChars[code] === 1) {
|
|
143
|
-
if (start === -1)
|
|
144
|
-
start = i;
|
|
145
|
-
}
|
|
146
|
-
else if (start !== -1 && (code === 0x20 || code === 0x09)) {
|
|
147
|
-
if (end === -1)
|
|
148
|
-
end = i;
|
|
149
|
-
}
|
|
150
|
-
else if (code === 0x3b || code === 0x2c) {
|
|
151
|
-
if (start === -1) {
|
|
152
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
153
|
-
}
|
|
154
|
-
if (end === -1)
|
|
155
|
-
end = i;
|
|
156
|
-
let value = header.slice(start, end);
|
|
157
|
-
if (mustUnescape) {
|
|
158
|
-
value = value.replace(/\\/g, '');
|
|
159
|
-
mustUnescape = false;
|
|
160
|
-
}
|
|
161
|
-
push(params, paramName, value);
|
|
162
|
-
if (code === 0x2c) {
|
|
163
|
-
push(offers, extensionName, params);
|
|
164
|
-
params = Object.create(null);
|
|
165
|
-
extensionName = undefined;
|
|
166
|
-
}
|
|
167
|
-
paramName = undefined;
|
|
168
|
-
// eslint-disable-next-line no-multi-assign
|
|
169
|
-
start = end = -1;
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
if (start === -1 || inQuotes || code === 0x20 || code === 0x09) {
|
|
177
|
-
throw new SyntaxError('Unexpected end of input');
|
|
178
|
-
}
|
|
179
|
-
if (end === -1)
|
|
180
|
-
end = i;
|
|
181
|
-
const token = header.slice(start, end);
|
|
182
|
-
if (extensionName === undefined) {
|
|
183
|
-
push(offers, token, params);
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
if (paramName === undefined) {
|
|
187
|
-
push(params, token, true);
|
|
188
|
-
}
|
|
189
|
-
else if (mustUnescape) {
|
|
190
|
-
push(params, paramName, token.replace(/\\/g, ''));
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
push(params, paramName, token);
|
|
194
|
-
}
|
|
195
|
-
push(offers, extensionName, params);
|
|
196
|
-
}
|
|
197
|
-
return offers;
|
|
198
|
-
}
|
|
199
|
-
exports.parse = parse;
|
|
200
|
-
/**
|
|
201
|
-
* Builds the `Sec-WebSocket-Extensions` header field value.
|
|
202
|
-
*
|
|
203
|
-
* @param {Object} extensions The map of extensions and parameters to format
|
|
204
|
-
* @return {String} A string representing the given object
|
|
205
|
-
* @public
|
|
206
|
-
*/
|
|
207
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
208
|
-
function format(extensions) {
|
|
209
|
-
return Object.keys(extensions)
|
|
210
|
-
.map((extension) => {
|
|
211
|
-
let configurations = extensions[extension];
|
|
212
|
-
if (!Array.isArray(configurations))
|
|
213
|
-
configurations = [configurations];
|
|
214
|
-
return (configurations
|
|
215
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
216
|
-
.map((params) => {
|
|
217
|
-
return [extension]
|
|
218
|
-
.concat(Object.keys(params).map((k) => {
|
|
219
|
-
let values = params[k];
|
|
220
|
-
if (!Array.isArray(values))
|
|
221
|
-
values = [values];
|
|
222
|
-
return values
|
|
223
|
-
.map((v) => (v === true ? k : `${k}=${v}`))
|
|
224
|
-
.join('; ');
|
|
225
|
-
}))
|
|
226
|
-
.join('; ');
|
|
227
|
-
})
|
|
228
|
-
.join(', '));
|
|
229
|
-
})
|
|
230
|
-
.join(', ');
|
|
231
|
-
}
|
|
232
|
-
exports.format = format;
|
package/dist/ws/limiter.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
declare const kDone: unique symbol;
|
|
2
|
-
declare const kRun: unique symbol;
|
|
3
|
-
/**
|
|
4
|
-
* A very simple job queue with adjustable concurrency. Adapted from
|
|
5
|
-
* https://github.com/STRML/async-limiter
|
|
6
|
-
*/
|
|
7
|
-
declare type Job = (fn: () => void) => void;
|
|
8
|
-
export declare class Limiter {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new `Limiter`.
|
|
11
|
-
*
|
|
12
|
-
* @param {Number} [concurrency=Infinity] The maximum number of jobs allowed
|
|
13
|
-
* to run concurrently
|
|
14
|
-
*/
|
|
15
|
-
[kDone]: () => void;
|
|
16
|
-
pending: number;
|
|
17
|
-
concurrency: number;
|
|
18
|
-
jobs: Job[];
|
|
19
|
-
constructor(concurrency: number);
|
|
20
|
-
/**
|
|
21
|
-
* Adds a job to the queue.
|
|
22
|
-
*
|
|
23
|
-
* @param {Function} job The job to run
|
|
24
|
-
* @public
|
|
25
|
-
*/
|
|
26
|
-
add(job: Job): void;
|
|
27
|
-
/**
|
|
28
|
-
* Removes a job from the queue and runs it if possible.
|
|
29
|
-
*
|
|
30
|
-
* @private
|
|
31
|
-
*/
|
|
32
|
-
[kRun](): void;
|
|
33
|
-
}
|
|
34
|
-
export {};
|
package/dist/ws/limiter.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Limiter = void 0;
|
|
4
|
-
const kDone = Symbol('kDone');
|
|
5
|
-
const kRun = Symbol('kRun');
|
|
6
|
-
class Limiter {
|
|
7
|
-
constructor(concurrency) {
|
|
8
|
-
this[kDone] = () => {
|
|
9
|
-
this.pending--;
|
|
10
|
-
this[kRun]();
|
|
11
|
-
};
|
|
12
|
-
this.concurrency = concurrency || Infinity;
|
|
13
|
-
this.jobs = [];
|
|
14
|
-
this.pending = 0;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Adds a job to the queue.
|
|
18
|
-
*
|
|
19
|
-
* @param {Function} job The job to run
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
add(job) {
|
|
23
|
-
this.jobs.push(job);
|
|
24
|
-
this[kRun]();
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Removes a job from the queue and runs it if possible.
|
|
28
|
-
*
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
[kRun]() {
|
|
32
|
-
if (this.pending === this.concurrency)
|
|
33
|
-
return;
|
|
34
|
-
if (this.jobs.length) {
|
|
35
|
-
const job = this.jobs.shift();
|
|
36
|
-
this.pending++;
|
|
37
|
-
job === null || job === void 0 ? void 0 : job(this[kDone]);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.Limiter = Limiter;
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
import zlib from 'zlib';
|
|
4
|
-
declare type Options = {
|
|
5
|
-
clientMaxWindowBits: number | boolean;
|
|
6
|
-
clientNoContextTakeover: boolean;
|
|
7
|
-
concurrencyLimit: number;
|
|
8
|
-
serverMaxWindowBits: boolean | number;
|
|
9
|
-
serverNoContextTakeover: boolean;
|
|
10
|
-
threshold: number;
|
|
11
|
-
zlibDeflateOptions: object;
|
|
12
|
-
zlibInflateOptions: object;
|
|
13
|
-
};
|
|
14
|
-
declare type OfferParams = {
|
|
15
|
-
server_no_context_takeover?: true;
|
|
16
|
-
client_no_context_takeover?: true;
|
|
17
|
-
server_max_window_bits?: number | boolean;
|
|
18
|
-
client_max_window_bits?: number | boolean;
|
|
19
|
-
};
|
|
20
|
-
declare type Callback = (err: Error | null, result: unknown) => void;
|
|
21
|
-
/**
|
|
22
|
-
* permessage-deflate implementation.
|
|
23
|
-
*/
|
|
24
|
-
export declare class PerMessageDeflate {
|
|
25
|
-
/**
|
|
26
|
-
* Creates a PerMessageDeflate instance.
|
|
27
|
-
*
|
|
28
|
-
* @param {Object} [options] Configuration options
|
|
29
|
-
* @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support
|
|
30
|
-
* for, or request, a custom client window size
|
|
31
|
-
* @param {Boolean} [options.clientNoContextTakeover=false] Advertise/
|
|
32
|
-
* acknowledge disabling of client context takeover
|
|
33
|
-
* @param {Number} [options.concurrencyLimit=10] The number of concurrent
|
|
34
|
-
* calls to zlib
|
|
35
|
-
* @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the
|
|
36
|
-
* use of a custom server window size
|
|
37
|
-
* @param {Boolean} [options.serverNoContextTakeover=false] Request/accept
|
|
38
|
-
* disabling of server context takeover
|
|
39
|
-
* @param {Number} [options.threshold=1024] Size (in bytes) below which
|
|
40
|
-
* messages should not be compressed if context takeover is disabled
|
|
41
|
-
* @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on
|
|
42
|
-
* deflate
|
|
43
|
-
* @param {Object} [options.zlibInflateOptions] Options to pass to zlib on
|
|
44
|
-
* inflate
|
|
45
|
-
* @param {Boolean} [isServer=false] Create the instance in either server or
|
|
46
|
-
* client mode
|
|
47
|
-
* @param {Number} [maxPayload=0] The maximum allowed message length
|
|
48
|
-
*/
|
|
49
|
-
_maxPayload: number;
|
|
50
|
-
_options: Options;
|
|
51
|
-
_threshold: number;
|
|
52
|
-
_isServer: boolean;
|
|
53
|
-
_deflate: zlib.DeflateRaw | null;
|
|
54
|
-
_inflate: null;
|
|
55
|
-
params: null;
|
|
56
|
-
constructor(options: {
|
|
57
|
-
clientMaxWindowBits: number | boolean;
|
|
58
|
-
clientNoContextTakeover: boolean;
|
|
59
|
-
concurrencyLimit: number;
|
|
60
|
-
serverMaxWindowBits: boolean | number;
|
|
61
|
-
serverNoContextTakeover: boolean;
|
|
62
|
-
threshold: number;
|
|
63
|
-
zlibDeflateOptions: object;
|
|
64
|
-
zlibInflateOptions: object;
|
|
65
|
-
}, isServer: boolean, maxPayload: number);
|
|
66
|
-
/**
|
|
67
|
-
* @type {String}
|
|
68
|
-
*/
|
|
69
|
-
static get extensionName(): string;
|
|
70
|
-
/**
|
|
71
|
-
* Create an extension negotiation offer.
|
|
72
|
-
*
|
|
73
|
-
* @return {Object} Extension parameters
|
|
74
|
-
* @public
|
|
75
|
-
*/
|
|
76
|
-
offer(): OfferParams;
|
|
77
|
-
/**
|
|
78
|
-
* Accept an extension negotiation offer/response.
|
|
79
|
-
*
|
|
80
|
-
* @param {Array} configurations The extension negotiation offers/reponse
|
|
81
|
-
* @return {Object} Accepted configuration
|
|
82
|
-
* @public
|
|
83
|
-
*/
|
|
84
|
-
accept(configurations: unknown[]): null;
|
|
85
|
-
/**
|
|
86
|
-
* Releases all resources used by the extension.
|
|
87
|
-
*
|
|
88
|
-
* @public
|
|
89
|
-
*/
|
|
90
|
-
cleanup(): void;
|
|
91
|
-
/**
|
|
92
|
-
* Accept an extension negotiation offer.
|
|
93
|
-
*
|
|
94
|
-
* @param {Array} offers The extension negotiation offers
|
|
95
|
-
* @return {Object} Accepted configuration
|
|
96
|
-
* @private
|
|
97
|
-
*/
|
|
98
|
-
acceptAsServer(offers: any): any;
|
|
99
|
-
/**
|
|
100
|
-
* Accept the extension negotiation response.
|
|
101
|
-
*
|
|
102
|
-
* @param {Array} response The extension negotiation response
|
|
103
|
-
* @return {Object} Accepted configuration
|
|
104
|
-
* @private
|
|
105
|
-
*/
|
|
106
|
-
acceptAsClient(response: any): any;
|
|
107
|
-
/**
|
|
108
|
-
* Normalize parameters.
|
|
109
|
-
*
|
|
110
|
-
* @param {Array} configurations The extension negotiation offers/reponse
|
|
111
|
-
* @return {Array} The offers/response with normalized parameters
|
|
112
|
-
* @private
|
|
113
|
-
*/
|
|
114
|
-
normalizeParams(configurations: any): any;
|
|
115
|
-
/**
|
|
116
|
-
* Decompress data. Concurrency limited.
|
|
117
|
-
*
|
|
118
|
-
* @param {Buffer} data Compressed data
|
|
119
|
-
* @param {Boolean} fin Specifies whether or not this is the last fragment
|
|
120
|
-
* @param {Function} callback Callback
|
|
121
|
-
* @public
|
|
122
|
-
*/
|
|
123
|
-
decompress(data: Buffer, fin: boolean, callback: Callback): void;
|
|
124
|
-
/**
|
|
125
|
-
* Compress data. Concurrency limited.
|
|
126
|
-
*
|
|
127
|
-
* @param {(Buffer|String)} data Data to compress
|
|
128
|
-
* @param {Boolean} fin Specifies whether or not this is the last fragment
|
|
129
|
-
* @param {Function} callback Callback
|
|
130
|
-
* @public
|
|
131
|
-
*/
|
|
132
|
-
compress(data: Buffer | string, fin: boolean, callback: Callback): void;
|
|
133
|
-
/**
|
|
134
|
-
* Decompress data.
|
|
135
|
-
*
|
|
136
|
-
* @param {Buffer} data Compressed data
|
|
137
|
-
* @param {Boolean} fin Specifies whether or not this is the last fragment
|
|
138
|
-
* @param {Function} callback Callback
|
|
139
|
-
* @private
|
|
140
|
-
*/
|
|
141
|
-
_decompress(data: Buffer, fin: boolean, callback: Callback): void;
|
|
142
|
-
/**
|
|
143
|
-
* Compress data.
|
|
144
|
-
*
|
|
145
|
-
* @param {(Buffer|String)} data Data to compress
|
|
146
|
-
* @param {Boolean} fin Specifies whether or not this is the last fragment
|
|
147
|
-
* @param {Function} callback Callback
|
|
148
|
-
* @private
|
|
149
|
-
*/
|
|
150
|
-
_compress(data: Buffer | string, fin: boolean, callback: Callback): void;
|
|
151
|
-
}
|
|
152
|
-
export {};
|