summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/chardet/lib/index.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/index.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/index.js')
-rw-r--r--includes/external/addressbook/node_modules/chardet/lib/index.js143
1 files changed, 143 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/chardet/lib/index.js b/includes/external/addressbook/node_modules/chardet/lib/index.js
new file mode 100644
index 0000000..98ef08d
--- /dev/null
+++ b/includes/external/addressbook/node_modules/chardet/lib/index.js
@@ -0,0 +1,143 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.detectFileSync = exports.detectFile = exports.analyse = exports.detect = void 0;
+const node_1 = __importDefault(require("./fs/node"));
+const utf8_1 = __importDefault(require("./encoding/utf8"));
+const unicode = __importStar(require("./encoding/unicode"));
+const mbcs = __importStar(require("./encoding/mbcs"));
+const sbcs = __importStar(require("./encoding/sbcs"));
+const iso2022 = __importStar(require("./encoding/iso2022"));
+const recognisers = [
+ new utf8_1.default(),
+ new unicode.UTF_16BE(),
+ new unicode.UTF_16LE(),
+ new unicode.UTF_32BE(),
+ new unicode.UTF_32LE(),
+ new mbcs.sjis(),
+ new mbcs.big5(),
+ new mbcs.euc_jp(),
+ new mbcs.euc_kr(),
+ new mbcs.gb_18030(),
+ new iso2022.ISO_2022_JP(),
+ new iso2022.ISO_2022_KR(),
+ new iso2022.ISO_2022_CN(),
+ new sbcs.ISO_8859_1(),
+ new sbcs.ISO_8859_2(),
+ new sbcs.ISO_8859_5(),
+ new sbcs.ISO_8859_6(),
+ new sbcs.ISO_8859_7(),
+ new sbcs.ISO_8859_8(),
+ new sbcs.ISO_8859_9(),
+ new sbcs.windows_1251(),
+ new sbcs.windows_1256(),
+ new sbcs.KOI8_R(),
+];
+const detect = (buffer) => {
+ const matches = (0, exports.analyse)(buffer);
+ return matches.length > 0 ? matches[0].name : null;
+};
+exports.detect = detect;
+const analyse = (buffer) => {
+ const byteStats = [];
+ for (let i = 0; i < 256; i++)
+ byteStats[i] = 0;
+ for (let i = buffer.length - 1; i >= 0; i--)
+ byteStats[buffer[i] & 0x00ff]++;
+ let c1Bytes = false;
+ for (let i = 0x80; i <= 0x9f; i += 1) {
+ if (byteStats[i] !== 0) {
+ c1Bytes = true;
+ break;
+ }
+ }
+ const context = {
+ byteStats,
+ c1Bytes,
+ rawInput: buffer,
+ rawLen: buffer.length,
+ inputBytes: buffer,
+ inputLen: buffer.length,
+ };
+ const matches = recognisers
+ .map((rec) => {
+ return rec.match(context);
+ })
+ .filter((match) => {
+ return !!match;
+ })
+ .sort((a, b) => {
+ return b.confidence - a.confidence;
+ });
+ return matches;
+};
+exports.analyse = analyse;
+const detectFile = (filepath, opts = {}) => new Promise((resolve, reject) => {
+ let fd;
+ const fs = (0, node_1.default)();
+ const handler = (err, buffer) => {
+ if (fd) {
+ fs.closeSync(fd);
+ }
+ if (err) {
+ reject(err);
+ }
+ else {
+ resolve((0, exports.detect)(buffer));
+ }
+ };
+ if (opts && opts.sampleSize) {
+ fd = fs.openSync(filepath, 'r');
+ const sample = Buffer.allocUnsafe(opts.sampleSize);
+ fs.read(fd, sample, 0, opts.sampleSize, opts.offset, (err) => {
+ handler(err, sample);
+ });
+ return;
+ }
+ fs.readFile(filepath, handler);
+});
+exports.detectFile = detectFile;
+const detectFileSync = (filepath, opts = {}) => {
+ const fs = (0, node_1.default)();
+ if (opts && opts.sampleSize) {
+ const fd = fs.openSync(filepath, 'r');
+ const sample = Buffer.allocUnsafe(opts.sampleSize);
+ fs.readSync(fd, sample, 0, opts.sampleSize, opts.offset);
+ fs.closeSync(fd);
+ return (0, exports.detect)(sample);
+ }
+ return (0, exports.detect)(fs.readFileSync(filepath));
+};
+exports.detectFileSync = detectFileSync;
+exports.default = {
+ analyse: exports.analyse,
+ detect: exports.detect,
+ detectFileSync: exports.detectFileSync,
+ detectFile: exports.detectFile,
+};
+//# sourceMappingURL=index.js.map \ No newline at end of file