whether-image
Version:
check a file whether image
49 lines (48 loc) • 1.69 kB
JavaScript
;
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;