contentType

import { contentType } from "jsr:@ende/media-types";

function

function contentType<T extends (string & {}) | KnownExtensionOrType>(extensionOrType: T): Lowercase<T> extends KnownExtensionOrType ? string : string | undefined

Returns the full Content-Type or Content-Disposition header value for the given extension or media type.

The function will treat the extensionOrType as a media type when it contains a /, otherwise it will process it as an extension, with or without the leading ..

Returns undefined if unable to resolve the media type.

extensionOrType: T

The extension or media type to resolve.

Returns

The full Content-Type or Content-Disposition header value, or undefined if unable to resolve the media type.

Example: Usage

import { contentType } from "@ende/media-types/content-type";
import { assertEquals } from "@ende/assert";

assertEquals(contentType(".json"), "application/json; charset=UTF-8");
assertEquals(contentType("text/html"), "text/html; charset=UTF-8");
assertEquals(contentType("text/html; charset=UTF-8"), "text/html; charset=UTF-8");
assertEquals(contentType("txt"), "text/plain; charset=UTF-8");
assertEquals(contentType("foo"), undefined);
assertEquals(contentType("file.json"), undefined);

Source