dcs02 1.1.0
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/index.html +659 -0
- package/package.json +19 -0
- package/service/node_modules/.package-lock.json +845 -0
- package/service/node_modules/accepts/HISTORY.md +250 -0
- package/service/node_modules/accepts/LICENSE +23 -0
- package/service/node_modules/accepts/README.md +140 -0
- package/service/node_modules/accepts/index.js +238 -0
- package/service/node_modules/accepts/package.json +47 -0
- package/service/node_modules/body-parser/LICENSE +23 -0
- package/service/node_modules/body-parser/README.md +494 -0
- package/service/node_modules/body-parser/index.js +71 -0
- package/service/node_modules/body-parser/lib/read.js +247 -0
- package/service/node_modules/body-parser/lib/types/json.js +158 -0
- package/service/node_modules/body-parser/lib/types/raw.js +42 -0
- package/service/node_modules/body-parser/lib/types/text.js +36 -0
- package/service/node_modules/body-parser/lib/types/urlencoded.js +142 -0
- package/service/node_modules/body-parser/lib/utils.js +98 -0
- package/service/node_modules/body-parser/package.json +52 -0
- package/service/node_modules/bytes/History.md +97 -0
- package/service/node_modules/bytes/LICENSE +23 -0
- package/service/node_modules/bytes/Readme.md +152 -0
- package/service/node_modules/bytes/index.js +170 -0
- package/service/node_modules/bytes/package.json +42 -0
- package/service/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
- package/service/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
- package/service/node_modules/call-bind-apply-helpers/.nycrc +9 -0
- package/service/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
- package/service/node_modules/call-bind-apply-helpers/LICENSE +21 -0
- package/service/node_modules/call-bind-apply-helpers/README.md +62 -0
- package/service/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/service/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/service/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/service/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/service/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/service/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/service/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/service/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/service/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
- package/service/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/service/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/service/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/service/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/service/node_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/service/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/service/node_modules/call-bound/.eslintrc +13 -0
- package/service/node_modules/call-bound/.github/FUNDING.yml +12 -0
- package/service/node_modules/call-bound/.nycrc +9 -0
- package/service/node_modules/call-bound/CHANGELOG.md +42 -0
- package/service/node_modules/call-bound/LICENSE +21 -0
- package/service/node_modules/call-bound/README.md +53 -0
- package/service/node_modules/call-bound/index.d.ts +94 -0
- package/service/node_modules/call-bound/index.js +19 -0
- package/service/node_modules/call-bound/package.json +99 -0
- package/service/node_modules/call-bound/test/index.js +61 -0
- package/service/node_modules/call-bound/tsconfig.json +10 -0
- package/service/node_modules/content-disposition/HISTORY.md +72 -0
- package/service/node_modules/content-disposition/LICENSE +22 -0
- package/service/node_modules/content-disposition/README.md +142 -0
- package/service/node_modules/content-disposition/index.js +458 -0
- package/service/node_modules/content-disposition/package.json +43 -0
- package/service/node_modules/content-type/HISTORY.md +29 -0
- package/service/node_modules/content-type/LICENSE +22 -0
- package/service/node_modules/content-type/README.md +94 -0
- package/service/node_modules/content-type/index.js +225 -0
- package/service/node_modules/content-type/package.json +42 -0
- package/service/node_modules/cookie/LICENSE +24 -0
- package/service/node_modules/cookie/README.md +317 -0
- package/service/node_modules/cookie/SECURITY.md +25 -0
- package/service/node_modules/cookie/index.js +335 -0
- package/service/node_modules/cookie/package.json +44 -0
- package/service/node_modules/cookie-signature/History.md +70 -0
- package/service/node_modules/cookie-signature/LICENSE +22 -0
- package/service/node_modules/cookie-signature/Readme.md +23 -0
- package/service/node_modules/cookie-signature/index.js +47 -0
- package/service/node_modules/cookie-signature/package.json +24 -0
- package/service/node_modules/cors/LICENSE +22 -0
- package/service/node_modules/cors/README.md +277 -0
- package/service/node_modules/cors/lib/index.js +238 -0
- package/service/node_modules/cors/package.json +42 -0
- package/service/node_modules/debug/LICENSE +20 -0
- package/service/node_modules/debug/README.md +481 -0
- package/service/node_modules/debug/package.json +64 -0
- package/service/node_modules/debug/src/browser.js +272 -0
- package/service/node_modules/debug/src/common.js +292 -0
- package/service/node_modules/debug/src/index.js +10 -0
- package/service/node_modules/debug/src/node.js +263 -0
- package/service/node_modules/depd/History.md +103 -0
- package/service/node_modules/depd/LICENSE +22 -0
- package/service/node_modules/depd/Readme.md +280 -0
- package/service/node_modules/depd/index.js +538 -0
- package/service/node_modules/depd/lib/browser/index.js +77 -0
- package/service/node_modules/depd/package.json +45 -0
- package/service/node_modules/dunder-proto/.eslintrc +5 -0
- package/service/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
- package/service/node_modules/dunder-proto/.nycrc +13 -0
- package/service/node_modules/dunder-proto/CHANGELOG.md +24 -0
- package/service/node_modules/dunder-proto/LICENSE +21 -0
- package/service/node_modules/dunder-proto/README.md +54 -0
- package/service/node_modules/dunder-proto/get.d.ts +5 -0
- package/service/node_modules/dunder-proto/get.js +30 -0
- package/service/node_modules/dunder-proto/package.json +76 -0
- package/service/node_modules/dunder-proto/set.d.ts +5 -0
- package/service/node_modules/dunder-proto/set.js +35 -0
- package/service/node_modules/dunder-proto/test/get.js +34 -0
- package/service/node_modules/dunder-proto/test/index.js +4 -0
- package/service/node_modules/dunder-proto/test/set.js +50 -0
- package/service/node_modules/dunder-proto/tsconfig.json +9 -0
- package/service/node_modules/ee-first/LICENSE +22 -0
- package/service/node_modules/ee-first/README.md +80 -0
- package/service/node_modules/ee-first/index.js +95 -0
- package/service/node_modules/ee-first/package.json +29 -0
- package/service/node_modules/encodeurl/LICENSE +22 -0
- package/service/node_modules/encodeurl/README.md +109 -0
- package/service/node_modules/encodeurl/index.js +60 -0
- package/service/node_modules/encodeurl/package.json +40 -0
- package/service/node_modules/es-define-property/.eslintrc +13 -0
- package/service/node_modules/es-define-property/.github/FUNDING.yml +12 -0
- package/service/node_modules/es-define-property/.nycrc +9 -0
- package/service/node_modules/es-define-property/CHANGELOG.md +29 -0
- package/service/node_modules/es-define-property/LICENSE +21 -0
- package/service/node_modules/es-define-property/README.md +49 -0
- package/service/node_modules/es-define-property/index.d.ts +3 -0
- package/service/node_modules/es-define-property/index.js +14 -0
- package/service/node_modules/es-define-property/package.json +81 -0
- package/service/node_modules/es-define-property/test/index.js +56 -0
- package/service/node_modules/es-define-property/tsconfig.json +10 -0
- package/service/node_modules/es-errors/.eslintrc +5 -0
- package/service/node_modules/es-errors/.github/FUNDING.yml +12 -0
- package/service/node_modules/es-errors/CHANGELOG.md +40 -0
- package/service/node_modules/es-errors/LICENSE +21 -0
- package/service/node_modules/es-errors/README.md +55 -0
- package/service/node_modules/es-errors/eval.d.ts +3 -0
- package/service/node_modules/es-errors/eval.js +4 -0
- package/service/node_modules/es-errors/index.d.ts +3 -0
- package/service/node_modules/es-errors/index.js +4 -0
- package/service/node_modules/es-errors/package.json +80 -0
- package/service/node_modules/es-errors/range.d.ts +3 -0
- package/service/node_modules/es-errors/range.js +4 -0
- package/service/node_modules/es-errors/ref.d.ts +3 -0
- package/service/node_modules/es-errors/ref.js +4 -0
- package/service/node_modules/es-errors/syntax.d.ts +3 -0
- package/service/node_modules/es-errors/syntax.js +4 -0
- package/service/node_modules/es-errors/test/index.js +19 -0
- package/service/node_modules/es-errors/tsconfig.json +49 -0
- package/service/node_modules/es-errors/type.d.ts +3 -0
- package/service/node_modules/es-errors/type.js +4 -0
- package/service/node_modules/es-errors/uri.d.ts +3 -0
- package/service/node_modules/es-errors/uri.js +4 -0
- package/service/node_modules/es-object-atoms/.eslintrc +16 -0
- package/service/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
- package/service/node_modules/es-object-atoms/CHANGELOG.md +37 -0
- package/service/node_modules/es-object-atoms/LICENSE +21 -0
- package/service/node_modules/es-object-atoms/README.md +63 -0
- package/service/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/service/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/service/node_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/service/node_modules/es-object-atoms/ToObject.js +10 -0
- package/service/node_modules/es-object-atoms/index.d.ts +3 -0
- package/service/node_modules/es-object-atoms/index.js +4 -0
- package/service/node_modules/es-object-atoms/isObject.d.ts +3 -0
- package/service/node_modules/es-object-atoms/isObject.js +6 -0
- package/service/node_modules/es-object-atoms/package.json +80 -0
- package/service/node_modules/es-object-atoms/test/index.js +38 -0
- package/service/node_modules/es-object-atoms/tsconfig.json +6 -0
- package/service/node_modules/escape-html/LICENSE +24 -0
- package/service/node_modules/escape-html/Readme.md +43 -0
- package/service/node_modules/escape-html/index.js +78 -0
- package/service/node_modules/escape-html/package.json +24 -0
- package/service/node_modules/etag/HISTORY.md +83 -0
- package/service/node_modules/etag/LICENSE +22 -0
- package/service/node_modules/etag/README.md +159 -0
- package/service/node_modules/etag/index.js +131 -0
- package/service/node_modules/etag/package.json +47 -0
- package/service/node_modules/express/LICENSE +24 -0
- package/service/node_modules/express/Readme.md +276 -0
- package/service/node_modules/express/index.js +11 -0
- package/service/node_modules/express/lib/application.js +631 -0
- package/service/node_modules/express/lib/express.js +81 -0
- package/service/node_modules/express/lib/request.js +514 -0
- package/service/node_modules/express/lib/response.js +1053 -0
- package/service/node_modules/express/lib/utils.js +271 -0
- package/service/node_modules/express/lib/view.js +205 -0
- package/service/node_modules/express/package.json +99 -0
- package/service/node_modules/finalhandler/HISTORY.md +239 -0
- package/service/node_modules/finalhandler/LICENSE +22 -0
- package/service/node_modules/finalhandler/README.md +150 -0
- package/service/node_modules/finalhandler/index.js +293 -0
- package/service/node_modules/finalhandler/package.json +47 -0
- package/service/node_modules/forwarded/HISTORY.md +21 -0
- package/service/node_modules/forwarded/LICENSE +22 -0
- package/service/node_modules/forwarded/README.md +57 -0
- package/service/node_modules/forwarded/index.js +90 -0
- package/service/node_modules/forwarded/package.json +45 -0
- package/service/node_modules/fresh/HISTORY.md +80 -0
- package/service/node_modules/fresh/LICENSE +23 -0
- package/service/node_modules/fresh/README.md +117 -0
- package/service/node_modules/fresh/index.js +136 -0
- package/service/node_modules/fresh/package.json +46 -0
- package/service/node_modules/function-bind/.eslintrc +21 -0
- package/service/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/service/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/service/node_modules/function-bind/.nycrc +13 -0
- package/service/node_modules/function-bind/CHANGELOG.md +136 -0
- package/service/node_modules/function-bind/LICENSE +20 -0
- package/service/node_modules/function-bind/README.md +46 -0
- package/service/node_modules/function-bind/implementation.js +84 -0
- package/service/node_modules/function-bind/index.js +5 -0
- package/service/node_modules/function-bind/package.json +87 -0
- package/service/node_modules/function-bind/test/.eslintrc +9 -0
- package/service/node_modules/function-bind/test/index.js +252 -0
- package/service/node_modules/get-intrinsic/.eslintrc +42 -0
- package/service/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
- package/service/node_modules/get-intrinsic/.nycrc +9 -0
- package/service/node_modules/get-intrinsic/CHANGELOG.md +186 -0
- package/service/node_modules/get-intrinsic/LICENSE +21 -0
- package/service/node_modules/get-intrinsic/README.md +71 -0
- package/service/node_modules/get-intrinsic/index.js +378 -0
- package/service/node_modules/get-intrinsic/package.json +97 -0
- package/service/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
- package/service/node_modules/get-proto/.eslintrc +10 -0
- package/service/node_modules/get-proto/.github/FUNDING.yml +12 -0
- package/service/node_modules/get-proto/.nycrc +9 -0
- package/service/node_modules/get-proto/CHANGELOG.md +21 -0
- package/service/node_modules/get-proto/LICENSE +21 -0
- package/service/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/service/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/service/node_modules/get-proto/README.md +50 -0
- package/service/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/service/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/service/node_modules/get-proto/index.d.ts +5 -0
- package/service/node_modules/get-proto/index.js +27 -0
- package/service/node_modules/get-proto/package.json +81 -0
- package/service/node_modules/get-proto/test/index.js +68 -0
- package/service/node_modules/get-proto/tsconfig.json +9 -0
- package/service/node_modules/gopd/.eslintrc +16 -0
- package/service/node_modules/gopd/.github/FUNDING.yml +12 -0
- package/service/node_modules/gopd/CHANGELOG.md +45 -0
- package/service/node_modules/gopd/LICENSE +21 -0
- package/service/node_modules/gopd/README.md +40 -0
- package/service/node_modules/gopd/gOPD.d.ts +1 -0
- package/service/node_modules/gopd/gOPD.js +4 -0
- package/service/node_modules/gopd/index.d.ts +5 -0
- package/service/node_modules/gopd/index.js +15 -0
- package/service/node_modules/gopd/package.json +77 -0
- package/service/node_modules/gopd/test/index.js +36 -0
- package/service/node_modules/gopd/tsconfig.json +9 -0
- package/service/node_modules/has-symbols/.eslintrc +11 -0
- package/service/node_modules/has-symbols/.github/FUNDING.yml +12 -0
- package/service/node_modules/has-symbols/.nycrc +9 -0
- package/service/node_modules/has-symbols/CHANGELOG.md +91 -0
- package/service/node_modules/has-symbols/LICENSE +21 -0
- package/service/node_modules/has-symbols/README.md +46 -0
- package/service/node_modules/has-symbols/index.d.ts +3 -0
- package/service/node_modules/has-symbols/index.js +14 -0
- package/service/node_modules/has-symbols/package.json +111 -0
- package/service/node_modules/has-symbols/shams.d.ts +3 -0
- package/service/node_modules/has-symbols/shams.js +45 -0
- package/service/node_modules/has-symbols/test/index.js +22 -0
- package/service/node_modules/has-symbols/test/shams/core-js.js +29 -0
- package/service/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
- package/service/node_modules/has-symbols/test/tests.js +58 -0
- package/service/node_modules/has-symbols/tsconfig.json +10 -0
- package/service/node_modules/hasown/.eslintrc +5 -0
- package/service/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/service/node_modules/hasown/.nycrc +13 -0
- package/service/node_modules/hasown/CHANGELOG.md +40 -0
- package/service/node_modules/hasown/LICENSE +21 -0
- package/service/node_modules/hasown/README.md +40 -0
- package/service/node_modules/hasown/index.d.ts +3 -0
- package/service/node_modules/hasown/index.js +8 -0
- package/service/node_modules/hasown/package.json +92 -0
- package/service/node_modules/hasown/tsconfig.json +6 -0
- package/service/node_modules/http-errors/HISTORY.md +186 -0
- package/service/node_modules/http-errors/LICENSE +23 -0
- package/service/node_modules/http-errors/README.md +169 -0
- package/service/node_modules/http-errors/index.js +290 -0
- package/service/node_modules/http-errors/package.json +54 -0
- package/service/node_modules/iconv-lite/LICENSE +21 -0
- package/service/node_modules/iconv-lite/README.md +138 -0
- package/service/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/service/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/service/node_modules/iconv-lite/encodings/index.js +23 -0
- package/service/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/service/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/service/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/service/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/service/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/service/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/service/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/service/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/service/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/service/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/service/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/service/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/service/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/service/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/service/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/service/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/service/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/service/node_modules/iconv-lite/lib/index.d.ts +129 -0
- package/service/node_modules/iconv-lite/lib/index.js +182 -0
- package/service/node_modules/iconv-lite/lib/streams.js +105 -0
- package/service/node_modules/iconv-lite/package.json +70 -0
- package/service/node_modules/iconv-lite/types/encodings.d.ts +423 -0
- package/service/node_modules/inherits/LICENSE +16 -0
- package/service/node_modules/inherits/README.md +42 -0
- package/service/node_modules/inherits/inherits.js +9 -0
- package/service/node_modules/inherits/inherits_browser.js +27 -0
- package/service/node_modules/inherits/package.json +29 -0
- package/service/node_modules/ipaddr.js/LICENSE +19 -0
- package/service/node_modules/ipaddr.js/README.md +233 -0
- package/service/node_modules/ipaddr.js/ipaddr.min.js +1 -0
- package/service/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
- package/service/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
- package/service/node_modules/ipaddr.js/package.json +35 -0
- package/service/node_modules/is-promise/LICENSE +19 -0
- package/service/node_modules/is-promise/index.d.ts +2 -0
- package/service/node_modules/is-promise/index.js +6 -0
- package/service/node_modules/is-promise/index.mjs +3 -0
- package/service/node_modules/is-promise/package.json +30 -0
- package/service/node_modules/is-promise/readme.md +33 -0
- package/service/node_modules/math-intrinsics/.eslintrc +16 -0
- package/service/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/service/node_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/service/node_modules/math-intrinsics/LICENSE +21 -0
- package/service/node_modules/math-intrinsics/README.md +50 -0
- package/service/node_modules/math-intrinsics/abs.d.ts +1 -0
- package/service/node_modules/math-intrinsics/abs.js +4 -0
- package/service/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/service/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/service/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/service/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/service/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/service/node_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/service/node_modules/math-intrinsics/floor.d.ts +1 -0
- package/service/node_modules/math-intrinsics/floor.js +4 -0
- package/service/node_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/service/node_modules/math-intrinsics/isFinite.js +12 -0
- package/service/node_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/service/node_modules/math-intrinsics/isInteger.js +16 -0
- package/service/node_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/service/node_modules/math-intrinsics/isNaN.js +6 -0
- package/service/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/service/node_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/service/node_modules/math-intrinsics/max.d.ts +1 -0
- package/service/node_modules/math-intrinsics/max.js +4 -0
- package/service/node_modules/math-intrinsics/min.d.ts +1 -0
- package/service/node_modules/math-intrinsics/min.js +4 -0
- package/service/node_modules/math-intrinsics/mod.d.ts +3 -0
- package/service/node_modules/math-intrinsics/mod.js +9 -0
- package/service/node_modules/math-intrinsics/package.json +86 -0
- package/service/node_modules/math-intrinsics/pow.d.ts +1 -0
- package/service/node_modules/math-intrinsics/pow.js +4 -0
- package/service/node_modules/math-intrinsics/round.d.ts +1 -0
- package/service/node_modules/math-intrinsics/round.js +4 -0
- package/service/node_modules/math-intrinsics/sign.d.ts +3 -0
- package/service/node_modules/math-intrinsics/sign.js +11 -0
- package/service/node_modules/math-intrinsics/test/index.js +192 -0
- package/service/node_modules/math-intrinsics/tsconfig.json +3 -0
- package/service/node_modules/media-typer/HISTORY.md +50 -0
- package/service/node_modules/media-typer/LICENSE +22 -0
- package/service/node_modules/media-typer/README.md +93 -0
- package/service/node_modules/media-typer/index.js +143 -0
- package/service/node_modules/media-typer/package.json +33 -0
- package/service/node_modules/merge-descriptors/index.d.ts +11 -0
- package/service/node_modules/merge-descriptors/index.js +26 -0
- package/service/node_modules/merge-descriptors/license +11 -0
- package/service/node_modules/merge-descriptors/package.json +50 -0
- package/service/node_modules/merge-descriptors/readme.md +55 -0
- package/service/node_modules/mime-db/HISTORY.md +541 -0
- package/service/node_modules/mime-db/LICENSE +23 -0
- package/service/node_modules/mime-db/README.md +109 -0
- package/service/node_modules/mime-db/db.json +9342 -0
- package/service/node_modules/mime-db/index.js +12 -0
- package/service/node_modules/mime-db/package.json +56 -0
- package/service/node_modules/mime-types/HISTORY.md +428 -0
- package/service/node_modules/mime-types/LICENSE +23 -0
- package/service/node_modules/mime-types/README.md +126 -0
- package/service/node_modules/mime-types/index.js +211 -0
- package/service/node_modules/mime-types/mimeScore.js +57 -0
- package/service/node_modules/mime-types/package.json +49 -0
- package/service/node_modules/ms/index.js +162 -0
- package/service/node_modules/ms/license.md +21 -0
- package/service/node_modules/ms/package.json +38 -0
- package/service/node_modules/ms/readme.md +59 -0
- package/service/node_modules/negotiator/HISTORY.md +114 -0
- package/service/node_modules/negotiator/LICENSE +24 -0
- package/service/node_modules/negotiator/README.md +212 -0
- package/service/node_modules/negotiator/index.js +83 -0
- package/service/node_modules/negotiator/lib/charset.js +169 -0
- package/service/node_modules/negotiator/lib/encoding.js +205 -0
- package/service/node_modules/negotiator/lib/language.js +179 -0
- package/service/node_modules/negotiator/lib/mediaType.js +294 -0
- package/service/node_modules/negotiator/package.json +43 -0
- package/service/node_modules/object-assign/index.js +90 -0
- package/service/node_modules/object-assign/license +21 -0
- package/service/node_modules/object-assign/package.json +42 -0
- package/service/node_modules/object-assign/readme.md +61 -0
- package/service/node_modules/object-inspect/.eslintrc +53 -0
- package/service/node_modules/object-inspect/.github/FUNDING.yml +12 -0
- package/service/node_modules/object-inspect/.nycrc +13 -0
- package/service/node_modules/object-inspect/CHANGELOG.md +424 -0
- package/service/node_modules/object-inspect/LICENSE +21 -0
- package/service/node_modules/object-inspect/example/all.js +23 -0
- package/service/node_modules/object-inspect/example/circular.js +6 -0
- package/service/node_modules/object-inspect/example/fn.js +5 -0
- package/service/node_modules/object-inspect/example/inspect.js +10 -0
- package/service/node_modules/object-inspect/index.js +544 -0
- package/service/node_modules/object-inspect/package-support.json +20 -0
- package/service/node_modules/object-inspect/package.json +105 -0
- package/service/node_modules/object-inspect/readme.markdown +84 -0
- package/service/node_modules/object-inspect/test/bigint.js +58 -0
- package/service/node_modules/object-inspect/test/browser/dom.js +15 -0
- package/service/node_modules/object-inspect/test/circular.js +16 -0
- package/service/node_modules/object-inspect/test/deep.js +12 -0
- package/service/node_modules/object-inspect/test/element.js +53 -0
- package/service/node_modules/object-inspect/test/err.js +48 -0
- package/service/node_modules/object-inspect/test/fakes.js +29 -0
- package/service/node_modules/object-inspect/test/fn.js +76 -0
- package/service/node_modules/object-inspect/test/global.js +17 -0
- package/service/node_modules/object-inspect/test/has.js +15 -0
- package/service/node_modules/object-inspect/test/holes.js +15 -0
- package/service/node_modules/object-inspect/test/indent-option.js +271 -0
- package/service/node_modules/object-inspect/test/inspect.js +139 -0
- package/service/node_modules/object-inspect/test/lowbyte.js +12 -0
- package/service/node_modules/object-inspect/test/number.js +58 -0
- package/service/node_modules/object-inspect/test/quoteStyle.js +26 -0
- package/service/node_modules/object-inspect/test/toStringTag.js +40 -0
- package/service/node_modules/object-inspect/test/undef.js +12 -0
- package/service/node_modules/object-inspect/test/values.js +261 -0
- package/service/node_modules/object-inspect/test-core-js.js +26 -0
- package/service/node_modules/object-inspect/util.inspect.js +1 -0
- package/service/node_modules/on-finished/HISTORY.md +98 -0
- package/service/node_modules/on-finished/LICENSE +23 -0
- package/service/node_modules/on-finished/README.md +162 -0
- package/service/node_modules/on-finished/index.js +234 -0
- package/service/node_modules/on-finished/package.json +39 -0
- package/service/node_modules/once/LICENSE +15 -0
- package/service/node_modules/once/README.md +79 -0
- package/service/node_modules/once/once.js +42 -0
- package/service/node_modules/once/package.json +33 -0
- package/service/node_modules/parseurl/HISTORY.md +58 -0
- package/service/node_modules/parseurl/LICENSE +24 -0
- package/service/node_modules/parseurl/README.md +133 -0
- package/service/node_modules/parseurl/index.js +158 -0
- package/service/node_modules/parseurl/package.json +40 -0
- package/service/node_modules/path-to-regexp/LICENSE +21 -0
- package/service/node_modules/path-to-regexp/Readme.md +224 -0
- package/service/node_modules/path-to-regexp/dist/index.d.ts +144 -0
- package/service/node_modules/path-to-regexp/dist/index.js +409 -0
- package/service/node_modules/path-to-regexp/dist/index.js.map +1 -0
- package/service/node_modules/path-to-regexp/package.json +64 -0
- package/service/node_modules/proxy-addr/HISTORY.md +161 -0
- package/service/node_modules/proxy-addr/LICENSE +22 -0
- package/service/node_modules/proxy-addr/README.md +139 -0
- package/service/node_modules/proxy-addr/index.js +327 -0
- package/service/node_modules/proxy-addr/package.json +47 -0
- package/service/node_modules/qs/.editorconfig +46 -0
- package/service/node_modules/qs/.github/FUNDING.yml +12 -0
- package/service/node_modules/qs/.github/SECURITY.md +11 -0
- package/service/node_modules/qs/.github/THREAT_MODEL.md +78 -0
- package/service/node_modules/qs/.nycrc +13 -0
- package/service/node_modules/qs/CHANGELOG.md +631 -0
- package/service/node_modules/qs/LICENSE.md +29 -0
- package/service/node_modules/qs/README.md +733 -0
- package/service/node_modules/qs/dist/qs.js +141 -0
- package/service/node_modules/qs/eslint.config.mjs +56 -0
- package/service/node_modules/qs/lib/formats.js +23 -0
- package/service/node_modules/qs/lib/index.js +11 -0
- package/service/node_modules/qs/lib/parse.js +360 -0
- package/service/node_modules/qs/lib/stringify.js +356 -0
- package/service/node_modules/qs/lib/utils.js +320 -0
- package/service/node_modules/qs/package.json +94 -0
- package/service/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/service/node_modules/qs/test/parse.js +1396 -0
- package/service/node_modules/qs/test/stringify.js +1310 -0
- package/service/node_modules/qs/test/utils.js +381 -0
- package/service/node_modules/range-parser/HISTORY.md +56 -0
- package/service/node_modules/range-parser/LICENSE +23 -0
- package/service/node_modules/range-parser/README.md +84 -0
- package/service/node_modules/range-parser/index.js +162 -0
- package/service/node_modules/range-parser/package.json +44 -0
- package/service/node_modules/raw-body/LICENSE +22 -0
- package/service/node_modules/raw-body/README.md +223 -0
- package/service/node_modules/raw-body/index.d.ts +85 -0
- package/service/node_modules/raw-body/index.js +336 -0
- package/service/node_modules/raw-body/package.json +46 -0
- package/service/node_modules/router/HISTORY.md +228 -0
- package/service/node_modules/router/LICENSE +23 -0
- package/service/node_modules/router/README.md +416 -0
- package/service/node_modules/router/index.js +748 -0
- package/service/node_modules/router/lib/layer.js +247 -0
- package/service/node_modules/router/lib/route.js +242 -0
- package/service/node_modules/router/package.json +44 -0
- package/service/node_modules/safer-buffer/LICENSE +21 -0
- package/service/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/service/node_modules/safer-buffer/Readme.md +156 -0
- package/service/node_modules/safer-buffer/dangerous.js +58 -0
- package/service/node_modules/safer-buffer/package.json +34 -0
- package/service/node_modules/safer-buffer/safer.js +77 -0
- package/service/node_modules/safer-buffer/tests.js +406 -0
- package/service/node_modules/send/LICENSE +23 -0
- package/service/node_modules/send/README.md +317 -0
- package/service/node_modules/send/index.js +997 -0
- package/service/node_modules/send/package.json +63 -0
- package/service/node_modules/serve-static/LICENSE +25 -0
- package/service/node_modules/serve-static/README.md +253 -0
- package/service/node_modules/serve-static/index.js +208 -0
- package/service/node_modules/serve-static/package.json +44 -0
- package/service/node_modules/setprototypeof/LICENSE +13 -0
- package/service/node_modules/setprototypeof/README.md +31 -0
- package/service/node_modules/setprototypeof/index.d.ts +2 -0
- package/service/node_modules/setprototypeof/index.js +17 -0
- package/service/node_modules/setprototypeof/package.json +38 -0
- package/service/node_modules/setprototypeof/test/index.js +24 -0
- package/service/node_modules/side-channel/.editorconfig +9 -0
- package/service/node_modules/side-channel/.eslintrc +12 -0
- package/service/node_modules/side-channel/.github/FUNDING.yml +12 -0
- package/service/node_modules/side-channel/.nycrc +13 -0
- package/service/node_modules/side-channel/CHANGELOG.md +110 -0
- package/service/node_modules/side-channel/LICENSE +21 -0
- package/service/node_modules/side-channel/README.md +61 -0
- package/service/node_modules/side-channel/index.d.ts +14 -0
- package/service/node_modules/side-channel/index.js +43 -0
- package/service/node_modules/side-channel/package.json +85 -0
- package/service/node_modules/side-channel/test/index.js +104 -0
- package/service/node_modules/side-channel/tsconfig.json +9 -0
- package/service/node_modules/side-channel-list/.editorconfig +9 -0
- package/service/node_modules/side-channel-list/.eslintrc +11 -0
- package/service/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/service/node_modules/side-channel-list/.nycrc +13 -0
- package/service/node_modules/side-channel-list/CHANGELOG.md +15 -0
- package/service/node_modules/side-channel-list/LICENSE +21 -0
- package/service/node_modules/side-channel-list/README.md +62 -0
- package/service/node_modules/side-channel-list/index.d.ts +13 -0
- package/service/node_modules/side-channel-list/index.js +113 -0
- package/service/node_modules/side-channel-list/list.d.ts +14 -0
- package/service/node_modules/side-channel-list/package.json +77 -0
- package/service/node_modules/side-channel-list/test/index.js +104 -0
- package/service/node_modules/side-channel-list/tsconfig.json +9 -0
- package/service/node_modules/side-channel-map/.editorconfig +9 -0
- package/service/node_modules/side-channel-map/.eslintrc +11 -0
- package/service/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/service/node_modules/side-channel-map/.nycrc +13 -0
- package/service/node_modules/side-channel-map/CHANGELOG.md +22 -0
- package/service/node_modules/side-channel-map/LICENSE +21 -0
- package/service/node_modules/side-channel-map/README.md +62 -0
- package/service/node_modules/side-channel-map/index.d.ts +15 -0
- package/service/node_modules/side-channel-map/index.js +68 -0
- package/service/node_modules/side-channel-map/package.json +80 -0
- package/service/node_modules/side-channel-map/test/index.js +114 -0
- package/service/node_modules/side-channel-map/tsconfig.json +9 -0
- package/service/node_modules/side-channel-weakmap/.editorconfig +9 -0
- package/service/node_modules/side-channel-weakmap/.eslintrc +12 -0
- package/service/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/service/node_modules/side-channel-weakmap/.nycrc +13 -0
- package/service/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/service/node_modules/side-channel-weakmap/LICENSE +21 -0
- package/service/node_modules/side-channel-weakmap/README.md +62 -0
- package/service/node_modules/side-channel-weakmap/index.d.ts +15 -0
- package/service/node_modules/side-channel-weakmap/index.js +84 -0
- package/service/node_modules/side-channel-weakmap/package.json +87 -0
- package/service/node_modules/side-channel-weakmap/test/index.js +114 -0
- package/service/node_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/service/node_modules/statuses/HISTORY.md +87 -0
- package/service/node_modules/statuses/LICENSE +23 -0
- package/service/node_modules/statuses/README.md +139 -0
- package/service/node_modules/statuses/codes.json +65 -0
- package/service/node_modules/statuses/index.js +146 -0
- package/service/node_modules/statuses/package.json +49 -0
- package/service/node_modules/toidentifier/HISTORY.md +9 -0
- package/service/node_modules/toidentifier/LICENSE +21 -0
- package/service/node_modules/toidentifier/README.md +61 -0
- package/service/node_modules/toidentifier/index.js +32 -0
- package/service/node_modules/toidentifier/package.json +38 -0
- package/service/node_modules/type-is/HISTORY.md +292 -0
- package/service/node_modules/type-is/LICENSE +23 -0
- package/service/node_modules/type-is/README.md +198 -0
- package/service/node_modules/type-is/index.js +250 -0
- package/service/node_modules/type-is/package.json +47 -0
- package/service/node_modules/unpipe/HISTORY.md +4 -0
- package/service/node_modules/unpipe/LICENSE +22 -0
- package/service/node_modules/unpipe/README.md +43 -0
- package/service/node_modules/unpipe/index.js +69 -0
- package/service/node_modules/unpipe/package.json +27 -0
- package/service/node_modules/vary/HISTORY.md +39 -0
- package/service/node_modules/vary/LICENSE +22 -0
- package/service/node_modules/vary/README.md +101 -0
- package/service/node_modules/vary/index.js +149 -0
- package/service/node_modules/vary/package.json +43 -0
- package/service/node_modules/wrappy/LICENSE +15 -0
- package/service/node_modules/wrappy/README.md +36 -0
- package/service/node_modules/wrappy/package.json +29 -0
- package/service/node_modules/wrappy/wrappy.js +33 -0
- package/service/package-lock.json +854 -0
- package/service/package.json +16 -0
- package/service/service.js +107 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
var Buffer = require("safer-buffer").Buffer
|
|
3
|
+
|
|
4
|
+
// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152
|
|
5
|
+
// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3
|
|
6
|
+
|
|
7
|
+
exports.utf7 = Utf7Codec
|
|
8
|
+
exports.unicode11utf7 = "utf7" // Alias UNICODE-1-1-UTF-7
|
|
9
|
+
function Utf7Codec (codecOptions, iconv) {
|
|
10
|
+
this.iconv = iconv
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
Utf7Codec.prototype.encoder = Utf7Encoder
|
|
14
|
+
Utf7Codec.prototype.decoder = Utf7Decoder
|
|
15
|
+
Utf7Codec.prototype.bomAware = true
|
|
16
|
+
|
|
17
|
+
// -- Encoding
|
|
18
|
+
|
|
19
|
+
// Why scape ()?./?
|
|
20
|
+
// eslint-disable-next-line no-useless-escape
|
|
21
|
+
var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g
|
|
22
|
+
|
|
23
|
+
function Utf7Encoder (options, codec) {
|
|
24
|
+
this.iconv = codec.iconv
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
Utf7Encoder.prototype.write = function (str) {
|
|
28
|
+
// Naive implementation.
|
|
29
|
+
// Non-direct chars are encoded as "+<base64>-"; single "+" char is encoded as "+-".
|
|
30
|
+
return Buffer.from(str.replace(nonDirectChars, function (chunk) {
|
|
31
|
+
return "+" + (chunk === "+"
|
|
32
|
+
? ""
|
|
33
|
+
: this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) +
|
|
34
|
+
"-"
|
|
35
|
+
}.bind(this)))
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
Utf7Encoder.prototype.end = function () {
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// -- Decoding
|
|
42
|
+
|
|
43
|
+
function Utf7Decoder (options, codec) {
|
|
44
|
+
this.iconv = codec.iconv
|
|
45
|
+
this.inBase64 = false
|
|
46
|
+
this.base64Accum = ""
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Why scape /?
|
|
50
|
+
// eslint-disable-next-line no-useless-escape
|
|
51
|
+
var base64Regex = /[A-Za-z0-9\/+]/
|
|
52
|
+
var base64Chars = []
|
|
53
|
+
for (var i = 0; i < 256; i++) { base64Chars[i] = base64Regex.test(String.fromCharCode(i)) }
|
|
54
|
+
|
|
55
|
+
var plusChar = "+".charCodeAt(0)
|
|
56
|
+
var minusChar = "-".charCodeAt(0)
|
|
57
|
+
var andChar = "&".charCodeAt(0)
|
|
58
|
+
|
|
59
|
+
Utf7Decoder.prototype.write = function (buf) {
|
|
60
|
+
var res = ""; var lastI = 0
|
|
61
|
+
var inBase64 = this.inBase64
|
|
62
|
+
var base64Accum = this.base64Accum
|
|
63
|
+
|
|
64
|
+
// The decoder is more involved as we must handle chunks in stream.
|
|
65
|
+
|
|
66
|
+
for (var i = 0; i < buf.length; i++) {
|
|
67
|
+
if (!inBase64) { // We're in direct mode.
|
|
68
|
+
// Write direct chars until '+'
|
|
69
|
+
if (buf[i] == plusChar) {
|
|
70
|
+
res += this.iconv.decode(buf.slice(lastI, i), "ascii") // Write direct chars.
|
|
71
|
+
lastI = i + 1
|
|
72
|
+
inBase64 = true
|
|
73
|
+
}
|
|
74
|
+
} else { // We decode base64.
|
|
75
|
+
if (!base64Chars[buf[i]]) { // Base64 ended.
|
|
76
|
+
if (i == lastI && buf[i] == minusChar) { // "+-" -> "+"
|
|
77
|
+
res += "+"
|
|
78
|
+
} else {
|
|
79
|
+
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii")
|
|
80
|
+
res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be")
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (buf[i] != minusChar) // Minus is absorbed after base64.
|
|
84
|
+
{ i-- }
|
|
85
|
+
|
|
86
|
+
lastI = i + 1
|
|
87
|
+
inBase64 = false
|
|
88
|
+
base64Accum = ""
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (!inBase64) {
|
|
94
|
+
res += this.iconv.decode(buf.slice(lastI), "ascii") // Write direct chars.
|
|
95
|
+
} else {
|
|
96
|
+
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii")
|
|
97
|
+
|
|
98
|
+
var canBeDecoded = b64str.length - (b64str.length % 8) // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.
|
|
99
|
+
base64Accum = b64str.slice(canBeDecoded) // The rest will be decoded in future.
|
|
100
|
+
b64str = b64str.slice(0, canBeDecoded)
|
|
101
|
+
|
|
102
|
+
res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be")
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
this.inBase64 = inBase64
|
|
106
|
+
this.base64Accum = base64Accum
|
|
107
|
+
|
|
108
|
+
return res
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
Utf7Decoder.prototype.end = function () {
|
|
112
|
+
var res = ""
|
|
113
|
+
if (this.inBase64 && this.base64Accum.length > 0) { res = this.iconv.decode(Buffer.from(this.base64Accum, "base64"), "utf16-be") }
|
|
114
|
+
|
|
115
|
+
this.inBase64 = false
|
|
116
|
+
this.base64Accum = ""
|
|
117
|
+
return res
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// UTF-7-IMAP codec.
|
|
121
|
+
// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3)
|
|
122
|
+
// Differences:
|
|
123
|
+
// * Base64 part is started by "&" instead of "+"
|
|
124
|
+
// * Direct characters are 0x20-0x7E, except "&" (0x26)
|
|
125
|
+
// * In Base64, "," is used instead of "/"
|
|
126
|
+
// * Base64 must not be used to represent direct characters.
|
|
127
|
+
// * No implicit shift back from Base64 (should always end with '-')
|
|
128
|
+
// * String must end in non-shifted position.
|
|
129
|
+
// * "-&" while in base64 is not allowed.
|
|
130
|
+
|
|
131
|
+
exports.utf7imap = Utf7IMAPCodec
|
|
132
|
+
function Utf7IMAPCodec (codecOptions, iconv) {
|
|
133
|
+
this.iconv = iconv
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder
|
|
137
|
+
Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder
|
|
138
|
+
Utf7IMAPCodec.prototype.bomAware = true
|
|
139
|
+
|
|
140
|
+
// -- Encoding
|
|
141
|
+
|
|
142
|
+
function Utf7IMAPEncoder (options, codec) {
|
|
143
|
+
this.iconv = codec.iconv
|
|
144
|
+
this.inBase64 = false
|
|
145
|
+
this.base64Accum = Buffer.alloc(6)
|
|
146
|
+
this.base64AccumIdx = 0
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
Utf7IMAPEncoder.prototype.write = function (str) {
|
|
150
|
+
var inBase64 = this.inBase64
|
|
151
|
+
var base64Accum = this.base64Accum
|
|
152
|
+
var base64AccumIdx = this.base64AccumIdx
|
|
153
|
+
var buf = Buffer.alloc(str.length * 5 + 10); var bufIdx = 0
|
|
154
|
+
|
|
155
|
+
for (var i = 0; i < str.length; i++) {
|
|
156
|
+
var uChar = str.charCodeAt(i)
|
|
157
|
+
if (uChar >= 0x20 && uChar <= 0x7E) { // Direct character or '&'.
|
|
158
|
+
if (inBase64) {
|
|
159
|
+
if (base64AccumIdx > 0) {
|
|
160
|
+
bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx)
|
|
161
|
+
base64AccumIdx = 0
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
buf[bufIdx++] = minusChar // Write '-', then go to direct mode.
|
|
165
|
+
inBase64 = false
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (!inBase64) {
|
|
169
|
+
buf[bufIdx++] = uChar // Write direct character
|
|
170
|
+
|
|
171
|
+
if (uChar === andChar) // Ampersand -> '&-'
|
|
172
|
+
{ buf[bufIdx++] = minusChar }
|
|
173
|
+
}
|
|
174
|
+
} else { // Non-direct character
|
|
175
|
+
if (!inBase64) {
|
|
176
|
+
buf[bufIdx++] = andChar // Write '&', then go to base64 mode.
|
|
177
|
+
inBase64 = true
|
|
178
|
+
}
|
|
179
|
+
if (inBase64) {
|
|
180
|
+
base64Accum[base64AccumIdx++] = uChar >> 8
|
|
181
|
+
base64Accum[base64AccumIdx++] = uChar & 0xFF
|
|
182
|
+
|
|
183
|
+
if (base64AccumIdx == base64Accum.length) {
|
|
184
|
+
bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx)
|
|
185
|
+
base64AccumIdx = 0
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
this.inBase64 = inBase64
|
|
192
|
+
this.base64AccumIdx = base64AccumIdx
|
|
193
|
+
|
|
194
|
+
return buf.slice(0, bufIdx)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
Utf7IMAPEncoder.prototype.end = function () {
|
|
198
|
+
var buf = Buffer.alloc(10); var bufIdx = 0
|
|
199
|
+
if (this.inBase64) {
|
|
200
|
+
if (this.base64AccumIdx > 0) {
|
|
201
|
+
bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx)
|
|
202
|
+
this.base64AccumIdx = 0
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
buf[bufIdx++] = minusChar // Write '-', then go to direct mode.
|
|
206
|
+
this.inBase64 = false
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return buf.slice(0, bufIdx)
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// -- Decoding
|
|
213
|
+
|
|
214
|
+
function Utf7IMAPDecoder (options, codec) {
|
|
215
|
+
this.iconv = codec.iconv
|
|
216
|
+
this.inBase64 = false
|
|
217
|
+
this.base64Accum = ""
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
var base64IMAPChars = base64Chars.slice()
|
|
221
|
+
base64IMAPChars[",".charCodeAt(0)] = true
|
|
222
|
+
|
|
223
|
+
Utf7IMAPDecoder.prototype.write = function (buf) {
|
|
224
|
+
var res = ""; var lastI = 0
|
|
225
|
+
var inBase64 = this.inBase64
|
|
226
|
+
var base64Accum = this.base64Accum
|
|
227
|
+
|
|
228
|
+
// The decoder is more involved as we must handle chunks in stream.
|
|
229
|
+
// It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end).
|
|
230
|
+
|
|
231
|
+
for (var i = 0; i < buf.length; i++) {
|
|
232
|
+
if (!inBase64) { // We're in direct mode.
|
|
233
|
+
// Write direct chars until '&'
|
|
234
|
+
if (buf[i] == andChar) {
|
|
235
|
+
res += this.iconv.decode(buf.slice(lastI, i), "ascii") // Write direct chars.
|
|
236
|
+
lastI = i + 1
|
|
237
|
+
inBase64 = true
|
|
238
|
+
}
|
|
239
|
+
} else { // We decode base64.
|
|
240
|
+
if (!base64IMAPChars[buf[i]]) { // Base64 ended.
|
|
241
|
+
if (i == lastI && buf[i] == minusChar) { // "&-" -> "&"
|
|
242
|
+
res += "&"
|
|
243
|
+
} else {
|
|
244
|
+
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii").replace(/,/g, "/")
|
|
245
|
+
res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be")
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (buf[i] != minusChar) // Minus may be absorbed after base64.
|
|
249
|
+
{ i-- }
|
|
250
|
+
|
|
251
|
+
lastI = i + 1
|
|
252
|
+
inBase64 = false
|
|
253
|
+
base64Accum = ""
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (!inBase64) {
|
|
259
|
+
res += this.iconv.decode(buf.slice(lastI), "ascii") // Write direct chars.
|
|
260
|
+
} else {
|
|
261
|
+
var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/")
|
|
262
|
+
|
|
263
|
+
var canBeDecoded = b64str.length - (b64str.length % 8) // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.
|
|
264
|
+
base64Accum = b64str.slice(canBeDecoded) // The rest will be decoded in future.
|
|
265
|
+
b64str = b64str.slice(0, canBeDecoded)
|
|
266
|
+
|
|
267
|
+
res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be")
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
this.inBase64 = inBase64
|
|
271
|
+
this.base64Accum = base64Accum
|
|
272
|
+
|
|
273
|
+
return res
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
Utf7IMAPDecoder.prototype.end = function () {
|
|
277
|
+
var res = ""
|
|
278
|
+
if (this.inBase64 && this.base64Accum.length > 0) { res = this.iconv.decode(Buffer.from(this.base64Accum, "base64"), "utf16-be") }
|
|
279
|
+
|
|
280
|
+
this.inBase64 = false
|
|
281
|
+
this.base64Accum = ""
|
|
282
|
+
return res
|
|
283
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
var BOMChar = "\uFEFF"
|
|
4
|
+
|
|
5
|
+
exports.PrependBOM = PrependBOMWrapper
|
|
6
|
+
function PrependBOMWrapper (encoder, options) {
|
|
7
|
+
this.encoder = encoder
|
|
8
|
+
this.addBOM = true
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
PrependBOMWrapper.prototype.write = function (str) {
|
|
12
|
+
if (this.addBOM) {
|
|
13
|
+
str = BOMChar + str
|
|
14
|
+
this.addBOM = false
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return this.encoder.write(str)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
PrependBOMWrapper.prototype.end = function () {
|
|
21
|
+
return this.encoder.end()
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// ------------------------------------------------------------------------------
|
|
25
|
+
|
|
26
|
+
exports.StripBOM = StripBOMWrapper
|
|
27
|
+
function StripBOMWrapper (decoder, options) {
|
|
28
|
+
this.decoder = decoder
|
|
29
|
+
this.pass = false
|
|
30
|
+
this.options = options || {}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
StripBOMWrapper.prototype.write = function (buf) {
|
|
34
|
+
var res = this.decoder.write(buf)
|
|
35
|
+
if (this.pass || !res) { return res }
|
|
36
|
+
|
|
37
|
+
if (res[0] === BOMChar) {
|
|
38
|
+
res = res.slice(1)
|
|
39
|
+
if (typeof this.options.stripBOM === "function") { this.options.stripBOM() }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
this.pass = true
|
|
43
|
+
return res
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
StripBOMWrapper.prototype.end = function () {
|
|
47
|
+
return this.decoder.end()
|
|
48
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
var hasOwn = typeof Object.hasOwn === "undefined" ? Function.call.bind(Object.prototype.hasOwnProperty) : Object.hasOwn
|
|
4
|
+
|
|
5
|
+
function mergeModules (target, module) {
|
|
6
|
+
for (var key in module) {
|
|
7
|
+
if (hasOwn(module, key)) {
|
|
8
|
+
target[key] = module[key]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
module.exports = mergeModules
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* ---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
* REQUIREMENT: This definition is dependent on the @types/node definition.
|
|
5
|
+
* Install with `npm install @types/node --save-dev`
|
|
6
|
+
*-------------------------------------------------------------------------------------------- */
|
|
7
|
+
|
|
8
|
+
/* ---------------------------------------------------------------------------------------------
|
|
9
|
+
* This file provides detailed typings for the public API of iconv-lite
|
|
10
|
+
*-------------------------------------------------------------------------------------------- */
|
|
11
|
+
|
|
12
|
+
import type Stream = require("stream")
|
|
13
|
+
import type { Encoding } from "../types/encodings"
|
|
14
|
+
|
|
15
|
+
declare namespace iconv {
|
|
16
|
+
export interface DecodeOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Strip the Byte Order Mark (BOM) from the input,
|
|
19
|
+
* when decoding, if the codec is BOM-aware. @default true
|
|
20
|
+
*/
|
|
21
|
+
stripBOM?: boolean;
|
|
22
|
+
/** Override the default endianness for `UTF-16` and `UTF-32` decodings. */
|
|
23
|
+
defaultEncoding?: "utf16be" | "utf32be";
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface EncodeOptions {
|
|
27
|
+
/**
|
|
28
|
+
* Add a Byte Order Mark (BOM) to the output, when encoding,
|
|
29
|
+
* if the codec is BOM-aware. @default false
|
|
30
|
+
*/
|
|
31
|
+
addBOM?: boolean;
|
|
32
|
+
/** Override the default endianness for `UTF-32` encoding. */
|
|
33
|
+
defaultEncoding?: "utf32be";
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface EncoderStream {
|
|
37
|
+
write(str: string): Buffer;
|
|
38
|
+
end(): Buffer | undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface DecoderStream {
|
|
42
|
+
write(buf: Buffer): string;
|
|
43
|
+
end(): string | undefined;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface Codec {
|
|
47
|
+
encoder: new (options?: EncodeOptions, codec?: Codec) => EncoderStream;
|
|
48
|
+
decoder: new (options?: DecodeOptions, codec?: Codec) => DecoderStream;
|
|
49
|
+
bomAware?: boolean;
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Encodes a `string` into a `Buffer`, using the provided `encoding`. */
|
|
54
|
+
export function encode (content: string, encoding: Encoding, options?: EncodeOptions): Buffer
|
|
55
|
+
|
|
56
|
+
/** Decodes a `Buffer` into a `string`, using the provided `encoding`. */
|
|
57
|
+
export function decode (buffer: Buffer | Uint8Array, encoding: Encoding, options?: DecodeOptions): string
|
|
58
|
+
|
|
59
|
+
/** Checks if a given encoding is supported by `iconv-lite`. */
|
|
60
|
+
export function encodingExists (encoding: string): encoding is Encoding
|
|
61
|
+
|
|
62
|
+
/** Legacy alias for {@link iconv.encode}. */
|
|
63
|
+
export const toEncoding: typeof iconv.encode
|
|
64
|
+
|
|
65
|
+
/** Legacy alias for {@link iconv.decode}. */
|
|
66
|
+
export const fromEncoding: typeof iconv.decode
|
|
67
|
+
|
|
68
|
+
/** Creates a stream that decodes binary data from a given `encoding` into strings. */
|
|
69
|
+
export function decodeStream (encoding: Encoding, options?: DecodeOptions): NodeJS.ReadWriteStream
|
|
70
|
+
|
|
71
|
+
/** Creates a stream that encodes strings into binary data in a given `encoding`. */
|
|
72
|
+
export function encodeStream (encoding: Encoding, options?: EncodeOptions): NodeJS.ReadWriteStream
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Explicitly enable Streaming API in browser environments by passing in:
|
|
76
|
+
* ```js
|
|
77
|
+
* require('stream')
|
|
78
|
+
* ```
|
|
79
|
+
* @example iconv.enableStreamingAPI(require('stream'));
|
|
80
|
+
*/
|
|
81
|
+
export function enableStreamingAPI (stream_module: { Transform: typeof Stream.Transform }): void
|
|
82
|
+
|
|
83
|
+
/** Creates and returns a low-level encoder stream. */
|
|
84
|
+
export function getEncoder (encoding: Encoding, options?: EncodeOptions): EncoderStream
|
|
85
|
+
|
|
86
|
+
/** Creates and returns a low-level decoder stream. */
|
|
87
|
+
export function getDecoder (encoding: Encoding, options?: DecodeOptions): DecoderStream
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Returns a codec object for the given `encoding`.
|
|
91
|
+
* @throws If the `encoding` is not recognized.
|
|
92
|
+
*/
|
|
93
|
+
export function getCodec (encoding: Encoding): Codec
|
|
94
|
+
|
|
95
|
+
/** Strips all non-alphanumeric characters and appended year from `encoding`. */
|
|
96
|
+
export function _canonicalizeEncoding (encoding: Encoding): string
|
|
97
|
+
|
|
98
|
+
/** A cache of all loaded encoding definitions. */
|
|
99
|
+
export let encodings: Record<
|
|
100
|
+
Encoding,
|
|
101
|
+
| string
|
|
102
|
+
| {
|
|
103
|
+
type: string;
|
|
104
|
+
[key: string]: any;
|
|
105
|
+
}
|
|
106
|
+
> | null
|
|
107
|
+
|
|
108
|
+
/** A cache of initialized codec objects. */
|
|
109
|
+
export let _codecDataCache: Record<string, Codec>
|
|
110
|
+
|
|
111
|
+
/** The character used for untranslatable `Unicode` characters. @default "�" */
|
|
112
|
+
export let defaultCharUnicode: string
|
|
113
|
+
|
|
114
|
+
/** The character used for untranslatable `single-byte` characters. @default "?" */
|
|
115
|
+
export let defaultCharSingleByte: string
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Skip deprecation warning when strings are used instead of Buffers during decoding.
|
|
119
|
+
* Note: {@link iconv.decode} converts the string to Buffer regardless.
|
|
120
|
+
*/
|
|
121
|
+
export let skipDecodeWarning: boolean
|
|
122
|
+
|
|
123
|
+
/** @readonly Whether or not, Streaming API is enabled. */
|
|
124
|
+
export const supportsStreams: boolean
|
|
125
|
+
|
|
126
|
+
export type { iconv as Iconv, Encoding }
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export = iconv
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
var Buffer = require("safer-buffer").Buffer
|
|
4
|
+
|
|
5
|
+
var bomHandling = require("./bom-handling")
|
|
6
|
+
var mergeModules = require("./helpers/merge-exports")
|
|
7
|
+
|
|
8
|
+
// All codecs and aliases are kept here, keyed by encoding name/alias.
|
|
9
|
+
// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`.
|
|
10
|
+
// Cannot initialize with { __proto__: null } because Boolean({ __proto__: null }) === true
|
|
11
|
+
module.exports.encodings = null
|
|
12
|
+
|
|
13
|
+
// Characters emitted in case of error.
|
|
14
|
+
module.exports.defaultCharUnicode = "�"
|
|
15
|
+
module.exports.defaultCharSingleByte = "?"
|
|
16
|
+
|
|
17
|
+
// Public API.
|
|
18
|
+
module.exports.encode = function encode (str, encoding, options) {
|
|
19
|
+
str = "" + (str || "") // Ensure string.
|
|
20
|
+
|
|
21
|
+
var encoder = module.exports.getEncoder(encoding, options)
|
|
22
|
+
|
|
23
|
+
var res = encoder.write(str)
|
|
24
|
+
var trail = encoder.end()
|
|
25
|
+
|
|
26
|
+
return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
module.exports.decode = function decode (buf, encoding, options) {
|
|
30
|
+
if (typeof buf === "string") {
|
|
31
|
+
if (!module.exports.skipDecodeWarning) {
|
|
32
|
+
console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding")
|
|
33
|
+
module.exports.skipDecodeWarning = true
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
buf = Buffer.from("" + (buf || ""), "binary") // Ensure buffer.
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var decoder = module.exports.getDecoder(encoding, options)
|
|
40
|
+
|
|
41
|
+
var res = decoder.write(buf)
|
|
42
|
+
var trail = decoder.end()
|
|
43
|
+
|
|
44
|
+
return trail ? (res + trail) : res
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports.encodingExists = function encodingExists (enc) {
|
|
48
|
+
try {
|
|
49
|
+
module.exports.getCodec(enc)
|
|
50
|
+
return true
|
|
51
|
+
} catch (e) {
|
|
52
|
+
return false
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Legacy aliases to convert functions
|
|
57
|
+
module.exports.toEncoding = module.exports.encode
|
|
58
|
+
module.exports.fromEncoding = module.exports.decode
|
|
59
|
+
|
|
60
|
+
// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache.
|
|
61
|
+
module.exports._codecDataCache = { __proto__: null }
|
|
62
|
+
|
|
63
|
+
module.exports.getCodec = function getCodec (encoding) {
|
|
64
|
+
if (!module.exports.encodings) {
|
|
65
|
+
var raw = require("../encodings")
|
|
66
|
+
// TODO: In future versions when old nodejs support is removed can use object.assign
|
|
67
|
+
module.exports.encodings = { __proto__: null } // Initialize as empty object.
|
|
68
|
+
mergeModules(module.exports.encodings, raw)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Canonicalize encoding name: strip all non-alphanumeric chars and appended year.
|
|
72
|
+
var enc = module.exports._canonicalizeEncoding(encoding)
|
|
73
|
+
|
|
74
|
+
// Traverse iconv.encodings to find actual codec.
|
|
75
|
+
var codecOptions = {}
|
|
76
|
+
while (true) {
|
|
77
|
+
var codec = module.exports._codecDataCache[enc]
|
|
78
|
+
|
|
79
|
+
if (codec) { return codec }
|
|
80
|
+
|
|
81
|
+
var codecDef = module.exports.encodings[enc]
|
|
82
|
+
|
|
83
|
+
switch (typeof codecDef) {
|
|
84
|
+
case "string": // Direct alias to other encoding.
|
|
85
|
+
enc = codecDef
|
|
86
|
+
break
|
|
87
|
+
|
|
88
|
+
case "object": // Alias with options. Can be layered.
|
|
89
|
+
for (var key in codecDef) { codecOptions[key] = codecDef[key] }
|
|
90
|
+
|
|
91
|
+
if (!codecOptions.encodingName) { codecOptions.encodingName = enc }
|
|
92
|
+
|
|
93
|
+
enc = codecDef.type
|
|
94
|
+
break
|
|
95
|
+
|
|
96
|
+
case "function": // Codec itself.
|
|
97
|
+
if (!codecOptions.encodingName) { codecOptions.encodingName = enc }
|
|
98
|
+
|
|
99
|
+
// The codec function must load all tables and return object with .encoder and .decoder methods.
|
|
100
|
+
// It'll be called only once (for each different options object).
|
|
101
|
+
//
|
|
102
|
+
codec = new codecDef(codecOptions, module.exports)
|
|
103
|
+
|
|
104
|
+
module.exports._codecDataCache[codecOptions.encodingName] = codec // Save it to be reused later.
|
|
105
|
+
return codec
|
|
106
|
+
|
|
107
|
+
default:
|
|
108
|
+
throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')")
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
module.exports._canonicalizeEncoding = function (encoding) {
|
|
114
|
+
// Canonicalize encoding name: strip all non-alphanumeric chars and appended year.
|
|
115
|
+
return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, "")
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
module.exports.getEncoder = function getEncoder (encoding, options) {
|
|
119
|
+
var codec = module.exports.getCodec(encoding)
|
|
120
|
+
var encoder = new codec.encoder(options, codec)
|
|
121
|
+
|
|
122
|
+
if (codec.bomAware && options && options.addBOM) { encoder = new bomHandling.PrependBOM(encoder, options) }
|
|
123
|
+
|
|
124
|
+
return encoder
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
module.exports.getDecoder = function getDecoder (encoding, options) {
|
|
128
|
+
var codec = module.exports.getCodec(encoding)
|
|
129
|
+
var decoder = new codec.decoder(options, codec)
|
|
130
|
+
|
|
131
|
+
if (codec.bomAware && !(options && options.stripBOM === false)) { decoder = new bomHandling.StripBOM(decoder, options) }
|
|
132
|
+
|
|
133
|
+
return decoder
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Streaming API
|
|
137
|
+
// NOTE: Streaming API naturally depends on 'stream' module from Node.js. Unfortunately in browser environments this module can add
|
|
138
|
+
// up to 100Kb to the output bundle. To avoid unnecessary code bloat, we don't enable Streaming API in browser by default.
|
|
139
|
+
// If you would like to enable it explicitly, please add the following code to your app:
|
|
140
|
+
// > iconv.enableStreamingAPI(require('stream'));
|
|
141
|
+
module.exports.enableStreamingAPI = function enableStreamingAPI (streamModule) {
|
|
142
|
+
if (module.exports.supportsStreams) { return }
|
|
143
|
+
|
|
144
|
+
// Dependency-inject stream module to create IconvLite stream classes.
|
|
145
|
+
var streams = require("./streams")(streamModule)
|
|
146
|
+
|
|
147
|
+
// Not public API yet, but expose the stream classes.
|
|
148
|
+
module.exports.IconvLiteEncoderStream = streams.IconvLiteEncoderStream
|
|
149
|
+
module.exports.IconvLiteDecoderStream = streams.IconvLiteDecoderStream
|
|
150
|
+
|
|
151
|
+
// Streaming API.
|
|
152
|
+
module.exports.encodeStream = function encodeStream (encoding, options) {
|
|
153
|
+
return new module.exports.IconvLiteEncoderStream(module.exports.getEncoder(encoding, options), options)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
module.exports.decodeStream = function decodeStream (encoding, options) {
|
|
157
|
+
return new module.exports.IconvLiteDecoderStream(module.exports.getDecoder(encoding, options), options)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
module.exports.supportsStreams = true
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Enable Streaming API automatically if 'stream' module is available and non-empty (the majority of environments).
|
|
164
|
+
var streamModule
|
|
165
|
+
try {
|
|
166
|
+
streamModule = require("stream")
|
|
167
|
+
} catch (e) {}
|
|
168
|
+
|
|
169
|
+
if (streamModule && streamModule.Transform) {
|
|
170
|
+
module.exports.enableStreamingAPI(streamModule)
|
|
171
|
+
} else {
|
|
172
|
+
// In rare cases where 'stream' module is not available by default, throw a helpful exception.
|
|
173
|
+
module.exports.encodeStream = module.exports.decodeStream = function () {
|
|
174
|
+
throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.")
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Some environments, such as browsers, may not load JavaScript files as UTF-8
|
|
179
|
+
// eslint-disable-next-line no-constant-condition
|
|
180
|
+
if ("Ā" !== "\u0100") {
|
|
181
|
+
console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.")
|
|
182
|
+
}
|