CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
index.js159 linesDownload Raw Back to lib
1"use strict";2var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {3    if (k2 === undefined) k2 = k;4    var desc = Object.getOwnPropertyDescriptor(m, k);5    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {6      desc = { enumerable: true, get: function() { return m[k]; } };7    }8    Object.defineProperty(o, k2, desc);9}) : (function(o, m, k, k2) {10    if (k2 === undefined) k2 = k;11    o[k2] = m[k];12}));13var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {14    Object.defineProperty(o, "default", { enumerable: true, value: v });15}) : function(o, v) {16    o["default"] = v;17});18var __importStar = (this && this.__importStar) || (function () {19    var ownKeys = function(o) {20        ownKeys = Object.getOwnPropertyNames || function (o) {21            var ar = [];22            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;23            return ar;24        };25        return ownKeys(o);26    };27    return function (mod) {28        if (mod && mod.__esModule) return mod;29        var result = {};30        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);31        __setModuleDefault(result, mod);32        return result;33    };34})();35var __importDefault = (this && this.__importDefault) || function (mod) {36    return (mod && mod.__esModule) ? mod : { "default": mod };37};38Object.defineProperty(exports, "__esModule", { value: true });39exports.detectFileSync = exports.detectFile = exports.analyse = exports.detect = void 0;40const node_1 = __importDefault(require("./fs/node"));41const ascii_1 = __importDefault(require("./encoding/ascii"));42const utf8_1 = __importDefault(require("./encoding/utf8"));43const unicode = __importStar(require("./encoding/unicode"));44const mbcs = __importStar(require("./encoding/mbcs"));45const sbcs = __importStar(require("./encoding/sbcs"));46const iso2022 = __importStar(require("./encoding/iso2022"));47const utils_1 = require("./utils");48const recognisers = [49    new utf8_1.default(),50    new unicode.UTF_16BE(),51    new unicode.UTF_16LE(),52    new unicode.UTF_32BE(),53    new unicode.UTF_32LE(),54    new mbcs.sjis(),55    new mbcs.big5(),56    new mbcs.euc_jp(),57    new mbcs.euc_kr(),58    new mbcs.gb_18030(),59    new iso2022.ISO_2022_JP(),60    new iso2022.ISO_2022_KR(),61    new iso2022.ISO_2022_CN(),62    new sbcs.ISO_8859_1(),63    new sbcs.ISO_8859_2(),64    new sbcs.ISO_8859_5(),65    new sbcs.ISO_8859_6(),66    new sbcs.ISO_8859_7(),67    new sbcs.ISO_8859_8(),68    new sbcs.ISO_8859_9(),69    new sbcs.windows_1251(),70    new sbcs.windows_1256(),71    new sbcs.KOI8_R(),72    new ascii_1.default(),73];74const detect = (buffer) => {75    const matches = (0, exports.analyse)(buffer);76    return matches.length > 0 ? matches[0].name : null;77};78exports.detect = detect;79const analyse = (buffer) => {80    if (!(0, utils_1.isByteArray)(buffer)) {81        throw new Error('Input must be a byte array, e.g. Buffer or Uint8Array');82    }83    const byteStats = [];84    for (let i = 0; i < 256; i++)85        byteStats[i] = 0;86    for (let i = buffer.length - 1; i >= 0; i--)87        byteStats[buffer[i] & 0x00ff]++;88    let c1Bytes = false;89    for (let i = 0x80; i <= 0x9f; i += 1) {90        if (byteStats[i] !== 0) {91            c1Bytes = true;92            break;93        }94    }95    const context = {96        byteStats,97        c1Bytes,98        rawInput: buffer,99        rawLen: buffer.length,100        inputBytes: buffer,101        inputLen: buffer.length,102    };103    const matches = recognisers104        .map((rec) => {105        return rec.match(context);106    })107        .filter((match) => {108        return !!match;109    })110        .sort((a, b) => {111        return b.confidence - a.confidence;112    });113    return matches;114};115exports.analyse = analyse;116const detectFile = (filepath, opts = {}) => new Promise((resolve, reject) => {117    let fd;118    const fs = (0, node_1.default)();119    const handler = (err, buffer) => {120        if (fd) {121            fs.closeSync(fd);122        }123        if (err) {124            reject(err);125        }126        else {127            resolve((0, exports.detect)(buffer));128        }129    };130    if (opts && opts.sampleSize) {131        fd = fs.openSync(filepath, 'r');132        const sample = Buffer.allocUnsafe(opts.sampleSize);133        fs.read(fd, sample, 0, opts.sampleSize, opts.offset, (err) => {134            handler(err, sample);135        });136        return;137    }138    fs.readFile(filepath, handler);139});140exports.detectFile = detectFile;141const detectFileSync = (filepath, opts = {}) => {142    const fs = (0, node_1.default)();143    if (opts && opts.sampleSize) {144        const fd = fs.openSync(filepath, 'r');145        const sample = Buffer.allocUnsafe(opts.sampleSize);146        fs.readSync(fd, sample, 0, opts.sampleSize, opts.offset);147        fs.closeSync(fd);148        return (0, exports.detect)(sample);149    }150    return (0, exports.detect)(fs.readFileSync(filepath));151};152exports.detectFileSync = detectFileSync;153exports.default = {154    analyse: exports.analyse,155    detect: exports.detect,156    detectFileSync: exports.detectFileSync,157    detectFile: exports.detectFile,158};159//# sourceMappingURL=index.js.map
basant307/AI_Governance_Project · CoolFace