speaker-calibration 2.1.6 → 2.1.8

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 (427) hide show
  1. package/dist/main.js +1110 -912
  2. package/dist/package-lock.json +1018 -1018
  3. package/dist/package.json +18 -18
  4. package/package.json +1 -1
  5. package/src/server/PythonServerAPI.js +2 -2
  6. package/src/tasks/impulse-response/impulseResponse.js +8 -1
  7. package/src/tasks/volume/volume.js +28 -1
  8. package/dist/node_modules/.bin/mime +0 -12
  9. package/dist/node_modules/.bin/mime.cmd +0 -17
  10. package/dist/node_modules/.bin/mime.ps1 +0 -28
  11. package/dist/node_modules/.package-lock.json +0 -584
  12. package/dist/node_modules/accepts/HISTORY.md +0 -243
  13. package/dist/node_modules/accepts/LICENSE +0 -23
  14. package/dist/node_modules/accepts/README.md +0 -140
  15. package/dist/node_modules/accepts/index.js +0 -238
  16. package/dist/node_modules/accepts/package.json +0 -47
  17. package/dist/node_modules/array-flatten/LICENSE +0 -21
  18. package/dist/node_modules/array-flatten/README.md +0 -43
  19. package/dist/node_modules/array-flatten/array-flatten.js +0 -64
  20. package/dist/node_modules/array-flatten/package.json +0 -39
  21. package/dist/node_modules/body-parser/HISTORY.md +0 -657
  22. package/dist/node_modules/body-parser/LICENSE +0 -23
  23. package/dist/node_modules/body-parser/README.md +0 -464
  24. package/dist/node_modules/body-parser/SECURITY.md +0 -25
  25. package/dist/node_modules/body-parser/index.js +0 -156
  26. package/dist/node_modules/body-parser/lib/read.js +0 -205
  27. package/dist/node_modules/body-parser/lib/types/json.js +0 -236
  28. package/dist/node_modules/body-parser/lib/types/raw.js +0 -101
  29. package/dist/node_modules/body-parser/lib/types/text.js +0 -121
  30. package/dist/node_modules/body-parser/lib/types/urlencoded.js +0 -284
  31. package/dist/node_modules/body-parser/package.json +0 -56
  32. package/dist/node_modules/bytes/History.md +0 -97
  33. package/dist/node_modules/bytes/LICENSE +0 -23
  34. package/dist/node_modules/bytes/Readme.md +0 -152
  35. package/dist/node_modules/bytes/index.js +0 -170
  36. package/dist/node_modules/bytes/package.json +0 -42
  37. package/dist/node_modules/call-bind/.eslintignore +0 -1
  38. package/dist/node_modules/call-bind/.eslintrc +0 -17
  39. package/dist/node_modules/call-bind/.github/FUNDING.yml +0 -12
  40. package/dist/node_modules/call-bind/.nycrc +0 -13
  41. package/dist/node_modules/call-bind/CHANGELOG.md +0 -42
  42. package/dist/node_modules/call-bind/LICENSE +0 -21
  43. package/dist/node_modules/call-bind/README.md +0 -2
  44. package/dist/node_modules/call-bind/callBound.js +0 -15
  45. package/dist/node_modules/call-bind/index.js +0 -47
  46. package/dist/node_modules/call-bind/package.json +0 -80
  47. package/dist/node_modules/call-bind/test/callBound.js +0 -55
  48. package/dist/node_modules/call-bind/test/index.js +0 -66
  49. package/dist/node_modules/content-disposition/HISTORY.md +0 -60
  50. package/dist/node_modules/content-disposition/LICENSE +0 -22
  51. package/dist/node_modules/content-disposition/README.md +0 -142
  52. package/dist/node_modules/content-disposition/index.js +0 -458
  53. package/dist/node_modules/content-disposition/package.json +0 -44
  54. package/dist/node_modules/content-type/HISTORY.md +0 -24
  55. package/dist/node_modules/content-type/LICENSE +0 -22
  56. package/dist/node_modules/content-type/README.md +0 -92
  57. package/dist/node_modules/content-type/index.js +0 -222
  58. package/dist/node_modules/content-type/package.json +0 -40
  59. package/dist/node_modules/cookie/HISTORY.md +0 -142
  60. package/dist/node_modules/cookie/LICENSE +0 -24
  61. package/dist/node_modules/cookie/README.md +0 -302
  62. package/dist/node_modules/cookie/SECURITY.md +0 -25
  63. package/dist/node_modules/cookie/index.js +0 -270
  64. package/dist/node_modules/cookie/package.json +0 -44
  65. package/dist/node_modules/cookie-signature/History.md +0 -38
  66. package/dist/node_modules/cookie-signature/Readme.md +0 -42
  67. package/dist/node_modules/cookie-signature/index.js +0 -51
  68. package/dist/node_modules/cookie-signature/package.json +0 -18
  69. package/dist/node_modules/debug/.coveralls.yml +0 -1
  70. package/dist/node_modules/debug/.eslintrc +0 -11
  71. package/dist/node_modules/debug/.travis.yml +0 -14
  72. package/dist/node_modules/debug/CHANGELOG.md +0 -362
  73. package/dist/node_modules/debug/LICENSE +0 -19
  74. package/dist/node_modules/debug/Makefile +0 -50
  75. package/dist/node_modules/debug/README.md +0 -312
  76. package/dist/node_modules/debug/component.json +0 -19
  77. package/dist/node_modules/debug/karma.conf.js +0 -70
  78. package/dist/node_modules/debug/node.js +0 -1
  79. package/dist/node_modules/debug/package.json +0 -49
  80. package/dist/node_modules/debug/src/browser.js +0 -185
  81. package/dist/node_modules/debug/src/debug.js +0 -202
  82. package/dist/node_modules/debug/src/index.js +0 -10
  83. package/dist/node_modules/debug/src/inspector-log.js +0 -15
  84. package/dist/node_modules/debug/src/node.js +0 -248
  85. package/dist/node_modules/depd/History.md +0 -103
  86. package/dist/node_modules/depd/LICENSE +0 -22
  87. package/dist/node_modules/depd/Readme.md +0 -280
  88. package/dist/node_modules/depd/index.js +0 -538
  89. package/dist/node_modules/depd/lib/browser/index.js +0 -77
  90. package/dist/node_modules/depd/package.json +0 -45
  91. package/dist/node_modules/destroy/LICENSE +0 -23
  92. package/dist/node_modules/destroy/README.md +0 -63
  93. package/dist/node_modules/destroy/index.js +0 -209
  94. package/dist/node_modules/destroy/package.json +0 -48
  95. package/dist/node_modules/ee-first/LICENSE +0 -22
  96. package/dist/node_modules/ee-first/README.md +0 -80
  97. package/dist/node_modules/ee-first/index.js +0 -95
  98. package/dist/node_modules/ee-first/package.json +0 -29
  99. package/dist/node_modules/encodeurl/HISTORY.md +0 -14
  100. package/dist/node_modules/encodeurl/LICENSE +0 -22
  101. package/dist/node_modules/encodeurl/README.md +0 -128
  102. package/dist/node_modules/encodeurl/index.js +0 -60
  103. package/dist/node_modules/encodeurl/package.json +0 -40
  104. package/dist/node_modules/escape-html/LICENSE +0 -24
  105. package/dist/node_modules/escape-html/Readme.md +0 -43
  106. package/dist/node_modules/escape-html/index.js +0 -78
  107. package/dist/node_modules/escape-html/package.json +0 -24
  108. package/dist/node_modules/etag/HISTORY.md +0 -83
  109. package/dist/node_modules/etag/LICENSE +0 -22
  110. package/dist/node_modules/etag/README.md +0 -159
  111. package/dist/node_modules/etag/index.js +0 -131
  112. package/dist/node_modules/etag/package.json +0 -47
  113. package/dist/node_modules/express/History.md +0 -3588
  114. package/dist/node_modules/express/LICENSE +0 -24
  115. package/dist/node_modules/express/Readme.md +0 -166
  116. package/dist/node_modules/express/index.js +0 -11
  117. package/dist/node_modules/express/lib/application.js +0 -661
  118. package/dist/node_modules/express/lib/express.js +0 -116
  119. package/dist/node_modules/express/lib/middleware/init.js +0 -43
  120. package/dist/node_modules/express/lib/middleware/query.js +0 -47
  121. package/dist/node_modules/express/lib/request.js +0 -525
  122. package/dist/node_modules/express/lib/response.js +0 -1169
  123. package/dist/node_modules/express/lib/router/index.js +0 -673
  124. package/dist/node_modules/express/lib/router/layer.js +0 -181
  125. package/dist/node_modules/express/lib/router/route.js +0 -225
  126. package/dist/node_modules/express/lib/utils.js +0 -304
  127. package/dist/node_modules/express/lib/view.js +0 -182
  128. package/dist/node_modules/express/package.json +0 -99
  129. package/dist/node_modules/finalhandler/HISTORY.md +0 -195
  130. package/dist/node_modules/finalhandler/LICENSE +0 -22
  131. package/dist/node_modules/finalhandler/README.md +0 -147
  132. package/dist/node_modules/finalhandler/SECURITY.md +0 -25
  133. package/dist/node_modules/finalhandler/index.js +0 -336
  134. package/dist/node_modules/finalhandler/package.json +0 -46
  135. package/dist/node_modules/forwarded/HISTORY.md +0 -21
  136. package/dist/node_modules/forwarded/LICENSE +0 -22
  137. package/dist/node_modules/forwarded/README.md +0 -57
  138. package/dist/node_modules/forwarded/index.js +0 -90
  139. package/dist/node_modules/forwarded/package.json +0 -45
  140. package/dist/node_modules/fresh/HISTORY.md +0 -70
  141. package/dist/node_modules/fresh/LICENSE +0 -23
  142. package/dist/node_modules/fresh/README.md +0 -119
  143. package/dist/node_modules/fresh/index.js +0 -137
  144. package/dist/node_modules/fresh/package.json +0 -46
  145. package/dist/node_modules/function-bind/.editorconfig +0 -20
  146. package/dist/node_modules/function-bind/.eslintrc +0 -15
  147. package/dist/node_modules/function-bind/.jscs.json +0 -176
  148. package/dist/node_modules/function-bind/.travis.yml +0 -168
  149. package/dist/node_modules/function-bind/LICENSE +0 -20
  150. package/dist/node_modules/function-bind/README.md +0 -48
  151. package/dist/node_modules/function-bind/implementation.js +0 -52
  152. package/dist/node_modules/function-bind/index.js +0 -5
  153. package/dist/node_modules/function-bind/package.json +0 -63
  154. package/dist/node_modules/function-bind/test/.eslintrc +0 -9
  155. package/dist/node_modules/function-bind/test/index.js +0 -252
  156. package/dist/node_modules/get-intrinsic/.eslintrc +0 -37
  157. package/dist/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  158. package/dist/node_modules/get-intrinsic/.nycrc +0 -9
  159. package/dist/node_modules/get-intrinsic/CHANGELOG.md +0 -98
  160. package/dist/node_modules/get-intrinsic/LICENSE +0 -21
  161. package/dist/node_modules/get-intrinsic/README.md +0 -71
  162. package/dist/node_modules/get-intrinsic/index.js +0 -334
  163. package/dist/node_modules/get-intrinsic/package.json +0 -91
  164. package/dist/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  165. package/dist/node_modules/has/LICENSE-MIT +0 -22
  166. package/dist/node_modules/has/README.md +0 -18
  167. package/dist/node_modules/has/package.json +0 -48
  168. package/dist/node_modules/has/src/index.js +0 -5
  169. package/dist/node_modules/has/test/index.js +0 -10
  170. package/dist/node_modules/has-symbols/.eslintrc +0 -11
  171. package/dist/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  172. package/dist/node_modules/has-symbols/.nycrc +0 -9
  173. package/dist/node_modules/has-symbols/CHANGELOG.md +0 -75
  174. package/dist/node_modules/has-symbols/LICENSE +0 -21
  175. package/dist/node_modules/has-symbols/README.md +0 -46
  176. package/dist/node_modules/has-symbols/index.js +0 -13
  177. package/dist/node_modules/has-symbols/package.json +0 -101
  178. package/dist/node_modules/has-symbols/shams.js +0 -42
  179. package/dist/node_modules/has-symbols/test/index.js +0 -22
  180. package/dist/node_modules/has-symbols/test/shams/core-js.js +0 -28
  181. package/dist/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -28
  182. package/dist/node_modules/has-symbols/test/tests.js +0 -56
  183. package/dist/node_modules/http-errors/HISTORY.md +0 -180
  184. package/dist/node_modules/http-errors/LICENSE +0 -23
  185. package/dist/node_modules/http-errors/README.md +0 -169
  186. package/dist/node_modules/http-errors/index.js +0 -289
  187. package/dist/node_modules/http-errors/package.json +0 -50
  188. package/dist/node_modules/iconv-lite/Changelog.md +0 -162
  189. package/dist/node_modules/iconv-lite/LICENSE +0 -21
  190. package/dist/node_modules/iconv-lite/README.md +0 -156
  191. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  192. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  193. package/dist/node_modules/iconv-lite/encodings/index.js +0 -22
  194. package/dist/node_modules/iconv-lite/encodings/internal.js +0 -188
  195. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  196. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  197. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  198. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  199. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  200. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  201. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  202. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  203. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  204. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  205. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  206. package/dist/node_modules/iconv-lite/encodings/utf16.js +0 -177
  207. package/dist/node_modules/iconv-lite/encodings/utf7.js +0 -290
  208. package/dist/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  209. package/dist/node_modules/iconv-lite/lib/extend-node.js +0 -217
  210. package/dist/node_modules/iconv-lite/lib/index.d.ts +0 -24
  211. package/dist/node_modules/iconv-lite/lib/index.js +0 -153
  212. package/dist/node_modules/iconv-lite/lib/streams.js +0 -121
  213. package/dist/node_modules/iconv-lite/package.json +0 -46
  214. package/dist/node_modules/inherits/LICENSE +0 -16
  215. package/dist/node_modules/inherits/README.md +0 -42
  216. package/dist/node_modules/inherits/inherits.js +0 -9
  217. package/dist/node_modules/inherits/inherits_browser.js +0 -27
  218. package/dist/node_modules/inherits/package.json +0 -29
  219. package/dist/node_modules/ipaddr.js/LICENSE +0 -19
  220. package/dist/node_modules/ipaddr.js/README.md +0 -233
  221. package/dist/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  222. package/dist/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  223. package/dist/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  224. package/dist/node_modules/ipaddr.js/package.json +0 -35
  225. package/dist/node_modules/media-typer/HISTORY.md +0 -22
  226. package/dist/node_modules/media-typer/LICENSE +0 -22
  227. package/dist/node_modules/media-typer/README.md +0 -81
  228. package/dist/node_modules/media-typer/index.js +0 -270
  229. package/dist/node_modules/media-typer/package.json +0 -26
  230. package/dist/node_modules/merge-descriptors/HISTORY.md +0 -21
  231. package/dist/node_modules/merge-descriptors/LICENSE +0 -23
  232. package/dist/node_modules/merge-descriptors/README.md +0 -48
  233. package/dist/node_modules/merge-descriptors/index.js +0 -60
  234. package/dist/node_modules/merge-descriptors/package.json +0 -32
  235. package/dist/node_modules/methods/HISTORY.md +0 -29
  236. package/dist/node_modules/methods/LICENSE +0 -24
  237. package/dist/node_modules/methods/README.md +0 -51
  238. package/dist/node_modules/methods/index.js +0 -69
  239. package/dist/node_modules/methods/package.json +0 -36
  240. package/dist/node_modules/mime/CHANGELOG.md +0 -164
  241. package/dist/node_modules/mime/LICENSE +0 -21
  242. package/dist/node_modules/mime/README.md +0 -90
  243. package/dist/node_modules/mime/cli.js +0 -8
  244. package/dist/node_modules/mime/mime.js +0 -108
  245. package/dist/node_modules/mime/package.json +0 -44
  246. package/dist/node_modules/mime/src/build.js +0 -53
  247. package/dist/node_modules/mime/src/test.js +0 -60
  248. package/dist/node_modules/mime/types.json +0 -1
  249. package/dist/node_modules/mime-db/HISTORY.md +0 -507
  250. package/dist/node_modules/mime-db/LICENSE +0 -23
  251. package/dist/node_modules/mime-db/README.md +0 -100
  252. package/dist/node_modules/mime-db/db.json +0 -8519
  253. package/dist/node_modules/mime-db/index.js +0 -12
  254. package/dist/node_modules/mime-db/package.json +0 -60
  255. package/dist/node_modules/mime-types/HISTORY.md +0 -397
  256. package/dist/node_modules/mime-types/LICENSE +0 -23
  257. package/dist/node_modules/mime-types/README.md +0 -113
  258. package/dist/node_modules/mime-types/index.js +0 -188
  259. package/dist/node_modules/mime-types/package.json +0 -44
  260. package/dist/node_modules/ms/index.js +0 -152
  261. package/dist/node_modules/ms/license.md +0 -21
  262. package/dist/node_modules/ms/package.json +0 -37
  263. package/dist/node_modules/ms/readme.md +0 -51
  264. package/dist/node_modules/negotiator/HISTORY.md +0 -108
  265. package/dist/node_modules/negotiator/LICENSE +0 -24
  266. package/dist/node_modules/negotiator/README.md +0 -203
  267. package/dist/node_modules/negotiator/index.js +0 -82
  268. package/dist/node_modules/negotiator/lib/charset.js +0 -169
  269. package/dist/node_modules/negotiator/lib/encoding.js +0 -184
  270. package/dist/node_modules/negotiator/lib/language.js +0 -179
  271. package/dist/node_modules/negotiator/lib/mediaType.js +0 -294
  272. package/dist/node_modules/negotiator/package.json +0 -42
  273. package/dist/node_modules/object-inspect/.eslintrc +0 -53
  274. package/dist/node_modules/object-inspect/.github/FUNDING.yml +0 -12
  275. package/dist/node_modules/object-inspect/.nycrc +0 -13
  276. package/dist/node_modules/object-inspect/CHANGELOG.md +0 -360
  277. package/dist/node_modules/object-inspect/LICENSE +0 -21
  278. package/dist/node_modules/object-inspect/example/all.js +0 -23
  279. package/dist/node_modules/object-inspect/example/circular.js +0 -6
  280. package/dist/node_modules/object-inspect/example/fn.js +0 -5
  281. package/dist/node_modules/object-inspect/example/inspect.js +0 -10
  282. package/dist/node_modules/object-inspect/index.js +0 -512
  283. package/dist/node_modules/object-inspect/package-support.json +0 -20
  284. package/dist/node_modules/object-inspect/package.json +0 -94
  285. package/dist/node_modules/object-inspect/readme.markdown +0 -86
  286. package/dist/node_modules/object-inspect/test/bigint.js +0 -58
  287. package/dist/node_modules/object-inspect/test/browser/dom.js +0 -15
  288. package/dist/node_modules/object-inspect/test/circular.js +0 -16
  289. package/dist/node_modules/object-inspect/test/deep.js +0 -12
  290. package/dist/node_modules/object-inspect/test/element.js +0 -53
  291. package/dist/node_modules/object-inspect/test/err.js +0 -48
  292. package/dist/node_modules/object-inspect/test/fakes.js +0 -29
  293. package/dist/node_modules/object-inspect/test/fn.js +0 -76
  294. package/dist/node_modules/object-inspect/test/has.js +0 -15
  295. package/dist/node_modules/object-inspect/test/holes.js +0 -15
  296. package/dist/node_modules/object-inspect/test/indent-option.js +0 -271
  297. package/dist/node_modules/object-inspect/test/inspect.js +0 -139
  298. package/dist/node_modules/object-inspect/test/lowbyte.js +0 -12
  299. package/dist/node_modules/object-inspect/test/number.js +0 -58
  300. package/dist/node_modules/object-inspect/test/quoteStyle.js +0 -17
  301. package/dist/node_modules/object-inspect/test/toStringTag.js +0 -40
  302. package/dist/node_modules/object-inspect/test/undef.js +0 -12
  303. package/dist/node_modules/object-inspect/test/values.js +0 -211
  304. package/dist/node_modules/object-inspect/test-core-js.js +0 -26
  305. package/dist/node_modules/object-inspect/util.inspect.js +0 -1
  306. package/dist/node_modules/on-finished/HISTORY.md +0 -98
  307. package/dist/node_modules/on-finished/LICENSE +0 -23
  308. package/dist/node_modules/on-finished/README.md +0 -162
  309. package/dist/node_modules/on-finished/index.js +0 -234
  310. package/dist/node_modules/on-finished/package.json +0 -39
  311. package/dist/node_modules/parseurl/HISTORY.md +0 -58
  312. package/dist/node_modules/parseurl/LICENSE +0 -24
  313. package/dist/node_modules/parseurl/README.md +0 -133
  314. package/dist/node_modules/parseurl/index.js +0 -158
  315. package/dist/node_modules/parseurl/package.json +0 -40
  316. package/dist/node_modules/path-to-regexp/History.md +0 -36
  317. package/dist/node_modules/path-to-regexp/LICENSE +0 -21
  318. package/dist/node_modules/path-to-regexp/Readme.md +0 -35
  319. package/dist/node_modules/path-to-regexp/index.js +0 -129
  320. package/dist/node_modules/path-to-regexp/package.json +0 -30
  321. package/dist/node_modules/proxy-addr/HISTORY.md +0 -161
  322. package/dist/node_modules/proxy-addr/LICENSE +0 -22
  323. package/dist/node_modules/proxy-addr/README.md +0 -139
  324. package/dist/node_modules/proxy-addr/index.js +0 -327
  325. package/dist/node_modules/proxy-addr/package.json +0 -47
  326. package/dist/node_modules/qs/.editorconfig +0 -43
  327. package/dist/node_modules/qs/.eslintrc +0 -38
  328. package/dist/node_modules/qs/.github/FUNDING.yml +0 -12
  329. package/dist/node_modules/qs/.nycrc +0 -13
  330. package/dist/node_modules/qs/CHANGELOG.md +0 -546
  331. package/dist/node_modules/qs/LICENSE.md +0 -29
  332. package/dist/node_modules/qs/README.md +0 -625
  333. package/dist/node_modules/qs/dist/qs.js +0 -2054
  334. package/dist/node_modules/qs/lib/formats.js +0 -23
  335. package/dist/node_modules/qs/lib/index.js +0 -11
  336. package/dist/node_modules/qs/lib/parse.js +0 -263
  337. package/dist/node_modules/qs/lib/stringify.js +0 -326
  338. package/dist/node_modules/qs/lib/utils.js +0 -252
  339. package/dist/node_modules/qs/package.json +0 -77
  340. package/dist/node_modules/qs/test/parse.js +0 -855
  341. package/dist/node_modules/qs/test/stringify.js +0 -909
  342. package/dist/node_modules/qs/test/utils.js +0 -136
  343. package/dist/node_modules/range-parser/HISTORY.md +0 -56
  344. package/dist/node_modules/range-parser/LICENSE +0 -23
  345. package/dist/node_modules/range-parser/README.md +0 -84
  346. package/dist/node_modules/range-parser/index.js +0 -162
  347. package/dist/node_modules/range-parser/package.json +0 -44
  348. package/dist/node_modules/raw-body/HISTORY.md +0 -303
  349. package/dist/node_modules/raw-body/LICENSE +0 -22
  350. package/dist/node_modules/raw-body/README.md +0 -223
  351. package/dist/node_modules/raw-body/SECURITY.md +0 -24
  352. package/dist/node_modules/raw-body/index.d.ts +0 -87
  353. package/dist/node_modules/raw-body/index.js +0 -329
  354. package/dist/node_modules/raw-body/package.json +0 -49
  355. package/dist/node_modules/safe-buffer/LICENSE +0 -21
  356. package/dist/node_modules/safe-buffer/README.md +0 -584
  357. package/dist/node_modules/safe-buffer/index.d.ts +0 -187
  358. package/dist/node_modules/safe-buffer/index.js +0 -65
  359. package/dist/node_modules/safe-buffer/package.json +0 -51
  360. package/dist/node_modules/safer-buffer/LICENSE +0 -21
  361. package/dist/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  362. package/dist/node_modules/safer-buffer/Readme.md +0 -156
  363. package/dist/node_modules/safer-buffer/dangerous.js +0 -58
  364. package/dist/node_modules/safer-buffer/package.json +0 -34
  365. package/dist/node_modules/safer-buffer/safer.js +0 -77
  366. package/dist/node_modules/safer-buffer/tests.js +0 -406
  367. package/dist/node_modules/send/HISTORY.md +0 -521
  368. package/dist/node_modules/send/LICENSE +0 -23
  369. package/dist/node_modules/send/README.md +0 -327
  370. package/dist/node_modules/send/SECURITY.md +0 -24
  371. package/dist/node_modules/send/index.js +0 -1143
  372. package/dist/node_modules/send/node_modules/ms/index.js +0 -162
  373. package/dist/node_modules/send/node_modules/ms/license.md +0 -21
  374. package/dist/node_modules/send/node_modules/ms/package.json +0 -38
  375. package/dist/node_modules/send/node_modules/ms/readme.md +0 -59
  376. package/dist/node_modules/send/package.json +0 -62
  377. package/dist/node_modules/serve-static/HISTORY.md +0 -471
  378. package/dist/node_modules/serve-static/LICENSE +0 -25
  379. package/dist/node_modules/serve-static/README.md +0 -257
  380. package/dist/node_modules/serve-static/index.js +0 -210
  381. package/dist/node_modules/serve-static/package.json +0 -42
  382. package/dist/node_modules/setprototypeof/LICENSE +0 -13
  383. package/dist/node_modules/setprototypeof/README.md +0 -31
  384. package/dist/node_modules/setprototypeof/index.d.ts +0 -2
  385. package/dist/node_modules/setprototypeof/index.js +0 -17
  386. package/dist/node_modules/setprototypeof/package.json +0 -38
  387. package/dist/node_modules/setprototypeof/test/index.js +0 -24
  388. package/dist/node_modules/side-channel/.eslintignore +0 -1
  389. package/dist/node_modules/side-channel/.eslintrc +0 -11
  390. package/dist/node_modules/side-channel/.github/FUNDING.yml +0 -12
  391. package/dist/node_modules/side-channel/.nycrc +0 -13
  392. package/dist/node_modules/side-channel/CHANGELOG.md +0 -65
  393. package/dist/node_modules/side-channel/LICENSE +0 -21
  394. package/dist/node_modules/side-channel/README.md +0 -2
  395. package/dist/node_modules/side-channel/index.js +0 -124
  396. package/dist/node_modules/side-channel/package.json +0 -67
  397. package/dist/node_modules/side-channel/test/index.js +0 -78
  398. package/dist/node_modules/statuses/HISTORY.md +0 -82
  399. package/dist/node_modules/statuses/LICENSE +0 -23
  400. package/dist/node_modules/statuses/README.md +0 -136
  401. package/dist/node_modules/statuses/codes.json +0 -65
  402. package/dist/node_modules/statuses/index.js +0 -146
  403. package/dist/node_modules/statuses/package.json +0 -49
  404. package/dist/node_modules/toidentifier/HISTORY.md +0 -9
  405. package/dist/node_modules/toidentifier/LICENSE +0 -21
  406. package/dist/node_modules/toidentifier/README.md +0 -61
  407. package/dist/node_modules/toidentifier/index.js +0 -32
  408. package/dist/node_modules/toidentifier/package.json +0 -38
  409. package/dist/node_modules/type-is/HISTORY.md +0 -259
  410. package/dist/node_modules/type-is/LICENSE +0 -23
  411. package/dist/node_modules/type-is/README.md +0 -170
  412. package/dist/node_modules/type-is/index.js +0 -266
  413. package/dist/node_modules/type-is/package.json +0 -45
  414. package/dist/node_modules/unpipe/HISTORY.md +0 -4
  415. package/dist/node_modules/unpipe/LICENSE +0 -22
  416. package/dist/node_modules/unpipe/README.md +0 -43
  417. package/dist/node_modules/unpipe/index.js +0 -69
  418. package/dist/node_modules/unpipe/package.json +0 -27
  419. package/dist/node_modules/utils-merge/LICENSE +0 -20
  420. package/dist/node_modules/utils-merge/README.md +0 -34
  421. package/dist/node_modules/utils-merge/index.js +0 -23
  422. package/dist/node_modules/utils-merge/package.json +0 -40
  423. package/dist/node_modules/vary/HISTORY.md +0 -39
  424. package/dist/node_modules/vary/LICENSE +0 -22
  425. package/dist/node_modules/vary/README.md +0 -101
  426. package/dist/node_modules/vary/index.js +0 -149
  427. package/dist/node_modules/vary/package.json +0 -43
