Simple RFC 6838 media type parser.
This module will parse a given media type into it's 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 it's
parameters in HTTP (for example, the Content-Type
header), use the
content-type module.
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install media-typer
var typer = require('media-typer')
var obj = typer.parse('image/svg+xml')
Parse a media type string. This will return an object with the following
properties (examples are shown for the string 'image/svg+xml; charset=utf-8'
):
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
: The suffix of the media type (always lower case). Example: 'xml'
If the given type string is invalid, then a TypeError
is thrown.
var 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.
var valid = typer.test('image/svg+xml')
Validate a media type string. This will return true
is the string is a well-
formatted media type, or false
otherwise.