file-type
Advanced tools
Comparing version 4.2.0 to 4.3.0
209
index.js
'use strict'; | ||
module.exports = input => { | ||
@@ -9,3 +10,17 @@ const buf = new Uint8Array(input); | ||
if (buf[0] === 0xFF && buf[1] === 0xD8 && buf[2] === 0xFF) { | ||
const check = (header, opts) => { | ||
opts = Object.assign({ | ||
offset: 0 | ||
}, opts); | ||
for (let i = 0; i < header.length; i++) { | ||
if (header[i] !== buf[i + opts.offset]) { | ||
return false; | ||
} | ||
} | ||
return true; | ||
}; | ||
if (check([0xFF, 0xD8, 0xFF])) { | ||
return { | ||
@@ -17,3 +32,3 @@ ext: 'jpg', | ||
if (buf[0] === 0x89 && buf[1] === 0x50 && buf[2] === 0x4E && buf[3] === 0x47) { | ||
if (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) { | ||
return { | ||
@@ -25,3 +40,3 @@ ext: 'png', | ||
if (buf[0] === 0x47 && buf[1] === 0x49 && buf[2] === 0x46) { | ||
if (check([0x47, 0x49, 0x46])) { | ||
return { | ||
@@ -33,3 +48,3 @@ ext: 'gif', | ||
if (buf[8] === 0x57 && buf[9] === 0x45 && buf[10] === 0x42 && buf[11] === 0x50) { | ||
if (check([0x57, 0x45, 0x42, 0x50], {offset: 8})) { | ||
return { | ||
@@ -41,3 +56,3 @@ ext: 'webp', | ||
if (buf[0] === 0x46 && buf[1] === 0x4C && buf[2] === 0x49 && buf[3] === 0x46) { | ||
if (check([0x46, 0x4C, 0x49, 0x46])) { | ||
return { | ||
@@ -50,3 +65,6 @@ ext: 'flif', | ||
// Needs to be before `tif` check | ||
if (((buf[0] === 0x49 && buf[1] === 0x49 && buf[2] === 0x2A && buf[3] === 0x0) || (buf[0] === 0x4D && buf[1] === 0x4D && buf[2] === 0x0 && buf[3] === 0x2A)) && buf[8] === 0x43 && buf[9] === 0x52) { | ||
if ( | ||
(check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) && | ||
check([0x43, 0x52], {offset: 8}) | ||
) { | ||
return { | ||
@@ -58,3 +76,6 @@ ext: 'cr2', | ||
if ((buf[0] === 0x49 && buf[1] === 0x49 && buf[2] === 0x2A && buf[3] === 0x0) || (buf[0] === 0x4D && buf[1] === 0x4D && buf[2] === 0x0 && buf[3] === 0x2A)) { | ||
if ( | ||
check([0x49, 0x49, 0x2A, 0x0]) || | ||
check([0x4D, 0x4D, 0x0, 0x2A]) | ||
) { | ||
return { | ||
@@ -66,3 +87,3 @@ ext: 'tif', | ||
if (buf[0] === 0x42 && buf[1] === 0x4D) { | ||
if (check([0x42, 0x4D])) { | ||
return { | ||
@@ -74,3 +95,3 @@ ext: 'bmp', | ||
if (buf[0] === 0x49 && buf[1] === 0x49 && buf[2] === 0xBC) { | ||
if (check([0x49, 0x49, 0xBC])) { | ||
return { | ||
@@ -82,3 +103,3 @@ ext: 'jxr', | ||
if (buf[0] === 0x38 && buf[1] === 0x42 && buf[2] === 0x50 && buf[3] === 0x53) { | ||
if (check([0x38, 0x42, 0x50, 0x53])) { | ||
return { | ||
@@ -90,4 +111,7 @@ ext: 'psd', | ||
// Needs to be before `zip` check | ||
if (buf[0] === 0x50 && buf[1] === 0x4B && buf[2] === 0x3 && buf[3] === 0x4 && buf[30] === 0x6D && buf[31] === 0x69 && buf[32] === 0x6D && buf[33] === 0x65 && buf[34] === 0x74 && buf[35] === 0x79 && buf[36] === 0x70 && buf[37] === 0x65 && buf[38] === 0x61 && buf[39] === 0x70 && buf[40] === 0x70 && buf[41] === 0x6C && buf[42] === 0x69 && buf[43] === 0x63 && buf[44] === 0x61 && buf[45] === 0x74 && buf[46] === 0x69 && buf[47] === 0x6F && buf[48] === 0x6E && buf[49] === 0x2F && buf[50] === 0x65 && buf[51] === 0x70 && buf[52] === 0x75 && buf[53] === 0x62 && buf[54] === 0x2B && buf[55] === 0x7A && buf[56] === 0x69 && buf[57] === 0x70) { | ||
// Needs to be before the `zip` check | ||
if ( | ||
check([0x50, 0x4B, 0x3, 0x4]) && | ||
check([0x6D, 0x69, 0x6D, 0x65, 0x74, 0x79, 0x70, 0x65, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x65, 0x70, 0x75, 0x62, 0x2B, 0x7A, 0x69, 0x70], {offset: 30}) | ||
) { | ||
return { | ||
@@ -100,4 +124,7 @@ ext: 'epub', | ||
// Needs to be before `zip` check | ||
// assumes signed .xpi from addons.mozilla.org | ||
if (buf[0] === 0x50 && buf[1] === 0x4B && buf[2] === 0x3 && buf[3] === 0x4 && buf[30] === 0x4D && buf[31] === 0x45 && buf[32] === 0x54 && buf[33] === 0x41 && buf[34] === 0x2D && buf[35] === 0x49 && buf[36] === 0x4E && buf[37] === 0x46 && buf[38] === 0x2F && buf[39] === 0x6D && buf[40] === 0x6F && buf[41] === 0x7A && buf[42] === 0x69 && buf[43] === 0x6C && buf[44] === 0x6C && buf[45] === 0x61 && buf[46] === 0x2E && buf[47] === 0x72 && buf[48] === 0x73 && buf[49] === 0x61) { | ||
// Assumes signed `.xpi` from addons.mozilla.org | ||
if ( | ||
check([0x50, 0x4B, 0x3, 0x4]) && | ||
check([0x4D, 0x45, 0x54, 0x41, 0x2D, 0x49, 0x4E, 0x46, 0x2F, 0x6D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x2E, 0x72, 0x73, 0x61], {offset: 30}) | ||
) { | ||
return { | ||
@@ -109,3 +136,7 @@ ext: 'xpi', | ||
if (buf[0] === 0x50 && buf[1] === 0x4B && (buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) && (buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)) { | ||
if ( | ||
check([0x50, 0x4B]) && | ||
(buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) && | ||
(buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8) | ||
) { | ||
return { | ||
@@ -117,3 +148,3 @@ ext: 'zip', | ||
if (buf[257] === 0x75 && buf[258] === 0x73 && buf[259] === 0x74 && buf[260] === 0x61 && buf[261] === 0x72) { | ||
if (check([0x75, 0x73, 0x74, 0x61, 0x72], {offset: 257})) { | ||
return { | ||
@@ -125,3 +156,6 @@ ext: 'tar', | ||
if (buf[0] === 0x52 && buf[1] === 0x61 && buf[2] === 0x72 && buf[3] === 0x21 && buf[4] === 0x1A && buf[5] === 0x7 && (buf[6] === 0x0 || buf[6] === 0x1)) { | ||
if ( | ||
check([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) && | ||
(buf[6] === 0x0 || buf[6] === 0x1) | ||
) { | ||
return { | ||
@@ -133,3 +167,3 @@ ext: 'rar', | ||
if (buf[0] === 0x1F && buf[1] === 0x8B && buf[2] === 0x8) { | ||
if (check([0x1F, 0x8B, 0x8])) { | ||
return { | ||
@@ -141,3 +175,3 @@ ext: 'gz', | ||
if (buf[0] === 0x42 && buf[1] === 0x5A && buf[2] === 0x68) { | ||
if (check([0x42, 0x5A, 0x68])) { | ||
return { | ||
@@ -149,3 +183,3 @@ ext: 'bz2', | ||
if (buf[0] === 0x37 && buf[1] === 0x7A && buf[2] === 0xBC && buf[3] === 0xAF && buf[4] === 0x27 && buf[5] === 0x1C) { | ||
if (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) { | ||
return { | ||
@@ -157,3 +191,3 @@ ext: '7z', | ||
if (buf[0] === 0x78 && buf[1] === 0x01) { | ||
if (check([0x78, 0x01])) { | ||
return { | ||
@@ -166,7 +200,14 @@ ext: 'dmg', | ||
if ( | ||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && (buf[3] === 0x18 || buf[3] === 0x20) && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70) || | ||
(buf[0] === 0x33 && buf[1] === 0x67 && buf[2] === 0x70 && buf[3] === 0x35) || | ||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x6D && buf[9] === 0x70 && buf[10] === 0x34 && buf[11] === 0x32 && buf[16] === 0x6D && buf[17] === 0x70 && buf[18] === 0x34 && buf[19] === 0x31 && buf[20] === 0x6D && buf[21] === 0x70 && buf[22] === 0x34 && buf[23] === 0x32 && buf[24] === 0x69 && buf[25] === 0x73 && buf[26] === 0x6F && buf[27] === 0x6D) || | ||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x69 && buf[9] === 0x73 && buf[10] === 0x6F && buf[11] === 0x6D) || | ||
(buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x6D && buf[9] === 0x70 && buf[10] === 0x34 && buf[11] === 0x32 && buf[12] === 0x0 && buf[13] === 0x0 && buf[14] === 0x0 && buf[15] === 0x0) | ||
( | ||
check([0x0, 0x0, 0x0]) && | ||
(buf[3] === 0x18 || buf[3] === 0x20) && | ||
check([0x66, 0x74, 0x79, 0x70], {offset: 4}) | ||
) || | ||
check([0x33, 0x67, 0x70, 0x35]) || | ||
( | ||
check([0x0, 0x0, 0x0, 0x1C, 0x66, 0x74, 0x79, 0x70, 0x6D, 0x70, 0x34, 0x32]) && | ||
check([0x6D, 0x70, 0x34, 0x31, 0x6D, 0x70, 0x34, 0x32, 0x69, 0x73, 0x6F, 0x6D], {offset: 16}) | ||
) || | ||
check([0x0, 0x0, 0x0, 0x1C, 0x66, 0x74, 0x79, 0x70, 0x69, 0x73, 0x6F, 0x6D]) || | ||
check([0x0, 0x0, 0x0, 0x1C, 0x66, 0x74, 0x79, 0x70, 0x6D, 0x70, 0x34, 0x32, 0x0, 0x0, 0x0, 0x0]) | ||
) { | ||
@@ -179,3 +220,3 @@ return { | ||
if ((buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x1C && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x4D && buf[9] === 0x34 && buf[10] === 0x56)) { | ||
if (check([0x0, 0x0, 0x0, 0x1C, 0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x56])) { | ||
return { | ||
@@ -187,3 +228,3 @@ ext: 'm4v', | ||
if (buf[0] === 0x4D && buf[1] === 0x54 && buf[2] === 0x68 && buf[3] === 0x64) { | ||
if (check([0x4D, 0x54, 0x68, 0x64])) { | ||
return { | ||
@@ -196,3 +237,3 @@ ext: 'mid', | ||
// https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska | ||
if (buf[0] === 0x1A && buf[1] === 0x45 && buf[2] === 0xDF && buf[3] === 0xA3) { | ||
if (check([0x1A, 0x45, 0xDF, 0xA3])) { | ||
const sliced = buf.subarray(4, 4 + 4096); | ||
@@ -211,2 +252,3 @@ const idPos = sliced.findIndex((el, i, arr) => arr[i] === 0x42 && arr[i + 1] === 0x82); | ||
} | ||
if (findDocType('webm')) { | ||
@@ -221,3 +263,7 @@ return { | ||
if (buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x0 && buf[3] === 0x14 && buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70) { | ||
if (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) || | ||
check([0x66, 0x72, 0x65, 0x65], {offset: 4}) || | ||
check([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {offset: 4}) || | ||
check([0x6D, 0x64, 0x61, 0x74], {offset: 4}) || // MJPEG | ||
check([0x77, 0x69, 0x64, 0x65], {offset: 4})) { | ||
return { | ||
@@ -229,3 +275,6 @@ ext: 'mov', | ||
if (buf[0] === 0x52 && buf[1] === 0x49 && buf[2] === 0x46 && buf[3] === 0x46 && buf[8] === 0x41 && buf[9] === 0x56 && buf[10] === 0x49) { | ||
if ( | ||
check([0x52, 0x49, 0x46, 0x46]) && | ||
check([0x41, 0x56, 0x49], {offset: 8}) | ||
) { | ||
return { | ||
@@ -237,3 +286,3 @@ ext: 'avi', | ||
if (buf[0] === 0x30 && buf[1] === 0x26 && buf[2] === 0xB2 && buf[3] === 0x75 && buf[4] === 0x8E && buf[5] === 0x66 && buf[6] === 0xCF && buf[7] === 0x11 && buf[8] === 0xA6 && buf[9] === 0xD9) { | ||
if (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) { | ||
return { | ||
@@ -245,3 +294,3 @@ ext: 'wmv', | ||
if (buf[0] === 0x0 && buf[1] === 0x0 && buf[2] === 0x1 && buf[3].toString(16)[0] === 'b') { | ||
if (check([0x0, 0x0, 0x1, 0xBA])) { | ||
return { | ||
@@ -253,3 +302,6 @@ ext: 'mpg', | ||
if ((buf[0] === 0x49 && buf[1] === 0x44 && buf[2] === 0x33) || (buf[0] === 0xFF && buf[1] === 0xFB)) { | ||
if ( | ||
check([0x49, 0x44, 0x33]) || | ||
check([0xFF, 0xFB]) | ||
) { | ||
return { | ||
@@ -261,3 +313,6 @@ ext: 'mp3', | ||
if ((buf[4] === 0x66 && buf[5] === 0x74 && buf[6] === 0x79 && buf[7] === 0x70 && buf[8] === 0x4D && buf[9] === 0x34 && buf[10] === 0x41) || (buf[0] === 0x4D && buf[1] === 0x34 && buf[2] === 0x41 && buf[3] === 0x20)) { | ||
if ( | ||
check([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {offset: 4}) || | ||
check([0x4D, 0x34, 0x41, 0x20]) | ||
) { | ||
return { | ||
@@ -270,3 +325,3 @@ ext: 'm4a', | ||
// Needs to be before `ogg` check | ||
if (buf[28] === 0x4F && buf[29] === 0x70 && buf[30] === 0x75 && buf[31] === 0x73 && buf[32] === 0x48 && buf[33] === 0x65 && buf[34] === 0x61 && buf[35] === 0x64) { | ||
if (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {offset: 28})) { | ||
return { | ||
@@ -278,3 +333,3 @@ ext: 'opus', | ||
if (buf[0] === 0x4F && buf[1] === 0x67 && buf[2] === 0x67 && buf[3] === 0x53) { | ||
if (check([0x4F, 0x67, 0x67, 0x53])) { | ||
return { | ||
@@ -286,3 +341,3 @@ ext: 'ogg', | ||
if (buf[0] === 0x66 && buf[1] === 0x4C && buf[2] === 0x61 && buf[3] === 0x43) { | ||
if (check([0x66, 0x4C, 0x61, 0x43])) { | ||
return { | ||
@@ -294,3 +349,6 @@ ext: 'flac', | ||
if (buf[0] === 0x52 && buf[1] === 0x49 && buf[2] === 0x46 && buf[3] === 0x46 && buf[8] === 0x57 && buf[9] === 0x41 && buf[10] === 0x56 && buf[11] === 0x45) { | ||
if ( | ||
check([0x52, 0x49, 0x46, 0x46]) && | ||
check([0x57, 0x41, 0x56, 0x45], {offset: 8}) | ||
) { | ||
return { | ||
@@ -302,3 +360,3 @@ ext: 'wav', | ||
if (buf[0] === 0x23 && buf[1] === 0x21 && buf[2] === 0x41 && buf[3] === 0x4D && buf[4] === 0x52 && buf[5] === 0x0A) { | ||
if (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) { | ||
return { | ||
@@ -310,3 +368,3 @@ ext: 'amr', | ||
if (buf[0] === 0x25 && buf[1] === 0x50 && buf[2] === 0x44 && buf[3] === 0x46) { | ||
if (check([0x25, 0x50, 0x44, 0x46])) { | ||
return { | ||
@@ -318,3 +376,3 @@ ext: 'pdf', | ||
if (buf[0] === 0x4D && buf[1] === 0x5A) { | ||
if (check([0x4D, 0x5A])) { | ||
return { | ||
@@ -326,3 +384,6 @@ ext: 'exe', | ||
if ((buf[0] === 0x43 || buf[0] === 0x46) && buf[1] === 0x57 && buf[2] === 0x53) { | ||
if ( | ||
(buf[0] === 0x43 || buf[0] === 0x46) && | ||
check([0x57, 0x53], {offset: 1}) | ||
) { | ||
return { | ||
@@ -334,3 +395,3 @@ ext: 'swf', | ||
if (buf[0] === 0x7B && buf[1] === 0x5C && buf[2] === 0x72 && buf[3] === 0x74 && buf[4] === 0x66) { | ||
if (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) { | ||
return { | ||
@@ -342,3 +403,3 @@ ext: 'rtf', | ||
if (buf[0] === 0x00 && buf[1] === 0x61 && buf[2] === 0x73 && buf[3] === 0x6D) { | ||
if (check([0x00, 0x61, 0x73, 0x6D])) { | ||
return { | ||
@@ -351,6 +412,6 @@ ext: 'wasm', | ||
if ( | ||
(buf[0] === 0x77 && buf[1] === 0x4F && buf[2] === 0x46 && buf[3] === 0x46) && | ||
check([0x77, 0x4F, 0x46, 0x46]) && | ||
( | ||
(buf[4] === 0x00 && buf[5] === 0x01 && buf[6] === 0x00 && buf[7] === 0x00) || | ||
(buf[4] === 0x4F && buf[5] === 0x54 && buf[6] === 0x54 && buf[7] === 0x4F) | ||
check([0x00, 0x01, 0x00, 0x00], {offset: 4}) || | ||
check([0x4F, 0x54, 0x54, 0x4F], {offset: 4}) | ||
) | ||
@@ -365,6 +426,6 @@ ) { | ||
if ( | ||
(buf[0] === 0x77 && buf[1] === 0x4F && buf[2] === 0x46 && buf[3] === 0x32) && | ||
check([0x77, 0x4F, 0x46, 0x32]) && | ||
( | ||
(buf[4] === 0x00 && buf[5] === 0x01 && buf[6] === 0x00 && buf[7] === 0x00) || | ||
(buf[4] === 0x4F && buf[5] === 0x54 && buf[6] === 0x54 && buf[7] === 0x4F) | ||
check([0x00, 0x01, 0x00, 0x00], {offset: 4}) || | ||
check([0x4F, 0x54, 0x54, 0x4F], {offset: 4}) | ||
) | ||
@@ -379,7 +440,7 @@ ) { | ||
if ( | ||
(buf[34] === 0x4C && buf[35] === 0x50) && | ||
check([0x4C, 0x50], {offset: 34}) && | ||
( | ||
(buf[8] === 0x00 && buf[9] === 0x00 && buf[10] === 0x01) || | ||
(buf[8] === 0x01 && buf[9] === 0x00 && buf[10] === 0x02) || | ||
(buf[8] === 0x02 && buf[9] === 0x00 && buf[10] === 0x02) | ||
check([0x00, 0x00, 0x01], {offset: 8}) || | ||
check([0x01, 0x00, 0x02], {offset: 8}) || | ||
check([0x02, 0x00, 0x02], {offset: 8}) | ||
) | ||
@@ -393,3 +454,3 @@ ) { | ||
if (buf[0] === 0x00 && buf[1] === 0x01 && buf[2] === 0x00 && buf[3] === 0x00 && buf[4] === 0x00) { | ||
if (check([0x00, 0x01, 0x00, 0x00, 0x00])) { | ||
return { | ||
@@ -401,3 +462,3 @@ ext: 'ttf', | ||
if (buf[0] === 0x4F && buf[1] === 0x54 && buf[2] === 0x54 && buf[3] === 0x4F && buf[4] === 0x00) { | ||
if (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) { | ||
return { | ||
@@ -409,3 +470,3 @@ ext: 'otf', | ||
if (buf[0] === 0x00 && buf[1] === 0x00 && buf[2] === 0x01 && buf[3] === 0x00) { | ||
if (check([0x00, 0x00, 0x01, 0x00])) { | ||
return { | ||
@@ -417,3 +478,3 @@ ext: 'ico', | ||
if (buf[0] === 0x46 && buf[1] === 0x4C && buf[2] === 0x56 && buf[3] === 0x01) { | ||
if (check([0x46, 0x4C, 0x56, 0x01])) { | ||
return { | ||
@@ -425,3 +486,3 @@ ext: 'flv', | ||
if (buf[0] === 0x25 && buf[1] === 0x21) { | ||
if (check([0x25, 0x21])) { | ||
return { | ||
@@ -433,3 +494,3 @@ ext: 'ps', | ||
if (buf[0] === 0xFD && buf[1] === 0x37 && buf[2] === 0x7A && buf[3] === 0x58 && buf[4] === 0x5A && buf[5] === 0x00) { | ||
if (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) { | ||
return { | ||
@@ -441,3 +502,3 @@ ext: 'xz', | ||
if (buf[0] === 0x53 && buf[1] === 0x51 && buf[2] === 0x4C && buf[3] === 0x69) { | ||
if (check([0x53, 0x51, 0x4C, 0x69])) { | ||
return { | ||
@@ -449,3 +510,3 @@ ext: 'sqlite', | ||
if (buf[0] === 0x4E && buf[1] === 0x45 && buf[2] === 0x53 && buf[3] === 0x1A) { | ||
if (check([0x4E, 0x45, 0x53, 0x1A])) { | ||
return { | ||
@@ -457,3 +518,3 @@ ext: 'nes', | ||
if (buf[0] === 0x43 && buf[1] === 0x72 && buf[2] === 0x32 && buf[3] === 0x34) { | ||
if (check([0x43, 0x72, 0x32, 0x34])) { | ||
return { | ||
@@ -466,4 +527,4 @@ ext: 'crx', | ||
if ( | ||
(buf[0] === 0x4D && buf[1] === 0x53 && buf[2] === 0x43 && buf[3] === 0x46) || | ||
(buf[0] === 0x49 && buf[1] === 0x53 && buf[2] === 0x63 && buf[3] === 0x28) | ||
check([0x4D, 0x53, 0x43, 0x46]) || | ||
check([0x49, 0x53, 0x63, 0x28]) | ||
) { | ||
@@ -477,3 +538,3 @@ return { | ||
// Needs to be before `ar` check | ||
if (buf[0] === 0x21 && buf[1] === 0x3C && buf[2] === 0x61 && buf[3] === 0x72 && buf[4] === 0x63 && buf[5] === 0x68 && buf[6] === 0x3E && buf[7] === 0x0A && buf[8] === 0x64 && buf[9] === 0x65 && buf[10] === 0x62 && buf[11] === 0x69 && buf[12] === 0x61 && buf[13] === 0x6E && buf[14] === 0x2D && buf[15] === 0x62 && buf[16] === 0x69 && buf[17] === 0x6E && buf[18] === 0x61 && buf[19] === 0x72 && buf[20] === 0x79) { | ||
if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) { | ||
return { | ||
@@ -485,3 +546,3 @@ ext: 'deb', | ||
if (buf[0] === 0x21 && buf[1] === 0x3C && buf[2] === 0x61 && buf[3] === 0x72 && buf[4] === 0x63 && buf[5] === 0x68 && buf[6] === 0x3E) { | ||
if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) { | ||
return { | ||
@@ -493,3 +554,3 @@ ext: 'ar', | ||
if (buf[0] === 0xED && buf[1] === 0xAB && buf[2] === 0xEE && buf[3] === 0xDB) { | ||
if (check([0xED, 0xAB, 0xEE, 0xDB])) { | ||
return { | ||
@@ -502,4 +563,4 @@ ext: 'rpm', | ||
if ( | ||
(buf[0] === 0x1F && buf[1] === 0xA0) || | ||
(buf[0] === 0x1F && buf[1] === 0x9D) | ||
check([0x1F, 0xA0]) || | ||
check([0x1F, 0x9D]) | ||
) { | ||
@@ -512,3 +573,3 @@ return { | ||
if (buf[0] === 0x4C && buf[1] === 0x5A && buf[2] === 0x49 && buf[3] === 0x50) { | ||
if (check([0x4C, 0x5A, 0x49, 0x50])) { | ||
return { | ||
@@ -520,3 +581,3 @@ ext: 'lz', | ||
if (buf[0] === 0xD0 && buf[1] === 0xCF && buf[2] === 0x11 && buf[3] === 0xE0 && buf[4] === 0xA1 && buf[5] === 0xB1 && buf[6] === 0x1A && buf[7] === 0xE1) { | ||
if (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) { | ||
return { | ||
@@ -528,3 +589,3 @@ ext: 'msi', | ||
if (buf[0] === 0x06 && buf[1] === 0x0E && buf[2] === 0x2B && buf[3] === 0x34 && buf[4] === 0x02 && buf[5] === 0x05 && buf[6] === 0x01 && buf[7] === 0x01 && buf[8] === 0x0D && buf[9] === 0x01 && buf[10] === 0x02 && buf[11] === 0x01 && buf[12] === 0x01 && buf[13] === 0x02) { | ||
if (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) { | ||
return { | ||
@@ -531,0 +592,0 @@ ext: 'mxf', |
{ | ||
"name": "file-type", | ||
"version": "4.2.0", | ||
"version": "4.3.0", | ||
"description": "Detect the file type of a Buffer/Uint8Array", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
470
17440