@pnpm/exe 11.0.0-dev.1005 → 11.0.0-rc.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/dist/node-gyp-bin/node-gyp +6 -0
- package/dist/node-gyp-bin/node-gyp.cmd +5 -0
- package/dist/node_modules/@gar/promise-retry/LICENSE +20 -0
- package/dist/node_modules/@gar/promise-retry/lib/index.js +62 -0
- package/dist/node_modules/@gar/promise-retry/lib/retry.js +109 -0
- package/dist/node_modules/@gar/promise-retry/package.json +45 -0
- package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
- package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
- package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
- package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
- package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
- package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
- package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
- package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
- package/dist/node_modules/@npmcli/agent/package.json +60 -0
- package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
- package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
- package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
- package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
- package/dist/node_modules/@npmcli/fs/package.json +54 -0
- package/dist/node_modules/@npmcli/redact/LICENSE +21 -0
- package/dist/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
- package/dist/node_modules/@npmcli/redact/lib/error.js +28 -0
- package/dist/node_modules/@npmcli/redact/lib/index.js +44 -0
- package/dist/node_modules/@npmcli/redact/lib/matchers.js +88 -0
- package/dist/node_modules/@npmcli/redact/lib/server.js +59 -0
- package/dist/node_modules/@npmcli/redact/lib/utils.js +202 -0
- package/dist/node_modules/@npmcli/redact/package.json +52 -0
- package/dist/node_modules/abbrev/LICENSE +46 -0
- package/dist/node_modules/abbrev/lib/index.js +53 -0
- package/dist/node_modules/abbrev/package.json +41 -0
- package/dist/node_modules/agent-base/LICENSE +22 -0
- package/dist/node_modules/agent-base/dist/helpers.js +66 -0
- package/dist/node_modules/agent-base/dist/index.js +178 -0
- package/dist/node_modules/agent-base/package.json +46 -0
- package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
- package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
- package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
- package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
- package/dist/node_modules/balanced-match/package.json +68 -0
- package/dist/node_modules/brace-expansion/LICENSE +23 -0
- package/dist/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
- package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
- package/dist/node_modules/brace-expansion/dist/esm/index.js +197 -0
- package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
- package/dist/node_modules/brace-expansion/package.json +64 -0
- package/dist/node_modules/cacache/lib/content/path.js +29 -0
- package/dist/node_modules/cacache/lib/content/read.js +165 -0
- package/dist/node_modules/cacache/lib/content/rm.js +18 -0
- package/dist/node_modules/cacache/lib/content/write.js +206 -0
- package/dist/node_modules/cacache/lib/entry-index.js +336 -0
- package/dist/node_modules/cacache/lib/get.js +170 -0
- package/dist/node_modules/cacache/lib/index.js +42 -0
- package/dist/node_modules/cacache/lib/memoization.js +72 -0
- package/dist/node_modules/cacache/lib/put.js +80 -0
- package/dist/node_modules/cacache/lib/rm.js +31 -0
- package/dist/node_modules/cacache/lib/util/glob.js +7 -0
- package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
- package/dist/node_modules/cacache/lib/util/tmp.js +32 -0
- package/dist/node_modules/cacache/lib/verify.js +258 -0
- package/dist/node_modules/cacache/package.json +81 -0
- package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
- package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
- package/dist/node_modules/chownr/dist/esm/index.js +85 -0
- package/dist/node_modules/chownr/dist/esm/package.json +3 -0
- package/dist/node_modules/chownr/package.json +69 -0
- package/dist/node_modules/debug/LICENSE +20 -0
- package/dist/node_modules/debug/package.json +64 -0
- package/dist/node_modules/debug/src/browser.js +272 -0
- package/dist/node_modules/debug/src/common.js +292 -0
- package/dist/node_modules/debug/src/index.js +10 -0
- package/dist/node_modules/debug/src/node.js +263 -0
- package/dist/node_modules/env-paths/index.js +74 -0
- package/dist/node_modules/env-paths/license +9 -0
- package/dist/node_modules/env-paths/package.json +45 -0
- package/dist/node_modules/exponential-backoff/LICENSE +202 -0
- package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
- package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
- package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
- package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
- package/dist/node_modules/exponential-backoff/package.json +62 -0
- package/dist/node_modules/fdir/LICENSE +7 -0
- package/dist/node_modules/fdir/dist/index.cjs +588 -0
- package/dist/node_modules/fdir/dist/index.d.cts +155 -0
- package/dist/node_modules/fdir/dist/index.d.mts +155 -0
- package/dist/node_modules/fdir/dist/index.mjs +570 -0
- package/dist/node_modules/fdir/package.json +103 -0
- package/dist/node_modules/fs-minipass/LICENSE +15 -0
- package/dist/node_modules/fs-minipass/lib/index.js +443 -0
- package/dist/node_modules/fs-minipass/package.json +54 -0
- package/dist/node_modules/glob/dist/commonjs/glob.js +248 -0
- package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
- package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
- package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
- package/dist/node_modules/glob/dist/commonjs/pattern.js +223 -0
- package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/dist/node_modules/glob/dist/esm/glob.js +244 -0
- package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
- package/dist/node_modules/glob/dist/esm/index.js +55 -0
- package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
- package/dist/node_modules/glob/dist/esm/package.json +3 -0
- package/dist/node_modules/glob/dist/esm/pattern.js +219 -0
- package/dist/node_modules/glob/dist/esm/processor.js +294 -0
- package/dist/node_modules/glob/dist/esm/walker.js +381 -0
- package/dist/node_modules/glob/package.json +98 -0
- package/dist/node_modules/graceful-fs/LICENSE +15 -0
- package/dist/node_modules/graceful-fs/clone.js +23 -0
- package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/dist/node_modules/graceful-fs/package.json +53 -0
- package/dist/node_modules/graceful-fs/polyfills.js +355 -0
- package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
- package/dist/node_modules/http-cache-semantics/index.js +928 -0
- package/dist/node_modules/http-cache-semantics/package.json +22 -0
- package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
- package/dist/node_modules/http-proxy-agent/package.json +47 -0
- package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
- package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/dist/node_modules/https-proxy-agent/package.json +50 -0
- package/dist/node_modules/iconv-lite/LICENSE +21 -0
- package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
- package/dist/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/dist/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/dist/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/dist/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/dist/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/dist/node_modules/iconv-lite/lib/index.js +182 -0
- package/dist/node_modules/iconv-lite/lib/streams.js +105 -0
- package/dist/node_modules/iconv-lite/package.json +70 -0
- package/dist/node_modules/ip-address/LICENSE +19 -0
- package/dist/node_modules/ip-address/dist/address-error.js +12 -0
- package/dist/node_modules/ip-address/dist/common.js +46 -0
- package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
- package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
- package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
- package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
- package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
- package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
- package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
- package/dist/node_modules/ip-address/package.json +78 -0
- package/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
- package/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
- package/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
- package/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
- package/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
- package/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
- package/dist/node_modules/isexe/dist/esm/index.js +16 -0
- package/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
- package/dist/node_modules/isexe/dist/esm/options.js +2 -0
- package/dist/node_modules/isexe/dist/esm/package.json +3 -0
- package/dist/node_modules/isexe/dist/esm/posix.js +62 -0
- package/dist/node_modules/isexe/dist/esm/win32.js +58 -0
- package/dist/node_modules/isexe/package.json +78 -0
- package/dist/node_modules/lru-cache/dist/commonjs/index.js +1595 -0
- package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/dist/node_modules/lru-cache/dist/esm/index.js +1591 -0
- package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/dist/node_modules/lru-cache/package.json +93 -0
- package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
- package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
- package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
- package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
- package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
- package/dist/node_modules/make-fetch-happen/lib/remote.js +134 -0
- package/dist/node_modules/make-fetch-happen/package.json +75 -0
- package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/dist/node_modules/minimatch/dist/commonjs/ast.js +846 -0
- package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
- package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/dist/node_modules/minimatch/dist/commonjs/index.js +1121 -0
- package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/dist/node_modules/minimatch/dist/esm/ast.js +842 -0
- package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
- package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/dist/node_modules/minimatch/dist/esm/index.js +1108 -0
- package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
- package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/dist/node_modules/minimatch/package.json +67 -0
- package/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minipass/dist/esm/index.js +1020 -0
- package/dist/node_modules/minipass/dist/esm/package.json +3 -0
- package/dist/node_modules/minipass/package.json +77 -0
- package/dist/node_modules/minipass-collect/LICENSE +15 -0
- package/dist/node_modules/minipass-collect/index.js +71 -0
- package/dist/node_modules/minipass-collect/package.json +30 -0
- package/dist/node_modules/minipass-fetch/LICENSE +28 -0
- package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
- package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
- package/dist/node_modules/minipass-fetch/lib/body.js +360 -0
- package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
- package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
- package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
- package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
- package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
- package/dist/node_modules/minipass-fetch/package.json +70 -0
- package/dist/node_modules/minipass-flush/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/index.js +39 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-flush/package.json +39 -0
- package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/index.js +128 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-pipeline/package.json +29 -0
- package/dist/node_modules/minipass-sized/LICENSE +15 -0
- package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
- package/dist/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
- package/dist/node_modules/minipass-sized/dist/esm/package.json +3 -0
- package/dist/node_modules/minipass-sized/package.json +69 -0
- package/dist/node_modules/minizlib/LICENSE +26 -0
- package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
- package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
- package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
- package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
- package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
- package/dist/node_modules/minizlib/package.json +80 -0
- package/dist/node_modules/ms/index.js +162 -0
- package/dist/node_modules/ms/package.json +38 -0
- package/dist/node_modules/negotiator/LICENSE +24 -0
- package/dist/node_modules/negotiator/index.js +83 -0
- package/dist/node_modules/negotiator/lib/charset.js +169 -0
- package/dist/node_modules/negotiator/lib/encoding.js +205 -0
- package/dist/node_modules/negotiator/lib/language.js +179 -0
- package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
- package/dist/node_modules/negotiator/package.json +43 -0
- package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
- package/dist/node_modules/node-gyp/LICENSE +24 -0
- package/dist/node_modules/node-gyp/addon.gypi +204 -0
- package/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
- package/dist/node_modules/node-gyp/eslint.config.js +3 -0
- package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
- package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
- package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
- package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
- package/dist/node_modules/node-gyp/gyp/gyp +8 -0
- package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
- package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +599 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2956 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
- package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
- package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
- package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
- package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
- package/dist/node_modules/node-gyp/lib/build.js +230 -0
- package/dist/node_modules/node-gyp/lib/clean.js +15 -0
- package/dist/node_modules/node-gyp/lib/configure.js +328 -0
- package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
- package/dist/node_modules/node-gyp/lib/download.js +39 -0
- package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
- package/dist/node_modules/node-gyp/lib/find-python.js +304 -0
- package/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
- package/dist/node_modules/node-gyp/lib/install.js +411 -0
- package/dist/node_modules/node-gyp/lib/list.js +26 -0
- package/dist/node_modules/node-gyp/lib/log.js +168 -0
- package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
- package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
- package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
- package/dist/node_modules/node-gyp/lib/remove.js +43 -0
- package/dist/node_modules/node-gyp/lib/util.js +81 -0
- package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
- package/dist/node_modules/node-gyp/package.json +52 -0
- package/dist/node_modules/node-gyp/release-please-config.json +40 -0
- package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
- package/dist/node_modules/nopt/LICENSE +15 -0
- package/dist/node_modules/nopt/bin/nopt.js +29 -0
- package/dist/node_modules/nopt/lib/debug.js +5 -0
- package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
- package/dist/node_modules/nopt/lib/nopt.js +34 -0
- package/dist/node_modules/nopt/lib/type-defs.js +91 -0
- package/dist/node_modules/nopt/package.json +52 -0
- package/dist/node_modules/p-map/index.js +283 -0
- package/dist/node_modules/p-map/license +9 -0
- package/dist/node_modules/p-map/package.json +57 -0
- package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
- package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
- package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/dist/node_modules/path-scurry/package.json +72 -0
- package/dist/node_modules/picomatch/LICENSE +21 -0
- package/dist/node_modules/picomatch/index.js +17 -0
- package/dist/node_modules/picomatch/lib/constants.js +184 -0
- package/dist/node_modules/picomatch/lib/parse.js +1386 -0
- package/dist/node_modules/picomatch/lib/picomatch.js +349 -0
- package/dist/node_modules/picomatch/lib/scan.js +391 -0
- package/dist/node_modules/picomatch/lib/utils.js +72 -0
- package/dist/node_modules/picomatch/package.json +82 -0
- package/dist/node_modules/picomatch/posix.js +3 -0
- package/dist/node_modules/proc-log/LICENSE +15 -0
- package/dist/node_modules/proc-log/lib/index.js +158 -0
- package/dist/node_modules/proc-log/package.json +46 -0
- package/dist/node_modules/safer-buffer/LICENSE +21 -0
- package/dist/node_modules/safer-buffer/dangerous.js +58 -0
- package/dist/node_modules/safer-buffer/package.json +34 -0
- package/dist/node_modules/safer-buffer/safer.js +77 -0
- package/dist/node_modules/safer-buffer/tests.js +406 -0
- package/dist/node_modules/semver/LICENSE +15 -0
- package/dist/node_modules/semver/bin/semver.js +191 -0
- package/dist/node_modules/semver/classes/comparator.js +143 -0
- package/dist/node_modules/semver/classes/index.js +7 -0
- package/dist/node_modules/semver/classes/range.js +557 -0
- package/dist/node_modules/semver/classes/semver.js +333 -0
- package/dist/node_modules/semver/functions/clean.js +8 -0
- package/dist/node_modules/semver/functions/cmp.js +54 -0
- package/dist/node_modules/semver/functions/coerce.js +62 -0
- package/dist/node_modules/semver/functions/compare-build.js +9 -0
- package/dist/node_modules/semver/functions/compare-loose.js +5 -0
- package/dist/node_modules/semver/functions/compare.js +7 -0
- package/dist/node_modules/semver/functions/diff.js +60 -0
- package/dist/node_modules/semver/functions/eq.js +5 -0
- package/dist/node_modules/semver/functions/gt.js +5 -0
- package/dist/node_modules/semver/functions/gte.js +5 -0
- package/dist/node_modules/semver/functions/inc.js +21 -0
- package/dist/node_modules/semver/functions/lt.js +5 -0
- package/dist/node_modules/semver/functions/lte.js +5 -0
- package/dist/node_modules/semver/functions/major.js +5 -0
- package/dist/node_modules/semver/functions/minor.js +5 -0
- package/dist/node_modules/semver/functions/neq.js +5 -0
- package/dist/node_modules/semver/functions/parse.js +18 -0
- package/dist/node_modules/semver/functions/patch.js +5 -0
- package/dist/node_modules/semver/functions/prerelease.js +8 -0
- package/dist/node_modules/semver/functions/rcompare.js +5 -0
- package/dist/node_modules/semver/functions/rsort.js +5 -0
- package/dist/node_modules/semver/functions/satisfies.js +12 -0
- package/dist/node_modules/semver/functions/sort.js +5 -0
- package/dist/node_modules/semver/functions/valid.js +8 -0
- package/dist/node_modules/semver/index.js +91 -0
- package/dist/node_modules/semver/internal/constants.js +37 -0
- package/dist/node_modules/semver/internal/debug.js +11 -0
- package/dist/node_modules/semver/internal/identifiers.js +29 -0
- package/dist/node_modules/semver/internal/lrucache.js +42 -0
- package/dist/node_modules/semver/internal/parse-options.js +17 -0
- package/dist/node_modules/semver/internal/re.js +223 -0
- package/dist/node_modules/semver/package.json +78 -0
- package/dist/node_modules/semver/preload.js +4 -0
- package/dist/node_modules/semver/range.bnf +16 -0
- package/dist/node_modules/semver/ranges/gtr.js +6 -0
- package/dist/node_modules/semver/ranges/intersects.js +9 -0
- package/dist/node_modules/semver/ranges/ltr.js +6 -0
- package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/dist/node_modules/semver/ranges/min-version.js +63 -0
- package/dist/node_modules/semver/ranges/outside.js +82 -0
- package/dist/node_modules/semver/ranges/simplify.js +49 -0
- package/dist/node_modules/semver/ranges/subset.js +249 -0
- package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
- package/dist/node_modules/semver/ranges/valid.js +13 -0
- package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
- package/dist/node_modules/smart-buffer/LICENSE +20 -0
- package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
- package/dist/node_modules/smart-buffer/build/utils.js +108 -0
- package/dist/node_modules/smart-buffer/package.json +79 -0
- package/dist/node_modules/socks/.eslintrc.cjs +11 -0
- package/dist/node_modules/socks/.prettierrc.yaml +7 -0
- package/dist/node_modules/socks/LICENSE +20 -0
- package/dist/node_modules/socks/build/client/socksclient.js +793 -0
- package/dist/node_modules/socks/build/common/constants.js +108 -0
- package/dist/node_modules/socks/build/common/helpers.js +167 -0
- package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
- package/dist/node_modules/socks/build/common/util.js +25 -0
- package/dist/node_modules/socks/build/index.js +18 -0
- package/dist/node_modules/socks/package.json +58 -0
- package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
- package/dist/node_modules/socks-proxy-agent/package.json +142 -0
- package/dist/node_modules/ssri/lib/index.js +550 -0
- package/dist/node_modules/ssri/package.json +66 -0
- package/dist/node_modules/tar/dist/commonjs/create.js +82 -0
- package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
- package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
- package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
- package/dist/node_modules/tar/dist/commonjs/header.js +312 -0
- package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
- package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
- package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
- package/dist/node_modules/tar/dist/commonjs/list.js +145 -0
- package/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
- package/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
- package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
- package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
- package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
- package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
- package/dist/node_modules/tar/dist/commonjs/pack.js +511 -0
- package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
- package/dist/node_modules/tar/dist/commonjs/parse.js +610 -0
- package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
- package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
- package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
- package/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
- package/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
- package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
- package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
- package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
- package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
- package/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
- package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
- package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
- package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
- package/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
- package/dist/node_modules/tar/dist/esm/create.js +76 -0
- package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
- package/dist/node_modules/tar/dist/esm/extract.js +49 -0
- package/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
- package/dist/node_modules/tar/dist/esm/header.js +275 -0
- package/dist/node_modules/tar/dist/esm/index.js +20 -0
- package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
- package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
- package/dist/node_modules/tar/dist/esm/list.js +105 -0
- package/dist/node_modules/tar/dist/esm/make-command.js +48 -0
- package/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
- package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
- package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
- package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
- package/dist/node_modules/tar/dist/esm/options.js +54 -0
- package/dist/node_modules/tar/dist/esm/pack.js +469 -0
- package/dist/node_modules/tar/dist/esm/package.json +3 -0
- package/dist/node_modules/tar/dist/esm/parse.js +606 -0
- package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
- package/dist/node_modules/tar/dist/esm/pax.js +154 -0
- package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
- package/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
- package/dist/node_modules/tar/dist/esm/replace.js +221 -0
- package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
- package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
- package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
- package/dist/node_modules/tar/dist/esm/types.js +45 -0
- package/dist/node_modules/tar/dist/esm/unpack.js +891 -0
- package/dist/node_modules/tar/dist/esm/update.js +30 -0
- package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
- package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
- package/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
- package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
- package/dist/node_modules/tar/package.json +297 -0
- package/dist/node_modules/tinyglobby/LICENSE +21 -0
- package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
- package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
- package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
- package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
- package/dist/node_modules/tinyglobby/package.json +73 -0
- package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
- package/dist/node_modules/v8-compile-cache/package.json +34 -0
- package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
- package/dist/node_modules/which/LICENSE +15 -0
- package/dist/node_modules/which/bin/which.js +52 -0
- package/dist/node_modules/which/lib/index.js +111 -0
- package/dist/node_modules/which/package.json +52 -0
- package/dist/node_modules/yallist/LICENSE +15 -0
- package/dist/node_modules/yallist/iterator.js +8 -0
- package/dist/node_modules/yallist/package.json +29 -0
- package/dist/node_modules/yallist/yallist.js +426 -0
- package/dist/pnpm.mjs +266382 -0
- package/dist/pnpmrc +2 -0
- package/dist/templates/completion.bash +31 -0
- package/dist/templates/completion.fish +22 -0
- package/dist/templates/completion.ps1 +193 -0
- package/dist/templates/completion.zsh +27 -0
- package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
- package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
- package/dist/worker.js +10958 -0
- package/package.json +34 -11
- package/pn +2 -0
- package/pn.cmd +2 -0
- package/pn.ps1 +1 -0
- package/pnpx +2 -0
- package/pnpx.cmd +2 -0
- package/pnpx.ps1 +1 -0
- package/pnx +2 -0
- package/pnx.cmd +2 -0
- package/pnx.ps1 +1 -0
- package/prepare.js +26 -3
- package/setup.js +22 -11
- package/CHANGELOG.md +0 -15
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
// Description of supported double byte encodings and aliases.
|
|
4
|
+
// Tables are not require()-d until they are needed to speed up library load.
|
|
5
|
+
// require()-s are direct to support Browserify.
|
|
6
|
+
|
|
7
|
+
module.exports = {
|
|
8
|
+
|
|
9
|
+
// == Japanese/ShiftJIS ====================================================
|
|
10
|
+
// All japanese encodings are based on JIS X set of standards:
|
|
11
|
+
// JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.
|
|
12
|
+
// JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes.
|
|
13
|
+
// Has several variations in 1978, 1983, 1990 and 1997.
|
|
14
|
+
// JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.
|
|
15
|
+
// JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.
|
|
16
|
+
// 2 planes, first is superset of 0208, second - revised 0212.
|
|
17
|
+
// Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)
|
|
18
|
+
|
|
19
|
+
// Byte encodings are:
|
|
20
|
+
// * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte
|
|
21
|
+
// encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.
|
|
22
|
+
// Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.
|
|
23
|
+
// * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes.
|
|
24
|
+
// 0x00-0x7F - lower part of 0201
|
|
25
|
+
// 0x8E, 0xA1-0xDF - upper part of 0201
|
|
26
|
+
// (0xA1-0xFE)x2 - 0208 plane (94x94).
|
|
27
|
+
// 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).
|
|
28
|
+
// * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.
|
|
29
|
+
// Used as-is in ISO2022 family.
|
|
30
|
+
// * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII,
|
|
31
|
+
// 0201-1976 Roman, 0208-1978, 0208-1983.
|
|
32
|
+
// * ISO2022-JP-1: Adds esc seq for 0212-1990.
|
|
33
|
+
// * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.
|
|
34
|
+
// * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.
|
|
35
|
+
// * ISO2022-JP-2004: Adds 0213-2004 Plane 1.
|
|
36
|
+
//
|
|
37
|
+
// After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.
|
|
38
|
+
//
|
|
39
|
+
// Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html
|
|
40
|
+
|
|
41
|
+
shiftjis: {
|
|
42
|
+
type: "_dbcs",
|
|
43
|
+
table: function () { return require("./tables/shiftjis.json") },
|
|
44
|
+
encodeAdd: { "\u00a5": 0x5C, "\u203E": 0x7E },
|
|
45
|
+
encodeSkipVals: [{ from: 0xED40, to: 0xF940 }]
|
|
46
|
+
},
|
|
47
|
+
csshiftjis: "shiftjis",
|
|
48
|
+
mskanji: "shiftjis",
|
|
49
|
+
sjis: "shiftjis",
|
|
50
|
+
windows31j: "shiftjis",
|
|
51
|
+
ms31j: "shiftjis",
|
|
52
|
+
xsjis: "shiftjis",
|
|
53
|
+
windows932: "shiftjis",
|
|
54
|
+
ms932: "shiftjis",
|
|
55
|
+
932: "shiftjis",
|
|
56
|
+
cp932: "shiftjis",
|
|
57
|
+
|
|
58
|
+
eucjp: {
|
|
59
|
+
type: "_dbcs",
|
|
60
|
+
table: function () { return require("./tables/eucjp.json") },
|
|
61
|
+
encodeAdd: { "\u00a5": 0x5C, "\u203E": 0x7E }
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
// TODO: KDDI extension to Shift_JIS
|
|
65
|
+
// TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.
|
|
66
|
+
// TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.
|
|
67
|
+
|
|
68
|
+
// == Chinese/GBK ==========================================================
|
|
69
|
+
// http://en.wikipedia.org/wiki/GBK
|
|
70
|
+
// We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder
|
|
71
|
+
|
|
72
|
+
// Oldest GB2312 (1981, ~7600 chars) is a subset of CP936
|
|
73
|
+
gb2312: "cp936",
|
|
74
|
+
gb231280: "cp936",
|
|
75
|
+
gb23121980: "cp936",
|
|
76
|
+
csgb2312: "cp936",
|
|
77
|
+
csiso58gb231280: "cp936",
|
|
78
|
+
euccn: "cp936",
|
|
79
|
+
|
|
80
|
+
// Microsoft's CP936 is a subset and approximation of GBK.
|
|
81
|
+
windows936: "cp936",
|
|
82
|
+
ms936: "cp936",
|
|
83
|
+
936: "cp936",
|
|
84
|
+
cp936: {
|
|
85
|
+
type: "_dbcs",
|
|
86
|
+
table: function () { return require("./tables/cp936.json") }
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
// GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.
|
|
90
|
+
gbk: {
|
|
91
|
+
type: "_dbcs",
|
|
92
|
+
table: function () { return require("./tables/cp936.json").concat(require("./tables/gbk-added.json")) }
|
|
93
|
+
},
|
|
94
|
+
xgbk: "gbk",
|
|
95
|
+
isoir58: "gbk",
|
|
96
|
+
|
|
97
|
+
// GB18030 is an algorithmic extension of GBK.
|
|
98
|
+
// Main source: https://www.w3.org/TR/encoding/#gbk-encoder
|
|
99
|
+
// http://icu-project.org/docs/papers/gb18030.html
|
|
100
|
+
// http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml
|
|
101
|
+
// http://www.khngai.com/chinese/charmap/tblgbk.php?page=0
|
|
102
|
+
gb18030: {
|
|
103
|
+
type: "_dbcs",
|
|
104
|
+
table: function () { return require("./tables/cp936.json").concat(require("./tables/gbk-added.json")) },
|
|
105
|
+
gb18030: function () { return require("./tables/gb18030-ranges.json") },
|
|
106
|
+
encodeSkipVals: [0x80],
|
|
107
|
+
encodeAdd: { "€": 0xA2E3 }
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
chinese: "gb18030",
|
|
111
|
+
|
|
112
|
+
// == Korean ===============================================================
|
|
113
|
+
// EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.
|
|
114
|
+
windows949: "cp949",
|
|
115
|
+
ms949: "cp949",
|
|
116
|
+
949: "cp949",
|
|
117
|
+
cp949: {
|
|
118
|
+
type: "_dbcs",
|
|
119
|
+
table: function () { return require("./tables/cp949.json") }
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
cseuckr: "cp949",
|
|
123
|
+
csksc56011987: "cp949",
|
|
124
|
+
euckr: "cp949",
|
|
125
|
+
isoir149: "cp949",
|
|
126
|
+
korean: "cp949",
|
|
127
|
+
ksc56011987: "cp949",
|
|
128
|
+
ksc56011989: "cp949",
|
|
129
|
+
ksc5601: "cp949",
|
|
130
|
+
|
|
131
|
+
// == Big5/Taiwan/Hong Kong ================================================
|
|
132
|
+
// There are lots of tables for Big5 and cp950. Please see the following links for history:
|
|
133
|
+
// http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html
|
|
134
|
+
// Variations, in roughly number of defined chars:
|
|
135
|
+
// * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
|
|
136
|
+
// * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/
|
|
137
|
+
// * Big5-2003 (Taiwan standard) almost superset of cp950.
|
|
138
|
+
// * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.
|
|
139
|
+
// * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard.
|
|
140
|
+
// many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.
|
|
141
|
+
// Plus, it has 4 combining sequences.
|
|
142
|
+
// Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299
|
|
143
|
+
// because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.
|
|
144
|
+
// Implementations are not consistent within browsers; sometimes labeled as just big5.
|
|
145
|
+
// MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.
|
|
146
|
+
// Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31
|
|
147
|
+
// In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.
|
|
148
|
+
// Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt
|
|
149
|
+
// http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt
|
|
150
|
+
//
|
|
151
|
+
// Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder
|
|
152
|
+
// Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.
|
|
153
|
+
|
|
154
|
+
windows950: "cp950",
|
|
155
|
+
ms950: "cp950",
|
|
156
|
+
950: "cp950",
|
|
157
|
+
cp950: {
|
|
158
|
+
type: "_dbcs",
|
|
159
|
+
table: function () { return require("./tables/cp950.json") }
|
|
160
|
+
},
|
|
161
|
+
|
|
162
|
+
// Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.
|
|
163
|
+
big5: "big5hkscs",
|
|
164
|
+
big5hkscs: {
|
|
165
|
+
type: "_dbcs",
|
|
166
|
+
table: function () { return require("./tables/cp950.json").concat(require("./tables/big5-added.json")) },
|
|
167
|
+
encodeSkipVals: [
|
|
168
|
+
// Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of
|
|
169
|
+
// https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.
|
|
170
|
+
// But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.
|
|
171
|
+
0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe,
|
|
172
|
+
0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca,
|
|
173
|
+
0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62,
|
|
174
|
+
0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef,
|
|
175
|
+
0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed,
|
|
176
|
+
|
|
177
|
+
// Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345
|
|
178
|
+
0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
|
|
182
|
+
cnbig5: "big5hkscs",
|
|
183
|
+
csbig5: "big5hkscs",
|
|
184
|
+
xxbig5: "big5hkscs"
|
|
185
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
var mergeModules = require("../lib/helpers/merge-exports")
|
|
4
|
+
|
|
5
|
+
// Update this array if you add/rename/remove files in this directory.
|
|
6
|
+
// We support Browserify by skipping automatic module discovery and requiring modules directly.
|
|
7
|
+
var modules = [
|
|
8
|
+
require("./internal"),
|
|
9
|
+
require("./utf32"),
|
|
10
|
+
require("./utf16"),
|
|
11
|
+
require("./utf7"),
|
|
12
|
+
require("./sbcs-codec"),
|
|
13
|
+
require("./sbcs-data"),
|
|
14
|
+
require("./sbcs-data-generated"),
|
|
15
|
+
require("./dbcs-codec"),
|
|
16
|
+
require("./dbcs-data")
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
// Put all encoding/alias/codec definitions to single object and export it.
|
|
20
|
+
for (var i = 0; i < modules.length; i++) {
|
|
21
|
+
var module = modules[i]
|
|
22
|
+
mergeModules(exports, module)
|
|
23
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
var Buffer = require("safer-buffer").Buffer
|
|
3
|
+
|
|
4
|
+
// Export Node.js internal encodings.
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
// Encodings
|
|
8
|
+
utf8: { type: "_internal", bomAware: true },
|
|
9
|
+
cesu8: { type: "_internal", bomAware: true },
|
|
10
|
+
unicode11utf8: "utf8",
|
|
11
|
+
|
|
12
|
+
ucs2: { type: "_internal", bomAware: true },
|
|
13
|
+
utf16le: "ucs2",
|
|
14
|
+
|
|
15
|
+
binary: { type: "_internal" },
|
|
16
|
+
base64: { type: "_internal" },
|
|
17
|
+
hex: { type: "_internal" },
|
|
18
|
+
|
|
19
|
+
// Codec.
|
|
20
|
+
_internal: InternalCodec
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// ------------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
function InternalCodec (codecOptions, iconv) {
|
|
26
|
+
this.enc = codecOptions.encodingName
|
|
27
|
+
this.bomAware = codecOptions.bomAware
|
|
28
|
+
|
|
29
|
+
if (this.enc === "base64") { this.encoder = InternalEncoderBase64 } else if (this.enc === "utf8") { this.encoder = InternalEncoderUtf8 } else if (this.enc === "cesu8") {
|
|
30
|
+
this.enc = "utf8" // Use utf8 for decoding.
|
|
31
|
+
this.encoder = InternalEncoderCesu8
|
|
32
|
+
|
|
33
|
+
// Add decoder for versions of Node not supporting CESU-8
|
|
34
|
+
if (Buffer.from("eda0bdedb2a9", "hex").toString() !== "💩") {
|
|
35
|
+
this.decoder = InternalDecoderCesu8
|
|
36
|
+
this.defaultCharUnicode = iconv.defaultCharUnicode
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
InternalCodec.prototype.encoder = InternalEncoder
|
|
42
|
+
InternalCodec.prototype.decoder = InternalDecoder
|
|
43
|
+
|
|
44
|
+
// ------------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
// We use node.js internal decoder. Its signature is the same as ours.
|
|
47
|
+
var StringDecoder = require("string_decoder").StringDecoder
|
|
48
|
+
|
|
49
|
+
function InternalDecoder (options, codec) {
|
|
50
|
+
this.decoder = new StringDecoder(codec.enc)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
InternalDecoder.prototype.write = function (buf) {
|
|
54
|
+
if (!Buffer.isBuffer(buf)) {
|
|
55
|
+
buf = Buffer.from(buf)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return this.decoder.write(buf)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
InternalDecoder.prototype.end = function () {
|
|
62
|
+
return this.decoder.end()
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// ------------------------------------------------------------------------------
|
|
66
|
+
// Encoder is mostly trivial
|
|
67
|
+
|
|
68
|
+
function InternalEncoder (options, codec) {
|
|
69
|
+
this.enc = codec.enc
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
InternalEncoder.prototype.write = function (str) {
|
|
73
|
+
return Buffer.from(str, this.enc)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
InternalEncoder.prototype.end = function () {
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// ------------------------------------------------------------------------------
|
|
80
|
+
// Except base64 encoder, which must keep its state.
|
|
81
|
+
|
|
82
|
+
function InternalEncoderBase64 (options, codec) {
|
|
83
|
+
this.prevStr = ""
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
InternalEncoderBase64.prototype.write = function (str) {
|
|
87
|
+
str = this.prevStr + str
|
|
88
|
+
var completeQuads = str.length - (str.length % 4)
|
|
89
|
+
this.prevStr = str.slice(completeQuads)
|
|
90
|
+
str = str.slice(0, completeQuads)
|
|
91
|
+
|
|
92
|
+
return Buffer.from(str, "base64")
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
InternalEncoderBase64.prototype.end = function () {
|
|
96
|
+
return Buffer.from(this.prevStr, "base64")
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// ------------------------------------------------------------------------------
|
|
100
|
+
// CESU-8 encoder is also special.
|
|
101
|
+
|
|
102
|
+
function InternalEncoderCesu8 (options, codec) {
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
InternalEncoderCesu8.prototype.write = function (str) {
|
|
106
|
+
var buf = Buffer.alloc(str.length * 3); var bufIdx = 0
|
|
107
|
+
for (var i = 0; i < str.length; i++) {
|
|
108
|
+
var charCode = str.charCodeAt(i)
|
|
109
|
+
// Naive implementation, but it works because CESU-8 is especially easy
|
|
110
|
+
// to convert from UTF-16 (which all JS strings are encoded in).
|
|
111
|
+
if (charCode < 0x80) { buf[bufIdx++] = charCode } else if (charCode < 0x800) {
|
|
112
|
+
buf[bufIdx++] = 0xC0 + (charCode >>> 6)
|
|
113
|
+
buf[bufIdx++] = 0x80 + (charCode & 0x3f)
|
|
114
|
+
} else { // charCode will always be < 0x10000 in javascript.
|
|
115
|
+
buf[bufIdx++] = 0xE0 + (charCode >>> 12)
|
|
116
|
+
buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f)
|
|
117
|
+
buf[bufIdx++] = 0x80 + (charCode & 0x3f)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return buf.slice(0, bufIdx)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
InternalEncoderCesu8.prototype.end = function () {
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// ------------------------------------------------------------------------------
|
|
127
|
+
// CESU-8 decoder is not implemented in Node v4.0+
|
|
128
|
+
|
|
129
|
+
function InternalDecoderCesu8 (options, codec) {
|
|
130
|
+
this.acc = 0
|
|
131
|
+
this.contBytes = 0
|
|
132
|
+
this.accBytes = 0
|
|
133
|
+
this.defaultCharUnicode = codec.defaultCharUnicode
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
InternalDecoderCesu8.prototype.write = function (buf) {
|
|
137
|
+
var acc = this.acc; var contBytes = this.contBytes; var accBytes = this.accBytes
|
|
138
|
+
var res = ""
|
|
139
|
+
for (var i = 0; i < buf.length; i++) {
|
|
140
|
+
var curByte = buf[i]
|
|
141
|
+
if ((curByte & 0xC0) !== 0x80) { // Leading byte
|
|
142
|
+
if (contBytes > 0) { // Previous code is invalid
|
|
143
|
+
res += this.defaultCharUnicode
|
|
144
|
+
contBytes = 0
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (curByte < 0x80) { // Single-byte code
|
|
148
|
+
res += String.fromCharCode(curByte)
|
|
149
|
+
} else if (curByte < 0xE0) { // Two-byte code
|
|
150
|
+
acc = curByte & 0x1F
|
|
151
|
+
contBytes = 1; accBytes = 1
|
|
152
|
+
} else if (curByte < 0xF0) { // Three-byte code
|
|
153
|
+
acc = curByte & 0x0F
|
|
154
|
+
contBytes = 2; accBytes = 1
|
|
155
|
+
} else { // Four or more are not supported for CESU-8.
|
|
156
|
+
res += this.defaultCharUnicode
|
|
157
|
+
}
|
|
158
|
+
} else { // Continuation byte
|
|
159
|
+
if (contBytes > 0) { // We're waiting for it.
|
|
160
|
+
acc = (acc << 6) | (curByte & 0x3f)
|
|
161
|
+
contBytes--; accBytes++
|
|
162
|
+
if (contBytes === 0) {
|
|
163
|
+
// Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80)
|
|
164
|
+
if (accBytes === 2 && acc < 0x80 && acc > 0) {
|
|
165
|
+
res += this.defaultCharUnicode
|
|
166
|
+
} else if (accBytes === 3 && acc < 0x800) {
|
|
167
|
+
res += this.defaultCharUnicode
|
|
168
|
+
} else {
|
|
169
|
+
// Actually add character.
|
|
170
|
+
res += String.fromCharCode(acc)
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
} else { // Unexpected continuation byte
|
|
174
|
+
res += this.defaultCharUnicode
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes
|
|
179
|
+
return res
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
InternalDecoderCesu8.prototype.end = function () {
|
|
183
|
+
var res = 0
|
|
184
|
+
if (this.contBytes > 0) { res += this.defaultCharUnicode }
|
|
185
|
+
return res
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// ------------------------------------------------------------------------------
|
|
189
|
+
// check the chunk boundaries for surrogate pair
|
|
190
|
+
|
|
191
|
+
function InternalEncoderUtf8 (options, codec) {
|
|
192
|
+
this.highSurrogate = ""
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
InternalEncoderUtf8.prototype.write = function (str) {
|
|
196
|
+
if (this.highSurrogate) {
|
|
197
|
+
str = this.highSurrogate + str
|
|
198
|
+
this.highSurrogate = ""
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (str.length > 0) {
|
|
202
|
+
var charCode = str.charCodeAt(str.length - 1)
|
|
203
|
+
if (charCode >= 0xd800 && charCode < 0xdc00) {
|
|
204
|
+
this.highSurrogate = str[str.length - 1]
|
|
205
|
+
str = str.slice(0, str.length - 1)
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return Buffer.from(str, this.enc)
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
InternalEncoderUtf8.prototype.end = function () {
|
|
213
|
+
if (this.highSurrogate) {
|
|
214
|
+
var str = this.highSurrogate
|
|
215
|
+
this.highSurrogate = ""
|
|
216
|
+
return Buffer.from(str, this.enc)
|
|
217
|
+
}
|
|
218
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
var Buffer = require("safer-buffer").Buffer
|
|
3
|
+
|
|
4
|
+
// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that
|
|
5
|
+
// correspond to encoded bytes (if 128 - then lower half is ASCII).
|
|
6
|
+
|
|
7
|
+
exports._sbcs = SBCSCodec
|
|
8
|
+
function SBCSCodec (codecOptions, iconv) {
|
|
9
|
+
if (!codecOptions) {
|
|
10
|
+
throw new Error("SBCS codec is called without the data.")
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Prepare char buffer for decoding.
|
|
14
|
+
if (!codecOptions.chars || (codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256)) {
|
|
15
|
+
throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)")
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (codecOptions.chars.length === 128) {
|
|
19
|
+
var asciiString = ""
|
|
20
|
+
for (var i = 0; i < 128; i++) {
|
|
21
|
+
asciiString += String.fromCharCode(i)
|
|
22
|
+
}
|
|
23
|
+
codecOptions.chars = asciiString + codecOptions.chars
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
this.decodeBuf = Buffer.from(codecOptions.chars, "ucs2")
|
|
27
|
+
|
|
28
|
+
// Encoding buffer.
|
|
29
|
+
var encodeBuf = Buffer.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0))
|
|
30
|
+
|
|
31
|
+
for (var i = 0; i < codecOptions.chars.length; i++) {
|
|
32
|
+
encodeBuf[codecOptions.chars.charCodeAt(i)] = i
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
this.encodeBuf = encodeBuf
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
SBCSCodec.prototype.encoder = SBCSEncoder
|
|
39
|
+
SBCSCodec.prototype.decoder = SBCSDecoder
|
|
40
|
+
|
|
41
|
+
function SBCSEncoder (options, codec) {
|
|
42
|
+
this.encodeBuf = codec.encodeBuf
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
SBCSEncoder.prototype.write = function (str) {
|
|
46
|
+
var buf = Buffer.alloc(str.length)
|
|
47
|
+
for (var i = 0; i < str.length; i++) {
|
|
48
|
+
buf[i] = this.encodeBuf[str.charCodeAt(i)]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return buf
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
SBCSEncoder.prototype.end = function () {
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function SBCSDecoder (options, codec) {
|
|
58
|
+
this.decodeBuf = codec.decodeBuf
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
SBCSDecoder.prototype.write = function (buf) {
|
|
62
|
+
// Strings are immutable in JS -> we use ucs2 buffer to speed up computations.
|
|
63
|
+
var decodeBuf = this.decodeBuf
|
|
64
|
+
var newBuf = Buffer.alloc(buf.length * 2)
|
|
65
|
+
var idx1 = 0; var idx2 = 0
|
|
66
|
+
for (var i = 0; i < buf.length; i++) {
|
|
67
|
+
idx1 = buf[i] * 2; idx2 = i * 2
|
|
68
|
+
newBuf[idx2] = decodeBuf[idx1]
|
|
69
|
+
newBuf[idx2 + 1] = decodeBuf[idx1 + 1]
|
|
70
|
+
}
|
|
71
|
+
return newBuf.toString("ucs2")
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
SBCSDecoder.prototype.end = function () {
|
|
75
|
+
}
|