Refactored file type detection engine

This commit is contained in:
n1474335 2018-12-18 17:44:42 +00:00
parent d02124550b
commit e6fb0be1d0
12 changed files with 867 additions and 727 deletions

View file

@ -9,7 +9,7 @@ import { fromHex } from "../lib/Hex";
import Operation from "../Operation";
import OperationError from "../errors/OperationError";
import Utils from "../Utils";
import Magic from "../lib/Magic";
import {detectFileType} from "../lib/FileType";
/**
* Render Image operation
@ -72,8 +72,8 @@ class RenderImage extends Operation {
}
// Determine file type
const type = Magic.magicFileType(input);
if (!(type && type.mime.indexOf("image") === 0)) {
const types = detectFileType(input);
if (!(types.length && types[0].mime.indexOf("image") === 0)) {
throw new OperationError("Invalid file type");
}
@ -92,9 +92,9 @@ class RenderImage extends Operation {
let dataURI = "data:";
// Determine file type
const type = Magic.magicFileType(data);
if (type && type.mime.indexOf("image") === 0) {
dataURI += type.mime + ";";
const types = detectFileType(data);
if (types.length && types[0].mime.indexOf("image") === 0) {
dataURI += types[0].mime + ";";
} else {
throw new OperationError("Invalid file type");
}