esm-require-directory
Version:
require a directory of modules using es6 modules require
43 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return addResult;
}
});
var _compatts = require("../compat.js");
var _fileNamets = /*#__PURE__*/ _interop_require_default(require("./fileName.js"));
var _filePathts = /*#__PURE__*/ _interop_require_default(require("./filePath.js"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var isArray = Array.isArray || function(x) {
return Object.prototype.toString.call(x) === '[object Array]';
};
function setResult(results, key, module) {
if (results[key] !== undefined) {
var value = isArray(results[key]) ? results[key] : [
results[key]
];
results[key] = value.concat(module);
} else results[key] = module;
}
function addResult(results, entry, options, module) {
// esm module so extract default by default unless asked not to
if ((0, _compatts.stringEndsWith)(entry.basename, '.mjs')) {
if (options.default === undefined || options.default) {
// check default
if (module.default === undefined) return; // no default
module = module.default;
}
}
if (options.paths) setResult(results, options.filename ? (0, _filePathts.default)(entry.path) : entry.path, module);
else if (options.filename) setResult(results, (0, _fileNamets.default)(entry.path), module);
else results.push(module);
}
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }