UNPKG

@alshdavid/mime-types

Version:

The ultimate javascript content-type utility.

58 lines (57 loc) 1.97 kB
"use strict"; 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;