Skip to content

jshttp/media-typer

Repository files navigation

media-typer

NPM Version NPM Downloads Build Status Coverage Status

Simple RFC 6838 media type parser.

This module will parse a given media type into its component parts, like type, subtype, and suffix. A formatter is also provided to put them back together and the two can be combined to normalize media types into a canonical form.

If you are looking to parse the string that represents a media type and its parameters in HTTP (for example, the Content-Type header), use the content-type module.

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install media-typer

API

import * as typer from "media-typer";

typer.parse(string)

const obj = typer.parse("image/svg+xml");

Parse a media type string. This will return an object with the following properties:

  • type: The type of the media type (always lower case). Example: 'image'
  • subtype: The subtype of the media type (always lower case). Example: 'svg'
  • suffix: Optional suffix of the media type (always lower case). Example: 'xml'

If the given type string is invalid, then a TypeError is thrown.

typer.format(obj)

const obj = typer.format({ type: "image", subtype: "svg", suffix: "xml" });

Format an object into a media type string. This will return a string of the mime type for the given object. For the properties of the object, see the documentation for typer.parse(string).

If any of the given object values are invalid, then a TypeError is thrown.

typer.test(string)

const valid = typer.test("image/svg+xml");

Validate a media type string. This will return true if the string is a well- formatted media type, or false otherwise.

License

MIT

About

Simple RFC 6838 media type parser and formatter

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors