UNPKG

babel-plugin-lodash

Version:
44 lines (32 loc) 1.32 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _mapping = require('./mapping'); var _mapping2 = _interopRequireDefault(_mapping); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /*----------------------------------------------------------------------------*/ function resolvePath(pkgStore, name) { var base = pkgStore.base; var id = pkgStore.id; var lower = name.toLowerCase(); var module = _mapping2.default.modules.get(id); if (!module.get(base).has(lower)) { base = base ? '' : module.findKey(function (map) { return map.has(lower); }); if (!base) { throw new Error(['The \'' + id + '\' method ' + name + ' is not a known module.', 'Please report bugs to https://github.com/lodash/babel-plugin-lodash/issues.'].join('\n')); } } return id + '/' + (base ? base + '/' : '') + module.get(base).get(lower); } function importModule(pkgStore, name, file) { return file.addImport(resolvePath(pkgStore, name), 'default', name); } exports.default = _lodash2.default.memoize(importModule, function (pkgStore, name) { return (pkgStore.path + '/' + name).toLowerCase(); }); module.exports = exports['default'];