The ultimate javascript content-type utility.
npm install react-native-mime-types[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]
[![Node.js Version][node-version-image]][node-version-url]
[![Build Status][travis-image]][travis-url]
[![Test Coverage][coveralls-image]][coveralls-url]
The ultimate javascript content-type utility.
Similar to node-mime, except:
- __No fallbacks.__ Instead of naively returning the first available type, mime-types simply returns false,
so do var type = mime.lookup('unrecognized') || 'application/octet-stream'.
- No new Mime() business, so you could do var lookup = require('mime-types').lookup.
- Additional mime types are added such as jade and stylus via mime-db
- No .define() functionality
Otherwise, the API is compatible.
``sh`
$ yarn add react-native-mime-types
All mime types are based on mime-db,
so open a PR there if you'd like to add mime types.
`js`
import * as mime from 'react-native-mime-types';
All functions return false if input is invalid or not found.
Lookup the content-type associated with a file.
`js
mime.lookup('json') // 'application/json'
mime.lookup('.md') // 'text/x-markdown'
mime.lookup('file.html') // 'text/html'
mime.lookup('folder/file.js') // 'application/javascript'
mime.lookup('folder/.htaccess') // false
mime.lookup('cats') // false
`
Create a full content-type header given a content-type or extension.
`js
mime.contentType('markdown') // 'text/x-markdown; charset=utf-8'
mime.contentType('file.json') // 'application/json; charset=utf-8'
// from a full path
mime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'
`
Get the default extension for a content-type.
`js`
mime.extension('application/octet-stream') // 'bin'
Lookup the implied default charset of a content-type.
`js``
mime.charset('text/x-markdown') // 'UTF-8'
A map of content-types by extension.
A map of extensions by content-type.
[npm-image]: https://img.shields.io/npm/v/react-native-mime-types.svg
[npm-url]: https://npmjs.org/package/react-native-mime-types
[node-version-image]: https://img.shields.io/node/v/react-native-mime-types.svg
[node-version-url]: https://nodejs.org/en/download/
[travis-image]: https://img.shields.io/travis/jshttp/mime-types/master.svg
[travis-url]: https://travis-ci.org/jshttp/mime-types
[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types/master.svg
[coveralls-url]: https://coveralls.io/r/jshttp/mime-types
[downloads-image]: https://img.shields.io/npm/dm/react-native-mime-types.svg
[downloads-url]: https://npmjs.org/package/react-native-mime-types