react-inline-for-rix-loader
Version:
for developing webpack rix-loader, folk from https://github.com/martinandert/react-inline
40 lines (27 loc) • 1.01 kB
JavaScript
;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
exports.__esModule = true;
exports['default'] = compressClassName;
var _utilsDiskCache = require('./utils/DiskCache');
var _utilsDiskCache2 = _interopRequireDefault(_utilsDiskCache);
var _utilsMemoryCache = require('./utils/MemoryCache');
var _utilsMemoryCache2 = _interopRequireDefault(_utilsMemoryCache);
var cacheName = 'classnames';
function getCache(options) {
if (options.cacheDir) {
return new _utilsDiskCache2['default'](cacheName, options);
} else {
return new _utilsMemoryCache2['default'](cacheName);
}
}
function clearCache(options) {
getCache(options).clear();
}
function compressClassName(className, options) {
var cache = getCache(options);
return cache.fetch(className, function (keys) {
return '_' + keys.length.toString(36).split('').reverse().join('');
});
}
compressClassName.clearCache = clearCache;
module.exports = exports['default'];