Skip to content

Commit 8a2be08

Browse files
authored
Update pattern-tree.ts
Added mime and extension for common file types Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
1 parent 3f95f64 commit 8a2be08

File tree

1 file changed

+54
-54
lines changed

1 file changed

+54
-54
lines changed

src/model/pattern-tree.ts

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ add(
107107
);
108108

109109
add("rpm", ["0xed", "0xab", "0xee", "0xdb"]);
110-
add("bin", ["0x53", "0x50", "0x30", "0x31"]);
110+
add("bin", ["0x53", "0x50", "0x30", "0x31"], { mime: "application/octet-stream", extension: "bin"});
111111
add("pic", ["0x00"]);
112112
add("pif", ["0x00"]);
113113
add("sea", ["0x00"]);
@@ -142,7 +142,7 @@ add("dba", ["0xBE", "0xBA", "0xFE", "0xCA"]);
142142
add("dba2", ["0x00", "0x01", "0x42", "0x44"]);
143143
add("tda", ["0x00", "0x01", "0x44", "0x54"]);
144144
add("tda2", ["0x00", "0x01", "0x00", "0x00"]);
145-
add("ico", ["0x00", "0x00", "0x01", "0x00"]);
145+
add("ico", ["0x00", "0x00", "0x01", "0x00"], { mime: "image/x-icon", extension: "ico"});
146146
add("3gp", ["0x66", "0x74", "0x79", "0x70", "0x33", "0x67"]);
147147
add("z", ["0x1F", "0x9D"]);
148148
add("tar.z", ["0x1F", "0xA0"]);
@@ -160,9 +160,9 @@ add("bac", [
160160
"0x53",
161161
"0x4B"
162162
]);
163-
add("bz2", ["0x42", "0x5A", "0x68"]);
164-
add("tif", ["0x49", "0x49", "0x2A", "0x00"]);
165-
add("tiff", ["0x4D", "0x4D", "0x00", "0x2A"]);
163+
add("bz2", ["0x42", "0x5A", "0x68"], { mime: "application/x-bzip2", extension: "bz2"});
164+
add("tif", ["0x49", "0x49", "0x2A", "0x00"], { mime: "image/tiff", extension: "tif"});
165+
add("tiff", ["0x4D", "0x4D", "0x00", "0x2A"], { mime: "image/tiff", extension: "tiff"});
166166
add("cr2", [
167167
"0x49",
168168
"0x49",
@@ -351,7 +351,7 @@ add("aiff", [
351351
"0x49",
352352
"0x46",
353353
"0x46"
354-
]);
354+
], { mime: "audio/x-aiff", extension: "aiff"});
355355
add("idx", ["0x49", "0x4E", "0x44", "0x58"]);
356356
add("lz", ["0x4C", "0x5A", "0x49", "0x50"]);
357357
add("exe", ["0x4D", "0x5A"]);
@@ -369,33 +369,33 @@ add("zip", ["0x50", "0x4B", "0x07", "0x08"], {
369369
extension: "zip"
370370
});
371371

