mirror of
https://github.com/futurepress/epub.js.git
synced 2025-10-03 14:59:18 +02:00
171 lines
4.2 KiB
JavaScript
Executable file
171 lines
4.2 KiB
JavaScript
Executable file
/*
|
|
From Zip.js, by Gildas Lormeau
|
|
edited down
|
|
*/
|
|
|
|
var table = {
|
|
"application" : {
|
|
"ecmascript" : [ "es", "ecma" ],
|
|
"javascript" : "js",
|
|
"ogg" : "ogx",
|
|
"pdf" : "pdf",
|
|
"postscript" : [ "ps", "ai", "eps", "epsi", "epsf", "eps2", "eps3" ],
|
|
"rdf+xml" : "rdf",
|
|
"smil" : [ "smi", "smil" ],
|
|
"xhtml+xml" : [ "xhtml", "xht" ],
|
|
"xml" : [ "xml", "xsl", "xsd", "opf", "ncx" ],
|
|
"zip" : "zip",
|
|
"x-httpd-eruby" : "rhtml",
|
|
"x-latex" : "latex",
|
|
"x-maker" : [ "frm", "maker", "frame", "fm", "fb", "book", "fbdoc" ],
|
|
"x-object" : "o",
|
|
"x-shockwave-flash" : [ "swf", "swfl" ],
|
|
"x-silverlight" : "scr",
|
|
"epub+zip" : "epub",
|
|
"font-tdpfr" : "pfr",
|
|
"inkml+xml" : [ "ink", "inkml" ],
|
|
"json" : "json",
|
|
"jsonml+json" : "jsonml",
|
|
"mathml+xml" : "mathml",
|
|
"metalink+xml" : "metalink",
|
|
"mp4" : "mp4s",
|
|
// "oebps-package+xml" : "opf",
|
|
"omdoc+xml" : "omdoc",
|
|
"oxps" : "oxps",
|
|
"vnd.amazon.ebook" : "azw",
|
|
"widget" : "wgt",
|
|
// "x-dtbncx+xml" : "ncx",
|
|
"x-dtbook+xml" : "dtb",
|
|
"x-dtbresource+xml" : "res",
|
|
"x-font-bdf" : "bdf",
|
|
"x-font-ghostscript" : "gsf",
|
|
"x-font-linux-psf" : "psf",
|
|
"x-font-otf" : "otf",
|
|
"x-font-pcf" : "pcf",
|
|
"x-font-snf" : "snf",
|
|
"x-font-ttf" : [ "ttf", "ttc" ],
|
|
"x-font-type1" : [ "pfa", "pfb", "pfm", "afm" ],
|
|
"x-font-woff" : "woff",
|
|
"x-mobipocket-ebook" : [ "prc", "mobi" ],
|
|
"x-mspublisher" : "pub",
|
|
"x-nzb" : "nzb",
|
|
"x-tgif" : "obj",
|
|
"xaml+xml" : "xaml",
|
|
"xml-dtd" : "dtd",
|
|
"xproc+xml" : "xpl",
|
|
"xslt+xml" : "xslt",
|
|
"internet-property-stream" : "acx",
|
|
"x-compress" : "z",
|
|
"x-compressed" : "tgz",
|
|
"x-gzip" : "gz",
|
|
},
|
|
"audio" : {
|
|
"flac" : "flac",
|
|
"midi" : [ "mid", "midi", "kar", "rmi" ],
|
|
"mpeg" : [ "mpga", "mpega", "mp2", "mp3", "m4a", "mp2a", "m2a", "m3a" ],
|
|
"mpegurl" : "m3u",
|
|
"ogg" : [ "oga", "ogg", "spx" ],
|
|
"x-aiff" : [ "aif", "aiff", "aifc" ],
|
|
"x-ms-wma" : "wma",
|
|
"x-wav" : "wav",
|
|
"adpcm" : "adp",
|
|
"mp4" : "mp4a",
|
|
"webm" : "weba",
|
|
"x-aac" : "aac",
|
|
"x-caf" : "caf",
|
|
"x-matroska" : "mka",
|
|
"x-pn-realaudio-plugin" : "rmp",
|
|
"xm" : "xm",
|
|
"mid" : [ "mid", "rmi" ]
|
|
},
|
|
"image" : {
|
|
"gif" : "gif",
|
|
"ief" : "ief",
|
|
"jpeg" : [ "jpeg", "jpg", "jpe" ],
|
|
"pcx" : "pcx",
|
|
"png" : "png",
|
|
"svg+xml" : [ "svg", "svgz" ],
|
|
"tiff" : [ "tiff", "tif" ],
|
|
"x-icon" : "ico",
|
|
"bmp" : "bmp",
|
|
"webp" : "webp",
|
|
"x-pict" : [ "pic", "pct" ],
|
|
"x-tga" : "tga",
|
|
"cis-cod" : "cod"
|
|
},
|
|
"text" : {
|
|
"cache-manifest" : [ "manifest", "appcache" ],
|
|
"css" : "css",
|
|
"csv" : "csv",
|
|
"html" : [ "html", "htm", "shtml", "stm" ],
|
|
"mathml" : "mml",
|
|
"plain" : [ "txt", "text", "brf", "conf", "def", "list", "log", "in", "bas" ],
|
|
"richtext" : "rtx",
|
|
"tab-separated-values" : "tsv",
|
|
"x-bibtex" : "bib"
|
|
},
|
|
"video" : {
|
|
"mpeg" : [ "mpeg", "mpg", "mpe", "m1v", "m2v", "mp2", "mpa", "mpv2" ],
|
|
"mp4" : [ "mp4", "mp4v", "mpg4" ],
|
|
"quicktime" : [ "qt", "mov" ],
|
|
"ogg" : "ogv",
|
|
"vnd.mpegurl" : [ "mxu", "m4u" ],
|
|
"x-flv" : "flv",
|
|
"x-la-asf" : [ "lsf", "lsx" ],
|
|
"x-mng" : "mng",
|
|
"x-ms-asf" : [ "asf", "asx", "asr" ],
|
|
"x-ms-wm" : "wm",
|
|
"x-ms-wmv" : "wmv",
|
|
"x-ms-wmx" : "wmx",
|
|
"x-ms-wvx" : "wvx",
|
|
"x-msvideo" : "avi",
|
|
"x-sgi-movie" : "movie",
|
|
"x-matroska" : [ "mpv", "mkv", "mk3d", "mks" ],
|
|
"3gpp2" : "3g2",
|
|
"h261" : "h261",
|
|
"h263" : "h263",
|
|
"h264" : "h264",
|
|
"jpeg" : "jpgv",
|
|
"jpm" : [ "jpm", "jpgm" ],
|
|
"mj2" : [ "mj2", "mjp2" ],
|
|
"vnd.ms-playready.media.pyv" : "pyv",
|
|
"vnd.uvvu.mp4" : [ "uvu", "uvvu" ],
|
|
"vnd.vivo" : "viv",
|
|
"webm" : "webm",
|
|
"x-f4v" : "f4v",
|
|
"x-m4v" : "m4v",
|
|
"x-ms-vob" : "vob",
|
|
"x-smv" : "smv"
|
|
}
|
|
};
|
|
|
|
var mimeTypes = (function() {
|
|
var type, subtype, val, index, mimeTypes = {};
|
|
for (type in table) {
|
|
if (table.hasOwnProperty(type)) {
|
|
for (subtype in table[type]) {
|
|
if (table[type].hasOwnProperty(subtype)) {
|
|
val = table[type][subtype];
|
|
if (typeof val == "string") {
|
|
mimeTypes[val] = type + "/" + subtype;
|
|
} else {
|
|
for (index = 0; index < val.length; index++) {
|
|
mimeTypes[val[index]] = type + "/" + subtype;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return mimeTypes;
|
|
})();
|
|
|
|
var defaultValue = "text/plain";//"application/octet-stream";
|
|
|
|
function lookup(filename) {
|
|
return filename && mimeTypes[filename.split(".").pop().toLowerCase()] || defaultValue;
|
|
};
|
|
|
|
module.exports = {
|
|
'lookup': lookup
|
|
}
|