std/media_types
Yoshiya Hinosawa e7837ff0f0 Add reusable prettier wrapper CLI (#165)
This also fixes an issue with the path on azure-pipelines.
2019-02-01 10:16:39 -05:00
..
db_1.37.0.json Add reusable prettier wrapper CLI (#165) 2019-02-01 10:16:39 -05:00
deps.ts Fix media_types running under Deno with ESM (#113) 2019-01-15 07:01:58 -05:00
mod.ts Add media_types collection (#97) 2019-01-11 00:16:47 -05:00
README.md Remove an unnecessary code block (#107) 2019-01-13 12:40:57 -05:00
test.ts Add media_types collection (#97) 2019-01-11 00:16:47 -05:00

media_types

A module that assists in resolving media types and extensions. It consumes the mime-db and provides API access to the information.

Usage

lookup(path)

Lookup the content type associated with a file. The path can be just the extension or the full path name. If the content type cannot be determined the function returns undefined:

import { lookup } from "https://deno.land/x/std/media_types/mod.ts";

lookup("json"); // "application/json"
lookup(".md"); // "text/markdown"
lookup("folder/file.js"); // "application/javascript"
lookup("folder/.htaccess"); // undefined

contentType(type)

Return a full Content-Type header value for a given content type or extension. When an extension is used, lookup() is used to resolve the content type first. A default charset is added if not present. The function will return undefined if the content type cannot be resolved:

import { contentType } from "https://deno.land/x/std/media_types/mod.ts";
import * as path from "https://deno.land/x/std/path/mod.ts";

contentType("markdown"); // "text/markdown; charset=utf-8"
contentType("file.json"); // "application/json; charset=utf-8"
contentType("text/html"); // "text/html; charset=utf-8"
contentType("text/html; charset=iso-8859-1"); // "text/html; charset=iso-8859-1"

contentType(path.extname("/path/to/file.json")); // "application/json; charset=utf-8"

extension(type)

Return a default extension for a given content type. If there is not an appropriate extension, undefined is returned:

import { extension } from "https://deno.land/x/std/media_types/mod.ts";

extension("application/octet-stream"); // "bin"

charset(type)

Lookup the implied default charset for a given content type. If the content type cannot be resolved, undefined is returned:

import { charset } from "https://deno.land/x/std/media_types/mod.ts";

charset("text/markdown"); // "UTF-8"

extensions

A Map of extensions by content type, in priority order:

import { extensions } from "https://deno.land/x/std/media_types/mod.ts";

extensions.get("application/javascript"); // [ "js", "mjs" ]

types

A Map of content types by extension:

import { types } from "https://deno.land/x/std/media_types/mod.ts";

types.get("ts"); // "application/javascript"

Adapted from mime-type.

MIT License.