@alshdavid/mime-types
Version:
The ultimate javascript content-type utility.
58 lines (57 loc) • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.charset = exports.extension = exports.contentType = exports.lookup = void 0;
const mime_types_parser_js_1 = require("./mime-types-parser.js");
let mimeTypesParser;
/**
* @description
* Lookup the content-type associated with a file.
* @param path
* e.g. 'json', '.md', 'file.html', 'folder/file.js'
*/
function lookup(path) {
if (!mimeTypesParser)
mimeTypesParser = new mime_types_parser_js_1.MimeTypesParser();
return mimeTypesParser.lookup(path);
}
exports.lookup = lookup;
/**
* @description
* Create a full content-type header given a content-type or extension.
* When given an extension, mime.lookup is used to get the matching content-type,
* otherwise the given content-type is used. Then if the content-type does not
* already have a charset parameter, mime.charset is used to get the default
* charset and add to the returned content-type.
* @param query
* e.g. 'markdown', 'file.json', 'text/html', 'text/html; charset=iso-8859-1'
*/
function contentType(query) {
if (!mimeTypesParser)
mimeTypesParser = new mime_types_parser_js_1.MimeTypesParser();
return mimeTypesParser.contentType(query);
}
exports.contentType = contentType;
/**
* @description
* Get the default extension for a content-type.
* @param mimeType
* e.g. extension('application/octet-stream') -> 'bin'
*/
function extension(mimeType) {
if (!mimeTypesParser)
mimeTypesParser = new mime_types_parser_js_1.MimeTypesParser();
return mimeTypesParser.extension(mimeType);
}
exports.extension = extension;
/**
* @description
* Lookup the implied default charset of a content-type.
* @param mimeType
* e.g. charset('text/markdown') -> 'UTF-8'
*/
function charset(mimeType) {
if (!mimeTypesParser)
mimeTypesParser = new mime_types_parser_js_1.MimeTypesParser();
return mimeTypesParser.charset(mimeType);
}
exports.charset = charset;