mime-controller
Version:
Helps you find the file type easily.
180 lines (179 loc) • 4.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.signatures = void 0;
var validate_json_1 = require("./functions/validate-json");
var validate_xml_1 = require("./functions/validate-xml");
var validate_svg_1 = require("./functions/validate-svg");
var validate_html_1 = require("./functions/validate-html");
exports.signatures = {
JPEG: {
extension: 'jpg',
magic_numbers: {
start_with: ["FFD8FF"]
},
mime: "image/jpeg"
},
BMP: {
extension: "bmp",
magic_numbers: {
start_with: ["424D"]
},
mime: "image/bmp"
},
PNG: {
extension: "png",
magic_numbers: {
start_with: ["89504E470D0A1A0A"]
},
mime: "image/png"
},
GIF: {
extension: "gif",
magic_numbers: {
contain: [
"474946383961",
"474946383761"
]
},
mime: "image/gif"
},
ICO: {
extension: "ico",
magic_numbers: {
start_with: ["00000100"]
},
mime: 'image/vnd.microsoft.icon'
},
MP3: {
extension: "mp3",
magic_numbers: {
start_with: ["494433", "FFF3", "FFFB", "FFF2"]
},
mime: 'audio/mpeg'
},
AI: {
extension: 'ai',
mime: 'application/illustrator',
magic_numbers: {
contain: ['41646F626520496C6C7573747261746F72']
}
},
PDF: {
extension: "pdf",
magic_numbers: {
start_with: ["25504446"]
},
mime: "application/pdf"
},
ZIP: {
extension: "zip",
magic_numbers: {
start_with: ["504B0304"]
},
mime: "application/zip"
},
JSON: {
extension: 'json',
mime: 'application/json',
controller: validate_json_1.validateJSON
},
SVG: {
extension: 'svg',
mime: 'image/svg+xml',
controller: validate_svg_1.validateSVG
},
XML: {
extension: 'xml',
mime: 'application/xmL',
controller: validate_xml_1.validateXML
},
WEBP: {
extension: 'webp',
mime: 'image/webp',
magic_numbers: {
start_with: ["52494646([0-9ABCDEF]){8}57454250"]
}
},
RAR_5: {
extension: 'rar',
magic_numbers: {
start_with: ["526172211A070100"]
},
mime: 'application/vnd.rar'
},
RAR_1: {
extension: 'rar',
magic_numbers: {
start_with: ["526172211A0700"]
},
mime: 'application/vnd.rar'
},
HTML: {
extension: 'html',
mime: 'text/html',
controller: validate_html_1.validateHTML
},
AVI: {
extension: 'avi',
mime: 'video/x-msvideo',
magic_numbers: {
start_with: ["52494646([0-9ABCDEF]){8}4156492"]
}
},
MP4: {
extension: 'mp4',
magic_numbers: {
start_with: ["00000018667479706D703432"]
},
mime: 'video/mp4'
},
MPEG: {
extension: 'mpeg',
magic_numbers: {
start_with: ["000001BA", "000001B3"]
},
mime: 'video/mpeg'
},
WAV: {
extension: 'wav',
magic_numbers: {
start_with: ["52494646([0-9ABCDEF]){8}57415645"]
},
mime: 'audio/wav'
},
AAC: {
extension: 'aac',
magic_numbers: {
start_with: ["FFF1", "FFF9"]
},
mime: 'audio/aac'
},
WEBM: {
extension: 'webm',
magic_numbers: {
start_with: ["1A45DFA3"]
},
mime: 'video/webm'
},
XCF: {
extension: 'xcf',
magic_numbers: {
start_with: ['67696D7020786366']
},
mime: 'image/x-xcf'
},
PSD: {
extension: 'psd',
magic_numbers: {
start_with: ['38425053']
},
mime: 'application/x-photoshop'
},
OGG: {
extension: 'ogg',
mime: 'audio/ogg',
magic_numbers: {
start_with: ['4F676753']
}
}
};