mincer
Version:
Web assets processor. Native JavaScript port of Sprockets.
70 lines (51 loc) • 1.48 kB
JavaScript
/** internal
* mixin Mime
*
* An internal mixin whose public methods are exposed on the [[Environment]]
* and [[Index]] classes.
*
* Provides helpers to deal with mime types.
**/
// REQUIRED PROPERTIES /////////////////////////////////////////////////////////
//
// - `__mimeTypes__` (Mimoza)
//
////////////////////////////////////////////////////////////////////////////////
'use strict';
// 3rd-party
var Mimoza = require('mimoza');
// internal
var getter = require('../common').getter;
////////////////////////////////////////////////////////////////////////////////
/**
* Mime#getMimeType(ext) -> String
*
* Returns the mime type for the `extension`.
**/
module.exports.getMimeType = function (ext) {
return this.__mimeTypes__.getMimeType(ext) || Mimoza.getMimeType(ext);
};
/**
* Mime#registeredMimeTypes -> Mimoza
*
* Returns a copy of `Mimoza` instance with explicitly registered mime types.
**/
getter(module.exports, 'registeredMimeTypes', function () {
return this.__mimeTypes__.clone();
});
/**
* Mime#getExtensionForMimeType(type) -> String
*
* Returns extension for mime `type`.
**/
module.exports.getExtensionForMimeType = function (type) {
return this.__mimeTypes__.getExtension(type) || Mimoza.getExtension(type);
};
/**
* Mime#registerMimeType(type, ext) -> Void
*
* Register new mime type.
**/
module.exports.registerMimeType = function (mimeType, ext) {
this.__mimeTypes__.register(mimeType, ext);
};