summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
committerRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
commit83354b2b88218090988dd6e526b0a2505b57e0f1 (patch)
treee3c73c38a122a78bb7e66fbb99056407edd9d4b9 /includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js
parent47b8f2299a483024c4a6a8876af825a010954caa (diff)
downloadpluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.gz
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.bz2
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.zip
Updated 5 files and added 1110 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js')
-rw-r--r--includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js114
1 files changed, 114 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js b/includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js
new file mode 100644
index 0000000..26e27ce
--- /dev/null
+++ b/includes/external/addressbook/node_modules/chardet/lib/encoding/iso2022.js
@@ -0,0 +1,114 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ISO_2022_CN = exports.ISO_2022_KR = exports.ISO_2022_JP = void 0;
+const match_1 = __importDefault(require("../match"));
+class ISO_2022 {
+ constructor() {
+ this.escapeSequences = [];
+ }
+ name() {
+ return 'ISO_2022';
+ }
+ match(det) {
+ let i, j;
+ let escN;
+ let hits = 0;
+ let misses = 0;
+ let shifts = 0;
+ let confidence;
+ const text = det.inputBytes;
+ const textLen = det.inputLen;
+ scanInput: for (i = 0; i < textLen; i++) {
+ if (text[i] == 0x1b) {
+ checkEscapes: for (escN = 0; escN < this.escapeSequences.length; escN++) {
+ const seq = this.escapeSequences[escN];
+ if (textLen - i < seq.length)
+ continue checkEscapes;
+ for (j = 1; j < seq.length; j++)
+ if (seq[j] != text[i + j])
+ continue checkEscapes;
+ hits++;
+ i += seq.length - 1;
+ continue scanInput;
+ }
+ misses++;
+ }
+ if (text[i] == 0x0e || text[i] == 0x0f)
+ shifts++;
+ }
+ if (hits == 0)
+ return null;
+ confidence = (100 * hits - 100 * misses) / (hits + misses);
+ if (hits + shifts < 5)
+ confidence -= (5 - (hits + shifts)) * 10;
+ return confidence <= 0 ? null : (0, match_1.default)(det, this, confidence);
+ }
+}
+class ISO_2022_JP extends ISO_2022 {
+ constructor() {
+ super(...arguments);
+ this.escapeSequences = [
+ [0x1b, 0x24, 0x28, 0x43],
+ [0x1b, 0x24, 0x28, 0x44],
+ [0x1b, 0x24, 0x40],
+ [0x1b, 0x24, 0x41],
+ [0x1b, 0x24, 0x42],
+ [0x1b, 0x26, 0x40],
+ [0x1b, 0x28, 0x42],
+ [0x1b, 0x28, 0x48],
+ [0x1b, 0x28, 0x49],
+ [0x1b, 0x28, 0x4a],
+ [0x1b, 0x2e, 0x41],
+ [0x1b, 0x2e, 0x46],
+ ];
+ }
+ name() {
+ return 'ISO-2022-JP';
+ }
+ language() {
+ return 'ja';
+ }
+}
+exports.ISO_2022_JP = ISO_2022_JP;
+class ISO_2022_KR extends ISO_2022 {
+ constructor() {
+ super(...arguments);
+ this.escapeSequences = [[0x1b, 0x24, 0x29, 0x43]];
+ }
+ name() {
+ return 'ISO-2022-KR';
+ }
+ language() {
+ return 'kr';
+ }
+}
+exports.ISO_2022_KR = ISO_2022_KR;
+class ISO_2022_CN extends ISO_2022 {
+ constructor() {
+ super(...arguments);
+ this.escapeSequences = [
+ [0x1b, 0x24, 0x29, 0x41],
+ [0x1b, 0x24, 0x29, 0x47],
+ [0x1b, 0x24, 0x2a, 0x48],
+ [0x1b, 0x24, 0x29, 0x45],
+ [0x1b, 0x24, 0x2b, 0x49],
+ [0x1b, 0x24, 0x2b, 0x4a],
+ [0x1b, 0x24, 0x2b, 0x4b],
+ [0x1b, 0x24, 0x2b, 0x4c],
+ [0x1b, 0x24, 0x2b, 0x4d],
+ [0x1b, 0x4e],
+ [0x1b, 0x4f],
+ ];
+ }
+ name() {
+ return 'ISO-2022-CN';
+ }
+ language() {
+ return 'zh';
+ }
+}
+exports.ISO_2022_CN = ISO_2022_CN;
+//# sourceMappingURL=iso2022.js.map \ No newline at end of file