|
1 | | -Mimer [](http://travis-ci.org/data-uri/mimer) [](http://badge.fury.io/js/mimer) |
2 | | -========= |
| 1 | +# Mimer [](https://github.com/data-uri/mimer/actions/workflows/main.yml?query=branch%3Amain) |
3 | 2 |
|
4 | | -A simple [MIME][mime] type getter built on top of [Node.js][nodejs]. |
5 | | - |
6 | | -MODULE |
7 | | ---------- |
8 | | - |
9 | | -**Browser version:**: [Minified][browserminified] (amd and CommonJS ready) [Source][browsersource] |
10 | | - |
11 | | -**Node.js version:** `npm install mimer` into your project |
| 3 | +> Another [MIME](http://en.wikipedia.org/wiki/MIME) type module. Exposes an extension Map reference of [mime-db](https://npm.im/mime-db) but with zero dependencies. |
12 | 4 |
|
| 5 | +## MODULE |
13 | 6 |
|
14 | 7 | ### Getting started |
15 | 8 | ```js |
16 | | -// node and browserify |
17 | | -const Mimer = require('mimer'); |
18 | | - |
19 | | -// amd (Require.js and etc) |
20 | | -require('path/to/mimer', function (Mimer) {}); |
| 9 | +const mimer = require('mimer'); |
21 | 10 |
|
22 | | -// browser (through script tag) |
23 | | -window.Mimer |
| 11 | +mimer('.pdf'); // -> "application/pdf" |
| 12 | +mimer('pdf'); // -> "application/pdf" |
| 13 | +mimer('../readme.pdf'); // -> "application/pdf" |
| 14 | +mimer('pedefe'); // -> "application/octet-stream" |
24 | 15 | ``` |
25 | 16 |
|
26 | | -#### Get a MIME type |
| 17 | +#### Extension Map |
27 | 18 | ```js |
28 | | -Mimer('file.css'); // => "text/css" |
| 19 | +const mimer = require('mimer'); |
| 20 | +const mimerMap = require('mimer/map'); |
29 | 21 |
|
30 | | -// or |
31 | | -var mime = new Mimer(); |
32 | | -mime.get('file.css'); // => "text/css" |
| 22 | +mimerMap.get('pdf'); // -> "application/pdf" |
| 23 | +mimerMap.set('graphql', 'application/graphql'); |
| 24 | +mimer('content.graphql'); // -> "application/graphql" |
33 | 25 | ``` |
34 | 26 |
|
35 | | -#### Set a MIME type |
| 27 | +#### Safe mode |
| 28 | +In case you want to avoid changes on original Map for safety. |
36 | 29 | ```js |
37 | | -var mime = new Mimer(); |
| 30 | +const mimer = require('mimer/safe'); |
| 31 | +const mimerMap = require('mimer/map'); |
38 | 32 |
|
39 | | -mime.set('.monster', 'movie/thriller') |
40 | | - .get('zombie.monster'); |
41 | | - // => "movie/thriller" |
42 | | - |
43 | | -mime.set(['.rctycoon','.simcity'], 'cms/game'); |
44 | | -mime.get('/land/park.rctycoon'); // => "cms/game" |
45 | | -mime.get('maps/city.simcity'); // => "cms/game" |
| 33 | +mimerMap.set('graphql', 'application/graphql'); |
| 34 | +mimer('content.graphql'); // -> "application/octet-stream" |
46 | 35 | ``` |
47 | 36 |
|
48 | | -CLI |
49 | | ---------- |
| 37 | +## CLI |
50 | 38 |
|
51 | | -`npm install -g mimer` (it may require Root privileges) |
| 39 | +```sh |
| 40 | +npm install -g mimer |
| 41 | +mimer readme.pdf |
| 42 | +``` |
| 43 | +or just |
52 | 44 |
|
53 | | -### pritting a mime type |
54 | | -```CLI |
55 | | -$ mimer brand.png |
| 45 | +```sh |
| 46 | +npx mimer readme.pdf |
56 | 47 | ``` |
57 | 48 |
|
58 | | -DEVELOPING |
59 | | ----------- |
| 49 | +## DEVELOPING |
| 50 | + |
| 51 | +Just create a new Github Codespace or: |
60 | 52 |
|
61 | 53 | ```CLI |
62 | 54 | $ npm i |
63 | 55 | $ npm test |
64 | 56 | ``` |
65 | 57 |
|
66 | | -Build web version with: |
67 | | - |
68 | | -```CLI |
69 | | -$ npm run build |
70 | | -``` |
71 | | - |
72 | 58 | ## Release notes |
73 | 59 |
|
74 | 60 | See more in [Releases section](https://github.com/data-uri/mimer/releases). |
75 | 61 |
|
76 | 62 | ## License |
77 | 63 |
|
78 | 64 | MIT License |
79 | | -(c) [Helder Santana](http://heldr.com) |
80 | | - |
81 | | -[nodejs]: http://nodejs.org/download |
82 | | -[bower]: http://bower.io |
83 | | -[mime]: http://en.wikipedia.org/wiki/MIME |
84 | | -[browserminified]: https://raw.github.com/heldr/mimer/master/dist/mimer.min.js |
85 | | -[browsersource]: https://raw.github.com/heldr/mimer/master/dist/mimer.js |
| 65 | +(c) [Helder Santana](http://heldr.com) |
0 commit comments