UNPKG

whether-image

Version:
49 lines (48 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.suffixs = exports.getImageSuffix = exports.isImage = void 0; var heads_1 = require("./heads"); var fs = require("fs"); function getImageSuffix(file, suffixs) { if (suffixs === void 0) { suffixs = Object.keys(heads_1.default); } var fileBuffer = new Uint8Array(); if (file instanceof Buffer) { fileBuffer = file; } else { fileBuffer = fs.readFileSync(file); } for (var suffix in heads_1.default) { if (suffixs.indexOf(suffix) < 0) continue; var headers = heads_1.default[suffix]; var isImage_1 = false; for (var _i = 0, headers_1 = headers; _i < headers_1.length; _i++) { var header = headers_1[_i]; if (header.begin) { var headbuf = Buffer.from(header.begin); isImage_1 = headbuf.equals(fileBuffer.slice(0, header.begin.length)); } if (isImage_1 && header.end) { var endbuf = Buffer.from(header.end); isImage_1 = endbuf.equals(fileBuffer.slice(-header.end.length)); } if (isImage_1) { return suffix; } } } return ''; } exports.getImageSuffix = getImageSuffix; function isImage(file, suffixs) { return getImageSuffix(file, suffixs) !== ''; } exports.isImage = isImage; exports.default = { isImage: isImage, getImageSuffix: getImageSuffix, get suffixs() { return Object.keys(heads_1.default); } }; var suffixs = Object.keys(heads_1.default); exports.suffixs = suffixs;