deno/std/media_types
2020-02-07 02:23:38 -05:00
..
db_c50e0d1.json Move everything into std subdir 2019-10-09 17:10:09 -04:00
deps.ts Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
mod.ts remove non-null assertion operator from std (part1) (#3900) 2020-02-07 02:23:38 -05:00
README.md Run deno_std tests in github actions 2019-10-09 17:22:22 -04:00
test.ts Happy new year! (#3578) 2020-01-02 15:13: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/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/std/media_types/mod.ts";
import * as path from "https://deno.land/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/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/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/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/std/media_types/mod.ts";

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

Adapted from mime-type.

MIT License.