@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.
Files changed (289) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts.map +1 -0
  2. package/dist/assets/calculate-asset-positions.js.map +1 -0
  3. package/dist/assets/calculate-atempo.d.ts.map +1 -0
  4. package/dist/assets/calculate-atempo.js.map +1 -0
  5. package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -0
  6. package/dist/assets/convert-assets-to-file-urls.js.map +1 -0
  7. package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
  8. package/dist/assets/download-and-map-assets-to-file.js.map +1 -0
  9. package/dist/assets/download-file.d.ts.map +1 -0
  10. package/dist/assets/download-file.js.map +1 -0
  11. package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
  12. package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
  13. package/dist/assets/flatten-volume-array.d.ts.map +1 -0
  14. package/dist/assets/flatten-volume-array.js.map +1 -0
  15. package/dist/assets/get-audio-channels.d.ts.map +1 -0
  16. package/dist/assets/get-audio-channels.js.map +1 -0
  17. package/dist/assets/read-file.d.ts.map +1 -0
  18. package/dist/assets/read-file.js.map +1 -0
  19. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +1 -0
  20. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +1 -0
  21. package/dist/assets/sanitize-filename.d.ts.map +1 -0
  22. package/dist/assets/sanitize-filename.js.map +1 -0
  23. package/dist/assets/sanitize-filepath.d.ts.map +1 -0
  24. package/dist/assets/sanitize-filepath.js.map +1 -0
  25. package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
  26. package/dist/assets/truncate-utf8-bytes.js.map +1 -0
  27. package/dist/assets/types.d.ts.map +1 -0
  28. package/dist/assets/types.js.map +1 -0
  29. package/dist/browser/Accessibility.d.ts +175 -0
  30. package/dist/browser/Accessibility.js +423 -0
  31. package/dist/browser/AriaQueryHandler.d.ts +20 -0
  32. package/dist/browser/AriaQueryHandler.js +108 -0
  33. package/dist/browser/Coverage.d.ts +180 -0
  34. package/dist/browser/Coverage.js +371 -0
  35. package/dist/browser/Debug.d.ts +19 -0
  36. package/dist/browser/Debug.js +42 -0
  37. package/dist/browser/DeviceDescriptors.d.ts +40 -0
  38. package/dist/browser/DeviceDescriptors.js +1407 -0
  39. package/dist/browser/FileChooser.d.ts +56 -0
  40. package/dist/browser/FileChooser.js +86 -0
  41. package/dist/browser/Input.d.ts +355 -0
  42. package/dist/browser/Input.js +592 -0
  43. package/dist/browser/NetworkConditions.d.ts +26 -0
  44. package/dist/browser/NetworkConditions.js +33 -0
  45. package/dist/browser/NetworkManager.js +1 -5
  46. package/dist/browser/PDFOptions.d.ts +165 -0
  47. package/dist/browser/PDFOptions.js +34 -0
  48. package/dist/browser/PipeTransport.d.ts +10 -0
  49. package/dist/browser/PipeTransport.js +86 -0
  50. package/dist/browser/Puppeteer.d.ts +35 -0
  51. package/dist/browser/Puppeteer.js +17 -0
  52. package/dist/browser/QueryHandler.d.ts +64 -0
  53. package/dist/browser/QueryHandler.js +183 -0
  54. package/dist/browser/SecurityDetails.d.ts +55 -0
  55. package/dist/browser/SecurityDetails.js +95 -0
  56. package/dist/browser/Tracing.d.ts +45 -0
  57. package/dist/browser/Tracing.js +136 -0
  58. package/dist/browser/USKeyboardLayout.d.ts +39 -0
  59. package/dist/browser/USKeyboardLayout.js +406 -0
  60. package/dist/browser/WebWorker.d.ts +96 -0
  61. package/dist/browser/WebWorker.js +122 -0
  62. package/dist/browser/dialog.d.ts +70 -0
  63. package/dist/browser/dialog.js +114 -0
  64. package/dist/browser/fetch.d.ts +16 -0
  65. package/dist/browser/fetch.js +46 -0
  66. package/dist/browser/find-up.d.ts +4 -0
  67. package/dist/browser/find-up.js +85 -0
  68. package/dist/browser/{Page.d.ts → page.d.ts} +0 -0
  69. package/dist/browser/{Page.js → page.js} +0 -0
  70. package/dist/browser/pkg-dir.d.ts +3 -0
  71. package/dist/browser/pkg-dir.js +13 -0
  72. package/dist/browser-log.d.ts.map +1 -0
  73. package/dist/browser-log.js.map +1 -0
  74. package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
  75. package/dist/calculate-ffmpeg-filters.js.map +1 -0
  76. package/dist/can-use-parallel-encoding.d.ts.map +1 -0
  77. package/dist/can-use-parallel-encoding.js.map +1 -0
  78. package/dist/chunk.d.ts.map +1 -0
  79. package/dist/chunk.js.map +1 -0
  80. package/dist/combine-videos.d.ts +2 -1
  81. package/dist/combine-videos.d.ts.map +1 -0
  82. package/dist/combine-videos.js +8 -2
  83. package/dist/combine-videos.js.map +1 -0
  84. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  85. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  86. package/dist/convert-to-pcm.d.ts.map +1 -0
  87. package/dist/convert-to-pcm.js.map +1 -0
  88. package/dist/create-ffmpeg-complex-filter.d.ts +4 -1
  89. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -0
  90. package/dist/create-ffmpeg-complex-filter.js.map +1 -0
  91. package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -0
  92. package/dist/create-ffmpeg-merge-filter.js.map +1 -0
  93. package/dist/create-silent-audio.d.ts.map +1 -0
  94. package/dist/create-silent-audio.js.map +1 -0
  95. package/dist/cycle-browser-tabs.d.ts.map +1 -0
  96. package/dist/cycle-browser-tabs.js.map +1 -0
  97. package/dist/delay-render-embedded-stack.d.ts.map +1 -0
  98. package/dist/delay-render-embedded-stack.js.map +1 -0
  99. package/dist/delete-directory.d.ts.map +1 -0
  100. package/dist/delete-directory.js.map +1 -0
  101. package/dist/ensure-frames-in-order.d.ts +1 -1
  102. package/dist/ensure-frames-in-order.d.ts.map +1 -0
  103. package/dist/ensure-frames-in-order.js +3 -2
  104. package/dist/ensure-frames-in-order.js.map +1 -0
  105. package/dist/ensure-output-directory.d.ts.map +1 -0
  106. package/dist/ensure-output-directory.js.map +1 -0
  107. package/dist/ensure-presentation-timestamp.d.ts +1 -1
  108. package/dist/ensure-presentation-timestamp.js +9 -10
  109. package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
  110. package/dist/error-handling/handle-javascript-exception.js.map +1 -0
  111. package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
  112. package/dist/error-handling/symbolicate-error.js.map +1 -0
  113. package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
  114. package/dist/error-handling/symbolicateable-error.js.map +1 -0
  115. package/dist/extract-frame-from-video.d.ts +0 -1
  116. package/dist/extract-frame-from-video.js +4 -2
  117. package/dist/ffmpeg-filter-file.d.ts.map +1 -0
  118. package/dist/ffmpeg-filter-file.js.map +1 -0
  119. package/dist/ffmpeg-flags.d.ts.map +1 -0
  120. package/dist/ffmpeg-flags.js.map +1 -0
  121. package/dist/get-audio-codec-name.d.ts.map +1 -0
  122. package/dist/get-audio-codec-name.js.map +1 -0
  123. package/dist/get-browser-instance.d.ts.map +1 -0
  124. package/dist/get-browser-instance.js.map +1 -0
  125. package/dist/get-codec-name.d.ts.map +1 -0
  126. package/dist/get-codec-name.js +3 -0
  127. package/dist/get-codec-name.js.map +1 -0
  128. package/dist/get-compositions.d.ts.map +1 -0
  129. package/dist/get-compositions.js.map +1 -0
  130. package/dist/get-concurrency.d.ts.map +1 -0
  131. package/dist/get-concurrency.js.map +1 -0
  132. package/dist/get-duration-from-frame-range.d.ts +1 -2
  133. package/dist/get-duration-from-frame-range.d.ts.map +1 -0
  134. package/dist/get-duration-from-frame-range.js +13 -9
  135. package/dist/get-duration-from-frame-range.js.map +1 -0
  136. package/dist/get-extension-from-codec.d.ts +1 -1
  137. package/dist/get-extension-from-codec.d.ts.map +1 -0
  138. package/dist/get-extension-from-codec.js +5 -0
  139. package/dist/get-extension-from-codec.js.map +1 -0
  140. package/dist/get-format-for-codec.d.ts +2 -0
  141. package/dist/get-format-for-codec.js +34 -0
  142. package/dist/get-frame-padded-index.d.ts +14 -0
  143. package/dist/get-frame-padded-index.js +33 -0
  144. package/dist/get-frame-to-render.d.ts.map +1 -0
  145. package/dist/get-frame-to-render.js.map +1 -0
  146. package/dist/get-local-browser-executable.d.ts.map +1 -0
  147. package/dist/get-local-browser-executable.js.map +1 -0
  148. package/dist/get-port.d.ts.map +1 -0
  149. package/dist/get-port.js.map +1 -0
  150. package/dist/get-prores-profile-name.d.ts.map +1 -0
  151. package/dist/get-prores-profile-name.js.map +1 -0
  152. package/dist/guess-extension-for-media.d.ts +1 -1
  153. package/dist/image-format.d.ts.map +1 -0
  154. package/dist/image-format.js.map +1 -0
  155. package/dist/index.d.ts +4 -4
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +3 -1
  158. package/dist/index.js.map +1 -0
  159. package/dist/is-serve-url.d.ts.map +1 -0
  160. package/dist/is-serve-url.js.map +1 -0
  161. package/dist/last-frame-from-video-cache.d.ts +0 -1
  162. package/dist/legacy-webpack-config.d.ts.map +1 -0
  163. package/dist/legacy-webpack-config.js.map +1 -0
  164. package/dist/make-assets-download-dir.d.ts.map +1 -0
  165. package/dist/make-assets-download-dir.js.map +1 -0
  166. package/dist/merge-audio-track.d.ts.map +1 -0
  167. package/dist/merge-audio-track.js.map +1 -0
  168. package/dist/mime-types.d.ts +1 -1
  169. package/dist/mime-types.js +2 -2
  170. package/dist/normalize-serve-url.d.ts.map +1 -0
  171. package/dist/normalize-serve-url.js.map +1 -0
  172. package/dist/open-browser.d.ts.map +1 -0
  173. package/dist/open-browser.js.map +1 -0
  174. package/dist/p-limit.d.ts.map +1 -0
  175. package/dist/p-limit.js.map +1 -0
  176. package/dist/parse-browser-error-stack.d.ts.map +1 -0
  177. package/dist/parse-browser-error-stack.js.map +1 -0
  178. package/dist/parse-ffmpeg-progress.d.ts.map +1 -0
  179. package/dist/parse-ffmpeg-progress.js.map +1 -0
  180. package/dist/pool.d.ts.map +1 -0
  181. package/dist/pool.js.map +1 -0
  182. package/dist/prepare-server.d.ts.map +1 -0
  183. package/dist/prepare-server.js.map +1 -0
  184. package/dist/preprocess-audio-track.d.ts.map +1 -0
  185. package/dist/preprocess-audio-track.js.map +1 -0
  186. package/dist/prespawn-ffmpeg.d.ts.map +1 -0
  187. package/dist/prespawn-ffmpeg.js +2 -2
  188. package/dist/prespawn-ffmpeg.js.map +1 -0
  189. package/dist/provide-screenshot.d.ts +0 -1
  190. package/dist/provide-screenshot.d.ts.map +1 -0
  191. package/dist/provide-screenshot.js.map +1 -0
  192. package/dist/puppeteer-evaluate.d.ts.map +1 -0
  193. package/dist/puppeteer-evaluate.js.map +1 -0
  194. package/dist/puppeteer-screenshot.d.ts +0 -1
  195. package/dist/puppeteer-screenshot.d.ts.map +1 -0
  196. package/dist/puppeteer-screenshot.js.map +1 -0
  197. package/dist/render-frames.d.ts +1 -0
  198. package/dist/render-frames.d.ts.map +1 -0
  199. package/dist/render-frames.js +29 -25
  200. package/dist/render-frames.js.map +1 -0
  201. package/dist/render-media.d.ts +2 -1
  202. package/dist/render-media.d.ts.map +1 -0
  203. package/dist/render-media.js +11 -4
  204. package/dist/render-media.js.map +1 -0
  205. package/dist/render-still.d.ts.map +1 -0
  206. package/dist/render-still.js +1 -1
  207. package/dist/render-still.js.map +1 -0
  208. package/dist/resolve-asset-src.d.ts.map +1 -0
  209. package/dist/resolve-asset-src.js.map +1 -0
  210. package/dist/sample-rate.d.ts.map +1 -0
  211. package/dist/sample-rate.js.map +1 -0
  212. package/dist/screenshot-dom-element.d.ts +0 -1
  213. package/dist/screenshot-dom-element.d.ts.map +1 -0
  214. package/dist/screenshot-dom-element.js.map +1 -0
  215. package/dist/screenshot-task.d.ts +0 -1
  216. package/dist/screenshot-task.d.ts.map +1 -0
  217. package/dist/screenshot-task.js.map +1 -0
  218. package/dist/seek-to-frame.d.ts.map +1 -0
  219. package/dist/seek-to-frame.js.map +1 -0
  220. package/dist/serve-static.d.ts.map +1 -0
  221. package/dist/serve-static.js.map +1 -0
  222. package/dist/set-props-and-env.d.ts.map +1 -0
  223. package/dist/set-props-and-env.js.map +1 -0
  224. package/dist/stitch-frames-to-video.d.ts +1 -0
  225. package/dist/stitch-frames-to-video.d.ts.map +1 -0
  226. package/dist/stitch-frames-to-video.js +32 -22
  227. package/dist/stitch-frames-to-video.js.map +1 -0
  228. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
  229. package/dist/stringify-ffmpeg-filter.js.map +1 -0
  230. package/dist/symbolicate-stacktrace.d.ts.map +1 -0
  231. package/dist/symbolicate-stacktrace.js.map +1 -0
  232. package/dist/tmp-dir.d.ts.map +1 -0
  233. package/dist/tmp-dir.js.map +1 -0
  234. package/dist/types.d.ts.map +1 -0
  235. package/dist/types.js.map +1 -0
  236. package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -0
  237. package/dist/validate-even-dimensions-with-codec.js.map +1 -0
  238. package/dist/validate-ffmpeg.d.ts.map +1 -0
  239. package/dist/validate-ffmpeg.js.map +1 -0
  240. package/dist/validate-output-filename.js +5 -0
  241. package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
  242. package/dist/validate-puppeteer-timeout.js.map +1 -0
  243. package/dist/validate-scale.d.ts.map +1 -0
  244. package/dist/validate-scale.js.map +1 -0
  245. package/package.json +8 -10
  246. package/tsconfig.json +2 -1
  247. package/vitest.config.ts +8 -0
  248. package/dist/abort.d.ts +0 -7
  249. package/dist/abort.js +0 -20
  250. package/dist/browser/ws.d.ts +0 -287
  251. package/dist/browser/ws.js +0 -21
  252. package/dist/cancel.d.ts +0 -7
  253. package/dist/cancel.js +0 -25
  254. package/dist/ensure-faststart.d.ts +0 -1
  255. package/dist/ensure-faststart.js +0 -14
  256. package/dist/faststart/atom.d.ts +0 -35
  257. package/dist/faststart/atom.js +0 -138
  258. package/dist/faststart/index.d.ts +0 -0
  259. package/dist/faststart/index.js +0 -1
  260. package/dist/faststart/options.d.ts +0 -6
  261. package/dist/faststart/options.js +0 -2
  262. package/dist/faststart/qt-faststart.d.ts +0 -18
  263. package/dist/faststart/qt-faststart.js +0 -66
  264. package/dist/faststart/update-chunk-offsets.d.ts +0 -10
  265. package/dist/faststart/update-chunk-offsets.js +0 -114
  266. package/dist/faststart/util.d.ts +0 -9
  267. package/dist/faststart/util.js +0 -34
  268. package/dist/offthread/index.d.ts +0 -0
  269. package/dist/offthread/index.js +0 -1
  270. package/dist/render-gif.d.ts +0 -2
  271. package/dist/render-gif.js +0 -242
  272. package/dist/should-use-vp9-decoder.d.ts +0 -0
  273. package/dist/should-use-vp9-decoder.js +0 -1
  274. package/dist/stitch-frames-to-gif.d.ts +0 -8
  275. package/dist/stitch-frames-to-gif.js +0 -128
  276. package/dist/validate-offthreadvideo-image-format.d.ts +0 -1
  277. package/dist/validate-offthreadvideo-image-format.js +0 -15
  278. package/dist/ws/buffer-util.d.ts +0 -10
  279. package/dist/ws/buffer-util.js +0 -123
  280. package/dist/ws/constants.d.ts +0 -10
  281. package/dist/ws/constants.js +0 -13
  282. package/dist/ws/event-target.d.ts +0 -155
  283. package/dist/ws/event-target.js +0 -203
  284. package/dist/ws/extension.d.ts +0 -16
  285. package/dist/ws/extension.js +0 -232
  286. package/dist/ws/limiter.d.ts +0 -34
  287. package/dist/ws/limiter.js +0 -41
  288. package/dist/ws/permessage_deflate.d.ts +0 -152
  289. package/dist/ws/permessage_deflate.js +0 -409
@@ -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;
@@ -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 {};
@@ -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 {};