compile-mime-match

0.1.0 • Public • Published

compile-mime-match

Build Status Coverage Status

Compiles a function that matches a given MIME type. A faster alternative to type-is for when the MIME type is known ahead of time.

Installation

// npm
npm install compile-mime-match --save

// yarn
yarn add compile-mime-match

Usage

const compileMimeMatch = require('compile-mime-match');
const mimeMatch = compileMimeMatch('application/json');
 
mimeMatch('application/json'); // true
mimeMatch('application/json; charset=utf-8'); // true
 
mimeMatch('text/plain'); // false

Input Formats

type/subtype

Matches exactly the given MIME type (see the example above).

type/*

Matches any MIME type will the given type.

const compileMimeMatch = require('compile-mime-match');
const mimeMatch = compileMimeMatch('text/*');
 
mimeMatch('text/plain'); // true
mimeMatch('text/html'); // true
 
mimeMatch('image/png'); // false

*/subtype

Matches any MIME type will the given subtype.

const compileMimeMatch = require('compile-mime-match');
const mimeMatch = compileMimeMatch('*/xml');
 
mimeMatch('application/xml'); // true
mimeMatch('text/xml'); // true
 
mimeMatch('image/svg+xml'); // false

*/*

Matches any valid MIME type.

const compileMimeMatch = require('compile-mime-match');
const mimeMatch = compileMimeMatch('*/*');
 
mimeMatch('image/png'); // true
mimeMatch('application/x-www-form-urlencoded'); // true
 
mimeMatch('invalid'); // false
mimeMatch('/'); // false

+suffix

Matches any valid MIME type that ends with +suffix.

const compileMimeMatch = require('compile-mime-match');
const mimeMatch = compileMimeMatch('+json');
 
mimeMatch('application/calendar+json'); // true
mimeMatch('application/geo+json'); // true
 
mimeMatch('application/json'); // false
mimeMatch('invalid+json'); // false

Array

compile-mime-match also accepts an array of strings to match multiple types at the same time:

const compileMimeMatch = require('compile-mime-match');
const mimeMatch = compileMimeMatch(['application/json', 'text/*']);
 
mimeMatch('application/json'); // true
mimeMatch('application/json; charset=utf-8'); // true
mimeMatch('text/plain'); // true
mimeMatch('text/html'); // true
 
mimeMatch('image/png'); // false

Package Sidebar

Install

npm i compile-mime-match

Weekly Downloads

2

Version

0.1.0

License

MIT

Unpacked Size

6.65 kB

Total Files

4

Last publish

Collaborators

  • nwoltman