# mimoza

> Simple mime-types tools library

Latest version **1.0.0** (published 2015-02-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install mimoza
pnpm add mimoza
yarn add mimoza
bun add mimoza
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2015-02-02 |
| First published | 2012-05-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8 |
| Author | Aleksey V Zapparov |
| Maintainers | vitaly |
| Keywords | mime |

## Links

- npm: https://www.npmjs.com/package/mimoza
- Repository: https://github.com/nodeca/mimoza
- Issues: https://github.com/nodeca/mimoza/issues
- npm.io page: https://npm.io/package/mimoza

## Dependencies (1)

- [mime-db](https://npm.io/package/mime-db.md) ^1.6.0

## Recent versions

- 1.0.0 (latest) — 2015-02-02
- 0.3.0 — 2013-12-23
- 0.2.0 — 2013-12-23
- 0.1.1 — 2012-08-10
- 0.1.0 — 2012-05-15

## README

# Mimoza

[![Build Status](https://img.shields.io/travis/nodeca/mimoza/master.svg?style=flat)](https://travis-ci.org/nodeca/mimoza)
[![NPM version](https://img.shields.io/npm/v/mimoza.svg?style=flat)](https://www.npmjs.org/package/mimoza)
[![Coverage Status](https://img.shields.io/coveralls/nodeca/mimoza/master.svg?style=flat)](https://coveralls.io/r/nodeca/mimoza?branch=master)


Mimoza is a tiny but comprehensive MIME tools library. 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.
- Checking if mime type has text content (if you wish to force UTF-8 encoding)
- You can have multimple instances with different configs.
- Works in browser too (AMD module).

See detailed [API docs](http://nodeca.github.com/mimoza).

## Installation

for node.js:

```bash
npm install mimoza
```

for browser (AMD module):

```bash
bower install mimoza
```

## Example

``` javascript
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.isCompressible('text/html');                // -> true
Mimoza.isCompressible('application/octet-stream'); // -> false

Mimoza.isText('text/html');                // -> true
Mimoza.isText('application/javascript');   // -> true
Mimoza.isText('application/json');         // -> true
Mimoza.isText('application/octet-stream'); // -> 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'
```

---
_Source: https://npm.io/package/mimoza · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