372-
add("jar", ["0x50", "0x4B", "0x03", "0x04"]);
373-
add("jar", ["0x50", "0x4B", "0x05", "0x06"]);
374-
add("jar", ["0x50", "0x4B", "0x07", "0x08"]);
372+
add("jar", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/java-archive", extension: "jar"});
373+
add("jar", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/java-archive", extension: "jar"});
374+
add("jar", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/java-archive", extension: "jar"});
375375

376-
add("odt", ["0x50", "0x4B", "0x03", "0x04"]);
377-
add("odt", ["0x50", "0x4B", "0x05", "0x06"]);
378-
add("odt", ["0x50", "0x4B", "0x07", "0x08"]);
376+
add("odt", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/vnd.oasis.opendocument.text", extension: "odt"});
377+
add("odt", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/vnd.oasis.opendocument.text", extension: "odt"});
378+
add("odt", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/vnd.oasis.opendocument.text", extension: "odt"});
379379

380-
add("ods", ["0x50", "0x4B", "0x03", "0x04"]);
381-
add("ods", ["0x50", "0x4B", "0x05", "0x06"]);
382-
add("ods", ["0x50", "0x4B", "0x07", "0x08"]);
380+
add("ods", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/vnd.oasis.opendocument.spreadsheet", extension: "ods"});
381+
add("ods", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/vnd.oasis.opendocument.spreadsheet", extension: "ods"});
382+
add("ods", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/vnd.oasis.opendocument.spreadsheet", extension: "ods"});
383383

384-
add("odp", ["0x50", "0x4B", "0x03", "0x04"]);
385-
add("odp", ["0x50", "0x4B", "0x05", "0x06"]);
386-
add("odp", ["0x50", "0x4B", "0x07", "0x08"]);
384+
add("odp", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/vnd.oasis.opendocument.presentation", extension: "odp"});
385+
add("odp", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/vnd.oasis.opendocument.presentation", extension: "odp"});
386+
add("odp", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/vnd.oasis.opendocument.presentation", extension: "odp"});
387387

388-
add("docx", ["0x50", "0x4B", "0x03", "0x04"]);
389-
add("docx", ["0x50", "0x4B", "0x05", "0x06"]);
390-
add("docx", ["0x50", "0x4B", "0x07", "0x08"]);
388+
add("docx", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", extension: "docx"});
389+
add("docx", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", extension: "docx"});
390+
add("docx", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", extension: "docx"});
391391

392-
add("xlsx", ["0x50", "0x4B", "0x03", "0x04"]);
393-
add("xlsx", ["0x50", "0x4B", "0x05", "0x06"]);
394-
add("xlsx", ["0x50", "0x4B", "0x07", "0x08"]);
392+
add("xlsx", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", extension: "xlsx"});
393+
add("xlsx", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", extension: "xlsx"});
394+
add("xlsx", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", extension: "xlsx"});
395395

396-
add("pptx", ["0x50", "0x4B", "0x03", "0x04"]);
397-
add("pptx", ["0x50", "0x4B", "0x05", "0x06"]);
398-
add("pptx", ["0x50", "0x4B", "0x07", "0x08"]);
396+
add("pptx", ["0x50", "0x4B", "0x03", "0x04"], { mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation", extension: "pptx"});
397+
add("pptx", ["0x50", "0x4B", "0x05", "0x06"], { mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation", extension: "pptx"});
398+
add("pptx", ["0x50", "0x4B", "0x07", "0x08"], { mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation", extension: "pptx"});
399399

400400
add("vsdx", ["0x50", "0x4B", "0x03", "0x04"]);
401401
add("vsdx", ["0x50", "0x4B", "0x05", "0x06"]);
@@ -409,9 +409,9 @@ add("aar", ["0x50", "0x4B", "0x03", "0x04"]);
409409
add("aar", ["0x50", "0x4B", "0x05", "0x06"]);
410410
add("aar", ["0x50", "0x4B", "0x07", "0x08"]);
411411

412-
add("rar", ["0x52", "0x61", "0x72", "0x21", "0x1A", "0x07", "0x00"]);
413-
add("rar", ["0x52", "0x61", "0x72", "0x21", "0x1A", "0x07", "0x01", "0x00"]);
414-
add("rar", ["0x7F", "0x45", "0x4C", "0x46"]);
412+
add("rar", ["0x52", "0x61", "0x72", "0x21", "0x1A", "0x07", "0x00"], { mime: "application/vnd.rar", extension: "rar"});
413+
add("rar", ["0x52", "0x61", "0x72", "0x21", "0x1A", "0x07", "0x01", "0x00"], { mime: "application/vnd.rar", extension: "rar"});
414+
add("rar", ["0x7F", "0x45", "0x4C", "0x46"], { mime: "application/vnd.rar", extension: "rar"});
415415

416416
add("png", ["0x89", "0x50", "0x4E", "0x47", "0x0D", "0x0A", "0x1A", "0x0A"], {
417417
mime: "image/png",
@@ -429,7 +429,7 @@ add("class", ["0xFF", "0xFE"]);
429429
add("class", ["0xFF", "0xFE", "0x00", "0x00"]);
430430

431431
add("ps", ["0x25", "0x21", "0x50", "0x53"]);
432-
add("pdf", ["0x25", "0x50", "0x44", "0x46"]);
432+
add("pdf", ["0x25", "0x50", "0x44", "0x46"], { mime: "application/pdf", extension: "pdf"});
433433

434434
add("asf", [
435435
"0x30",
@@ -497,11 +497,11 @@ add("deploymentimage", [
497497
"0x31"
498498
]);
499499

500-
add("ogg", ["0x4F", "0x67", "0x67", "0x53"]);
501-
add("oga", ["0x4F", "0x67", "0x67", "0x53"]);
502-
add("ogv", ["0x4F", "0x67", "0x67", "0x53"]);
500+
add("ogg", ["0x4F", "0x67", "0x67", "0x53"], { mime: "audio/ogg", extension: "ogg"});
501+
add("oga", ["0x4F", "0x67", "0x67", "0x53"], { mime: "audio/ogg", extension: "oga"});
502+
add("ogv", ["0x4F", "0x67", "0x67", "0x53"], { mime: "video/ogg", extension: "ogv"});
503503

504-
add("psd", ["0x38", "0x42", "0x50", "0x53"]);
504+
add("psd", ["0x38", "0x42", "0x50", "0x53"], { mime: "application/x-photoshop", extension: "psd"});
505505

506506
add(
507507
"wav",
@@ -534,23 +534,23 @@ add("avi", [
534534
"0x56",
535535
"0x49",
536536
"0x20"
537-
]);
537+
], { mime: "video/x-msvideo", extension: "avi"});
538538

539-
add("mp3", ["0xFF", "0xFB"]);
540-
add("mp3", ["0x49", "0x44", "0x33"]);
539+
add("mp3", ["0xFF", "0xFB"], { mime: "audio/mpeg", extension: "mp3"});
540+
add("mp3", ["0x49", "0x44", "0x33"], { mime: "audio/mpeg", extension: "mp3"});
541541

542542
add("bmp", ["0x42", "0x4D"], { mime: "image/bmp", extension: "bmp" });
543543

544544
add("iso", ["0x43", "0x44", "0x30", "0x30", "0x31"]);
545545

546546
add("flac", ["0x66", "0x4C", "0x61", "0x43"]);
547547

548-
add("mid", ["0x4D", "0x54", "0x68", "0x64"]);
549-
add("midi", ["0x4D", "0x54", "0x68", "0x64"]);
548+
add("mid", ["0x4D", "0x54", "0x68", "0x64"], { mime: "audio/midi", extension: "mid"});
549+
add("midi", ["0x4D", "0x54", "0x68", "0x64"], { mime: "audio/midi", extension: "midi"});
550550

551-
add("doc", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"]);
552-
add("xls", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"]);
553-
add("ppt", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"]);
551+
add("doc", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"], { mime: "application/msword", extension: "doc"});
552+
add("xls", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"], { mime: "application/vnd.ms-excel", extension: "xls"});
553+
add("ppt", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"], { mime: "application/vnd.ms-powerpoint", extension: "ppt"});
554554
add("msg", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"]);
555555

556556
add("dex", ["0x64", "0x65", "0x78", "0x0A", "0x30", "0x33", "0x35", "0x00"]);
@@ -638,34 +638,34 @@ add("windowsupdate", [
638638
"0x33",
639639
"0x30"
640640
]);
641-
add("7z", ["0x37", "0x7A", "0xBC", "0xAF", "0x27", "0x1C"]);
641+
add("7z", ["0x37", "0x7A", "0xBC", "0xAF", "0x27", "0x1C"], { mime: "application/x-7z-compressed", extension: "7z"});
642642

643-
add("gz", ["0x1F", "0x8B"]);
644-
add("tar.gz", ["0x1F", "0x8B"]);
643+
add("gz", ["0x1F", "0x8B"], { mime: "application/gzip", extension: "gz"});
644+
add("tar.gz", ["0x1F", "0x8B"], { mime: "application/gzip", extension: "tar.gz"});
645645

646-
add("xz", ["0xFD", "0x37", "0x7A", "0x58", "0x5A", "0x00", "0x00"]);
647-
add("tar.xz", ["0xFD", "0x37", "0x7A", "0x58", "0x5A", "0x00", "0x00"]);
646+
add("xz", ["0xFD", "0x37", "0x7A", "0x58", "0x5A", "0x00", "0x00"], { mime: "application/gzip", extension: "xz"});
647+
add("tar.xz", ["0xFD", "0x37", "0x7A", "0x58", "0x5A", "0x00", "0x00"], { mime: "application/gzip", extension: "tar.xz"});
648648

649649
add("lz2", ["0x04", "0x22", "0x4D", "0x18"]);
650650
add("cab", ["0x4D", "0x53", "0x43", "0x46"]);
651651
add("mkv", ["0x1A", "0x45", "0xDF", "0xA3"]);
652652
add("mka", ["0x1A", "0x45", "0xDF", "0xA3"]);
653653
add("mks", ["0x1A", "0x45", "0xDF", "0xA3"]);
654654
add("mk3d", ["0x1A", "0x45", "0xDF", "0xA3"]);
655-
add("webm", ["0x1A", "0x45", "0xDF", "0xA3"]);
655+
add("webm", ["0x1A", "0x45", "0xDF", "0xA3"], { mime: "audio/webm", extension: "webm"});
656656
add("dcm", ["0x44", "0x49", "0x43", "0x4D"], undefined, 0x80);
657-
add("xml", ["0x3C", "0x3f", "0x78", "0x6d", "0x6C", "0x20"]);
657+
add("xml", ["0x3C", "0x3f", "0x78", "0x6d", "0x6C", "0x20"], { mime: "application/xml", extension: "xml"});
658658
add("wasm", ["0x00", "0x61", "0x73", "0x6d"]);
659659
add("lep", ["0xCF", "0x84", "0x01"]);
660-
add("swf", ["0x43", "0x57", "0x53"]);
661-
add("swf", ["0x46", "0x57", "0x53"]);
660+
add("swf", ["0x43", "0x57", "0x53"], { mime: "application/x-shockwave-flash", extension: "swf"});
661+
add("swf", ["0x46", "0x57", "0x53"], { mime: "application/x-shockwave-flash", extension: "swf"});
662662
add("deb", ["0x21", "0x3C", "0x61", "0x72", "0x63", "0x68", "0x3E"]);
663663

664-
add("rtf", ["0x7B", "0x5C", "0x72", "0x74", "0x66", "0x31"]);
664+
add("rtf", ["0x7B", "0x5C", "0x72", "0x74", "0x66", "0x31"], { mime: "application/rtf", extension: "rtf"});
665665

666666
add("m2p", ["0x00", "0x00", "0x01", "0xBA"]);
667667
add("vob", ["0x00", "0x00", "0x01", "0xBA"]);
668-
add("mpg", ["0x00", "0x00", "0x01", "0xBA"]);
668+
add("mpg", ["0x00", "0x00", "0x01", "0xBA"], { mime: "video/mpeg", extension: "mpg"});
669669
add("mpeg", ["0x00", "0x00", "0x01", "0xBA"], {
670670
mime: "video/mpeg",
671671
extension: "mpeg"

0 commit comments

Comments
 (0)