@@ -1,555 +0,0 @@
1
- "use strict";
2
- var Buffer = require("safer-buffer").Buffer;
3
-
4
- // Multibyte codec. In this scheme, a character is represented by 1 or more bytes.
5
- // Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences.
6
- // To save memory and loading time, we read table files only when requested.
7
-
8
- exports._dbcs = DBCSCodec;
9
-
10
- var UNASSIGNED = -1,
11
- GB18030_CODE = -2,
12
- SEQ_START = -10,
13
- NODE_START = -1000,
14
- UNASSIGNED_NODE = new Array(0x100),
15
- DEF_CHAR = -1;
16
-
17
- for (var i = 0; i < 0x100; i++)
18
- UNASSIGNED_NODE[i] = UNASSIGNED;
19
-
20
-
21
- // Class DBCSCodec reads and initializes mapping tables.
22
- function DBCSCodec(codecOptions, iconv) {
23
- this.encodingName = codecOptions.encodingName;
24
- if (!codecOptions)
25
- throw new Error("DBCS codec is called without the data.")
26
- if (!codecOptions.table)
27
- throw new Error("Encoding '" + this.encodingName + "' has no data.");
28
-
29
- // Load tables.
30
- var mappingTable = codecOptions.table();
31
-
32
-
33
- // Decode tables: MBCS -> Unicode.
34
-
35
- // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256.
36
- // Trie root is decodeTables[0].
37
- // Values: >= 0 -> unicode character code. can be > 0xFFFF
38
- // == UNASSIGNED -> unknown/unassigned sequence.
39
- // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence.
40
- // <= NODE_START -> index of the next node in our trie to process next byte.
41
- // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq.
42
- this.decodeTables = [];
43
- this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node.
44
-
45
- // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here.
46
- this.decodeTableSeq = [];
47
-
48
- // Actual mapping tables consist of chunks. Use them to fill up decode tables.
49
- for (var i = 0; i < mappingTable.length; i++)
50
- this._addDecodeChunk(mappingTable[i]);
51
-
52
- this.defaultCharUnicode = iconv.defaultCharUnicode;
53
-
54
-
55
- // Encode tables: Unicode -> DBCS.
56
-
57
- // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance.
58
- // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null.
59
- // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.).
60
- // == UNASSIGNED -> no conversion found. Output a default char.
61
- // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence.
62
- this.encodeTable = [];
63
-
64
- // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of
65
- // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key
66
- // means end of sequence (needed when one sequence is a strict subsequence of another).
67
- // Objects are kept separately from encodeTable to increase performance.
68
- this.encodeTableSeq = [];
69
-
70
- // Some chars can be decoded, but need not be encoded.
71
- var skipEncodeChars = {};
72
- if (codecOptions.encodeSkipVals)
73
- for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) {
74
- var val = codecOptions.encodeSkipVals[i];
75
- if (typeof val === 'number')
76
- skipEncodeChars[val] = true;
77
- else
78
- for (var j = val.from; j <= val.to; j++)
79
- skipEncodeChars[j] = true;
80
- }
81
-
82
- // Use decode trie to recursively fill out encode tables.
83
- this._fillEncodeTable(0, 0, skipEncodeChars);
84
-
85
- // Add more encoding pairs when needed.
86
- if (codecOptions.encodeAdd) {
87
- for (var uChar in codecOptions.encodeAdd)
88
- if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar))
89
- this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);
90
- }
91
-
92
- this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];
93
- if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?'];
94
- if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0);
95
-
96
-
97
- // Load & create GB18030 tables when needed.
98
- if (typeof codecOptions.gb18030 === 'function') {
99
- this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges.
100
-
101
- // Add GB18030 decode tables.
102
- var thirdByteNodeIdx = this.decodeTables.length;
103
- var thirdByteNode = this.decodeTables[thirdByteNodeIdx] = UNASSIGNED_NODE.slice(0);
104
-
105
- var fourthByteNodeIdx = this.decodeTables.length;
106
- var fourthByteNode = this.decodeTables[fourthByteNodeIdx] = UNASSIGNED_NODE.slice(0);
107
-
108
- for (var i = 0x81; i <= 0xFE; i++) {
109
- var secondByteNodeIdx = NODE_START - this.decodeTables[0][i];
110
- var secondByteNode = this.decodeTables[secondByteNodeIdx];
111
- for (var j = 0x30; j <= 0x39; j++)
112
- secondByteNode[j] = NODE_START - thirdByteNodeIdx;
113
- }
114
- for (var i = 0x81; i <= 0xFE; i++)
115
- thirdByteNode[i] = NODE_START - fourthByteNodeIdx;
116
- for (var i = 0x30; i <= 0x39; i++)
117
- fourthByteNode[i] = GB18030_CODE
118
- }
119
- }
120
-
121
- DBCSCodec.prototype.encoder = DBCSEncoder;
122
- DBCSCodec.prototype.decoder = DBCSDecoder;
123
-
124
- // Decoder helpers
125
- DBCSCodec.prototype._getDecodeTrieNode = function(addr) {
126
- var bytes = [];
127
- for (; addr > 0; addr >>= 8)
128
- bytes.push(addr & 0xFF);
129
- if (bytes.length == 0)
130
- bytes.push(0);
131
-
132
- var node = this.decodeTables[0];
133
- for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie.
134
- var val = node[bytes[i]];
135
-
136
- if (val == UNASSIGNED) { // Create new node.
137
- node[bytes[i]] = NODE_START - this.decodeTables.length;
138
- this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));
139
- }
140
- else if (val <= NODE_START) { // Existing node.
141
- node = this.decodeTables[NODE_START - val];
142
- }
143
- else
144
- throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16));
145
- }
146
- return node;
147
- }
148
-
149
-
150
- DBCSCodec.prototype._addDecodeChunk = function(chunk) {
151
- // First element of chunk is the hex mbcs code where we start.
152
- var curAddr = parseInt(chunk[0], 16);
153
-
154
- // Choose the decoding node where we'll write our chars.
155
- var writeTable = this._getDecodeTrieNode(curAddr);
156
- curAddr = curAddr & 0xFF;
157
-
158
- // Write all other elements of the chunk to the table.
159
- for (var k = 1; k < chunk.length; k++) {
160
- var part = chunk[k];
161
- if (typeof part === "string") { // String, write as-is.
162
- for (var l = 0; l < part.length;) {
163
- var code = part.charCodeAt(l++);
164
- if (0xD800 <= code && code < 0xDC00) { // Decode surrogate
165
- var codeTrail = part.charCodeAt(l++);
166
- if (0xDC00 <= codeTrail && codeTrail < 0xE000)
167
- writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00);
168
- else
169
- throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]);
170
- }
171
- else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used)
172
- var len = 0xFFF - code + 2;
173
- var seq = [];
174
- for (var m = 0; m < len; m++)
175
- seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq.
176
-
177
- writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;
178
- this.decodeTableSeq.push(seq);
179
- }
180
- else
181
- writeTable[curAddr++] = code; // Basic char
182
- }
183
- }
184
- else if (typeof part === "number") { // Integer, meaning increasing sequence starting with prev character.
185
- var charCode = writeTable[curAddr - 1] + 1;
186
- for (var l = 0; l < part; l++)
187
- writeTable[curAddr++] = charCode++;
188
- }
189
- else
190
- throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]);
191
- }
192
- if (curAddr > 0xFF)
193
- throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr);
194
- }
195
-
196
- // Encoder helpers
197
- DBCSCodec.prototype._getEncodeBucket = function(uCode) {
198
- var high = uCode >> 8; // This could be > 0xFF because of astral characters.
199
- if (this.encodeTable[high] === undefined)
200
- this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand.
201
- return this.encodeTable[high];
202
- }
203
-
204
- DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {
205
- var bucket = this._getEncodeBucket(uCode);
206
- var low = uCode & 0xFF;
207
- if (bucket[low] <= SEQ_START)
208
- this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it.
209
- else if (bucket[low] == UNASSIGNED)
210
- bucket[low] = dbcsCode;
211
- }
212
-
213
- DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {
214
-
215
- // Get the root of character tree according to first character of the sequence.
216
- var uCode = seq[0];
217
- var bucket = this._getEncodeBucket(uCode);
218
- var low = uCode & 0xFF;
219
-
220
- var node;
221
- if (bucket[low] <= SEQ_START) {
222
- // There's already a sequence with - use it.
223
- node = this.encodeTableSeq[SEQ_START-bucket[low]];
224
- }
225
- else {
226
- // There was no sequence object - allocate a new one.
227
- node = {};
228
- if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence.
229
- bucket[low] = SEQ_START - this.encodeTableSeq.length;
230
- this.encodeTableSeq.push(node);
231
- }
232
-
233
- // Traverse the character tree, allocating new nodes as needed.
234
- for (var j = 1; j < seq.length-1; j++) {
235
- var oldVal = node[uCode];
236
- if (typeof oldVal === 'object')
237
- node = oldVal;
238
- else {
239
- node = node[uCode] = {}
240
- if (oldVal !== undefined)
241
- node[DEF_CHAR] = oldVal
242
- }
243
- }
244
-
245
- // Set the leaf to given dbcsCode.
246
- uCode = seq[seq.length-1];
247
- node[uCode] = dbcsCode;
248
- }
249
-
250
- DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {
251
- var node = this.decodeTables[nodeIdx];
252
- for (var i = 0; i < 0x100; i++) {
253
- var uCode = node[i];
254
- var mbCode = prefix + i;
255
- if (skipEncodeChars[mbCode])
256
- continue;
257
-
258
- if (uCode >= 0)
259
- this._setEncodeChar(uCode, mbCode);
260
- else if (uCode <= NODE_START)
261
- this._fillEncodeTable(NODE_START - uCode, mbCode << 8, skipEncodeChars);
262
- else if (uCode <= SEQ_START)
263
- this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);
264
- }
265
- }
266
-
267
-
268
-
269
- // == Encoder ==================================================================
270
-
271
- function DBCSEncoder(options, codec) {
272
- // Encoder state
273
- this.leadSurrogate = -1;
274
- this.seqObj = undefined;
275
-
276
- // Static data
277
- this.encodeTable = codec.encodeTable;
278
- this.encodeTableSeq = codec.encodeTableSeq;
279
- this.defaultCharSingleByte = codec.defCharSB;
280
- this.gb18030 = codec.gb18030;
281
- }
282
-
283
- DBCSEncoder.prototype.write = function(str) {
284
- var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)),
285
- leadSurrogate = this.leadSurrogate,
286
- seqObj = this.seqObj, nextChar = -1,
287
- i = 0, j = 0;
288
-
289
- while (true) {
290
- // 0. Get next character.
291
- if (nextChar === -1) {
292
- if (i == str.length) break;
293
- var uCode = str.charCodeAt(i++);
294
- }
295
- else {
296
- var uCode = nextChar;
297
- nextChar = -1;
298
- }
299
-
300
- // 1. Handle surrogates.
301
- if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates.
302
- if (uCode < 0xDC00) { // We've got lead surrogate.
303
- if (leadSurrogate === -1) {
304
- leadSurrogate = uCode;
305
- continue;
306
- } else {
307
- leadSurrogate = uCode;
308
- // Double lead surrogate found.
309
- uCode = UNASSIGNED;
310
- }
311
- } else { // We've got trail surrogate.
312
- if (leadSurrogate !== -1) {
313
- uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00);
314
- leadSurrogate = -1;
315
- } else {
316
- // Incomplete surrogate pair - only trail surrogate found.
317
- uCode = UNASSIGNED;
318
- }
319
-
320
- }
321
- }
322
- else if (leadSurrogate !== -1) {
323
- // Incomplete surrogate pair - only lead surrogate found.
324
- nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char.
325
- leadSurrogate = -1;
326
- }
327
-
328
- // 2. Convert uCode character.
329
- var dbcsCode = UNASSIGNED;
330
- if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence
331
- var resCode = seqObj[uCode];
332
- if (typeof resCode === 'object') { // Sequence continues.
333
- seqObj = resCode;
334
- continue;
335
-
336
- } else if (typeof resCode == 'number') { // Sequence finished. Write it.
337
- dbcsCode = resCode;
338
-
339
- } else if (resCode == undefined) { // Current character is not part of the sequence.
340
-
341
- // Try default character for this sequence
342
- resCode = seqObj[DEF_CHAR];
343
- if (resCode !== undefined) {
344
- dbcsCode = resCode; // Found. Write it.
345
- nextChar = uCode; // Current character will be written too in the next iteration.
346
-
347
- } else {
348
- // TODO: What if we have no default? (resCode == undefined)
349
- // Then, we should write first char of the sequence as-is and try the rest recursively.
350
- // Didn't do it for now because no encoding has this situation yet.
351
- // Currently, just skip the sequence and write current char.
352
- }
353
- }
354
- seqObj = undefined;
355
- }
356
- else if (uCode >= 0) { // Regular character
357
- var subtable = this.encodeTable[uCode >> 8];
358
- if (subtable !== undefined)
359
- dbcsCode = subtable[uCode & 0xFF];
360
-
361
- if (dbcsCode <= SEQ_START) { // Sequence start
362
- seqObj = this.encodeTableSeq[SEQ_START-dbcsCode];
363
- continue;
364
- }
365
-
366
- if (dbcsCode == UNASSIGNED && this.gb18030) {
367
- // Use GB18030 algorithm to find character(s) to write.
368
- var idx = findIdx(this.gb18030.uChars, uCode);
369
- if (idx != -1) {
370
- var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);
371
- newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600;
372
- newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260;
373
- newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10;
374
- newBuf[j++] = 0x30 + dbcsCode;
375
- continue;
376
- }
377
- }
378
- }
379
-
380
- // 3. Write dbcsCode character.
381
- if (dbcsCode === UNASSIGNED)
382
- dbcsCode = this.defaultCharSingleByte;
383
-
384
- if (dbcsCode < 0x100) {
385
- newBuf[j++] = dbcsCode;
386
- }
387
- else if (dbcsCode < 0x10000) {
388
- newBuf[j++] = dbcsCode >> 8; // high byte
389
- newBuf[j++] = dbcsCode & 0xFF; // low byte
390
- }
391
- else {
392
- newBuf[j++] = dbcsCode >> 16;
393
- newBuf[j++] = (dbcsCode >> 8) & 0xFF;
394
- newBuf[j++] = dbcsCode & 0xFF;
395
- }
396
- }
397
-
398
- this.seqObj = seqObj;
399
- this.leadSurrogate = leadSurrogate;
400
- return newBuf.slice(0, j);
401
- }
402
-
403
- DBCSEncoder.prototype.end = function() {
404
- if (this.leadSurrogate === -1 && this.seqObj === undefined)
405
- return; // All clean. Most often case.
406
-
407
- var newBuf = Buffer.alloc(10), j = 0;
408
-
409
- if (this.seqObj) { // We're in the sequence.
410
- var dbcsCode = this.seqObj[DEF_CHAR];
411
- if (dbcsCode !== undefined) { // Write beginning of the sequence.
412
- if (dbcsCode < 0x100) {
413
- newBuf[j++] = dbcsCode;
414
- }
415
- else {
416
- newBuf[j++] = dbcsCode >> 8; // high byte
417
- newBuf[j++] = dbcsCode & 0xFF; // low byte
418
- }
419
- } else {
420
- // See todo above.
421
- }
422
- this.seqObj = undefined;
423
- }
424
-
425
- if (this.leadSurrogate !== -1) {
426
- // Incomplete surrogate pair - only lead surrogate found.
427
- newBuf[j++] = this.defaultCharSingleByte;
428
- this.leadSurrogate = -1;
429
- }
430
-
431
- return newBuf.slice(0, j);
432
- }
433
-
434
- // Export for testing
435
- DBCSEncoder.prototype.findIdx = findIdx;
436
-
437
-
438
- // == Decoder ==================================================================
439
-
440
- function DBCSDecoder(options, codec) {
441
- // Decoder state
442
- this.nodeIdx = 0;
443
- this.prevBuf = Buffer.alloc(0);
444
-
445
- // Static data
446
- this.decodeTables = codec.decodeTables;
447
- this.decodeTableSeq = codec.decodeTableSeq;
448
- this.defaultCharUnicode = codec.defaultCharUnicode;
449
- this.gb18030 = codec.gb18030;
450
- }
451
-
452
- DBCSDecoder.prototype.write = function(buf) {
453
- var newBuf = Buffer.alloc(buf.length*2),
454
- nodeIdx = this.nodeIdx,
455
- prevBuf = this.prevBuf, prevBufOffset = this.prevBuf.length,
456
- seqStart = -this.prevBuf.length, // idx of the start of current parsed sequence.
457
- uCode;
458
-
459
- if (prevBufOffset > 0) // Make prev buf overlap a little to make it easier to slice later.
460
- prevBuf = Buffer.concat([prevBuf, buf.slice(0, 10)]);
461
-
462
- for (var i = 0, j = 0; i < buf.length; i++) {
463
- var curByte = (i >= 0) ? buf[i] : prevBuf[i + prevBufOffset];
464
-
465
- // Lookup in current trie node.
466
- var uCode = this.decodeTables[nodeIdx][curByte];
467
-
468
- if (uCode >= 0) {
469
- // Normal character, just use it.
470
- }
471
- else if (uCode === UNASSIGNED) { // Unknown char.
472
- // TODO: Callback with seq.
473
- //var curSeq = (seqStart >= 0) ? buf.slice(seqStart, i+1) : prevBuf.slice(seqStart + prevBufOffset, i+1 + prevBufOffset);
474
- i = seqStart; // Try to parse again, after skipping first byte of the sequence ('i' will be incremented by 'for' cycle).
475
- uCode = this.defaultCharUnicode.charCodeAt(0);
476
- }
477
- else if (uCode === GB18030_CODE) {
478
- var curSeq = (seqStart >= 0) ? buf.slice(seqStart, i+1) : prevBuf.slice(seqStart + prevBufOffset, i+1 + prevBufOffset);
479
- var ptr = (curSeq[0]-0x81)*12600 + (curSeq[1]-0x30)*1260 + (curSeq[2]-0x81)*10 + (curSeq[3]-0x30);
480
- var idx = findIdx(this.gb18030.gbChars, ptr);
481
- uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];
482
- }
483
- else if (uCode <= NODE_START) { // Go to next trie node.
484
- nodeIdx = NODE_START - uCode;
485
- continue;
486
- }
487
- else if (uCode <= SEQ_START) { // Output a sequence of chars.
488
- var seq = this.decodeTableSeq[SEQ_START - uCode];
489
- for (var k = 0; k < seq.length - 1; k++) {
490
- uCode = seq[k];
491
- newBuf[j++] = uCode & 0xFF;
492
- newBuf[j++] = uCode >> 8;
493
- }
494
- uCode = seq[seq.length-1];
495
- }
496
- else
497
- throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte);
498
-
499
- // Write the character to buffer, handling higher planes using surrogate pair.
500
- if (uCode > 0xFFFF) {
501
- uCode -= 0x10000;
502
- var uCodeLead = 0xD800 + Math.floor(uCode / 0x400);
503
- newBuf[j++] = uCodeLead & 0xFF;
504
- newBuf[j++] = uCodeLead >> 8;
505
-
506
- uCode = 0xDC00 + uCode % 0x400;
507
- }
508
- newBuf[j++] = uCode & 0xFF;
509
- newBuf[j++] = uCode >> 8;
510
-
511
- // Reset trie node.
512
- nodeIdx = 0; seqStart = i+1;
513
- }
514
-
515
- this.nodeIdx = nodeIdx;
516
- this.prevBuf = (seqStart >= 0) ? buf.slice(seqStart) : prevBuf.slice(seqStart + prevBufOffset);
517
- return newBuf.slice(0, j).toString('ucs2');
518
- }
519
-
520
- DBCSDecoder.prototype.end = function() {
521
- var ret = '';
522
-
523
- // Try to parse all remaining chars.
524
- while (this.prevBuf.length > 0) {
525
- // Skip 1 character in the buffer.
526
- ret += this.defaultCharUnicode;
527
- var buf = this.prevBuf.slice(1);
528
-
529
- // Parse remaining as usual.
530
- this.prevBuf = Buffer.alloc(0);
531
- this.nodeIdx = 0;
532
- if (buf.length > 0)
533
- ret += this.write(buf);
534
- }
535
-
536
- this.nodeIdx = 0;
537
- return ret;
538
- }
539
-
540
- // Binary search for GB18030. Returns largest i such that table[i] <= val.
541
- function findIdx(table, val) {
542
- if (table[0] > val)
543
- return -1;
544
-
545
- var l = 0, r = table.length;
546
- while (l < r-1) { // always table[l] <= val < table[r]
547
- var mid = l + Math.floor((r-l+1)/2);
548
- if (table[mid] <= val)
549
- l = mid;
550
- else
551
- r = mid;
552
- }
553
- return l;
554
- }
555
-