mime-matcher
v1.0.5
Published
Utility function checking if string is mime type from allowed range
Downloads
8,926
Readme
Motivation
MimeMatcher is very simple library for checking if mime type string is in allowed range.
You can also match mime types against wildcards, like */*
or 'application/*'
Instalation
You can install it from npm:
npm install mime-matcher --save
Or you can download mime-matcher.min.js
from the dist folder and then include it in html file:
<script src="mime-matcher.min.js"></script>
Usage
import MimeMatcher from 'mime-matcher'
const matcher = new MimeMatcher('image/gif')
matcher.match('image/gif') //true
matcher.match('image/jpeg') //false
You can also use wildcards:
import MimeMatcher from 'mime-matcher'
new MimeMatcher('image/*').match('image/gif') //true
new MimeMatcher('*/*').match('text/xml') //true
You can also use multiple mime types to match against:
import MimeMatcher from 'mime-matcher'
const matcher = new MimeMatcher('image/*', 'text/*')
matcher.match('text/xml') //true
matcher.match('image/gif') //true
matcher.match('audio/mpeg') //false
Optional mime type parameter is ignored:
import MimeMatcher from 'mime-matcher'
const matcher = new MimeMatcher('text/xml')
matcher.match('text/xml; encoding=utf-8') //true
You can also use higher-order function matcher
, which accepts expected types and returns another function, which you can use for matching:
import { matcher } from 'mime-matcher'
const m = matcher('text/*')
m('text/xml') //true
matcher('image/*', 'text/*')("image/gif") //true
There is also function parse
which returns object containing data of parsed mime-type:
import { parse as parseMimeType } from 'mime-matcher'
parseMimeType('application/json')
/*
{
valid: true
type: "application",
subType: "json"
}
*/
parseMimeType('text/xml; encoding=utf-8')
/*
{
valid: true
type: "text",
subType: "xml",
parameter: "encoding=utf-8"
}
*/
parseMimeType('invalid')
/*
{
valid: false
}
*/
You can also import function isValid
as shorthand for checking validity:
import { isValid as isValidMimeType } from 'mime-matcher'
isValidMimeType('text/xml') //true