JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4380
  • Score
    100M100P100Q121232F
  • License

Simple mime-types tools library

Package Exports

  • mimoza
  • mimoza/lib/rules.js
  • mimoza/lib/rules_browser.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mimoza) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Mimoza

Build Status

Mimoza is a tiny mime tools library. Similar to mime but e bit more flexible. Features:

  • Resolving mime type by file path/name/extention (with fallback for unknown cases).
  • Finding file extention by mime type.
  • Checking if mime type (or file) can be compressed.
  • You can have multimple instances with different configs.
  • Works in browser too (AMD module).

See detailed API docs.

Installation

for node.js:

npm install mimoza

for browser (AMD module):

bower install mimoza

Example

var Mimoza = require('mimoza');

// Use builtin methods:

Mimoza.getExtension('audio/ogg');       // -> '.oga'

Mimoza.getMimeType('ogg');              // -> 'audio/ogg'
Mimoza.getMimeType('.oga');             // -> 'audio/ogg'
Mimoza.getMimeType('test.oga');         // -> 'audio/ogg'
Mimoza.getMimeType('foo/bar.oga');      // -> 'audio/ogg'

Mimoza.isCompressibleMimeType('text/html')                // -> true
Mimoza.isCompressibleMimeType('application/octet-stream') // -> false

Mimoza.isCompressibleExtention('txt')               // -> true
Mimoza.isCompressibleExtention('kittens/photo.jpg') // -> false


// Define your own instance

var mime = new Mimoza({
  defaultType: 'hard/core', // mime type for unknown extentions
  preloaded: true           // load default rules
});

// instances are customizeable
mime.register('foo/bar', ['baz', 'moo']);

mime.getExtension('foo/bar');           // -> '.baz'
mime.getMimeType('baz');                // -> 'foo/bar'
mime.getMimeType('moo');                // -> 'foo/bar'

// unknown file types, with default & custom fallback
mime.getMimeType('tada');               // -> 'hard/core'
mime.getMimeType('tada', 'soft/core');  // -> 'soft/core'