UNPKG

esm-require-directory

Version:

require a directory of modules using es6 modules require

26 lines (25 loc) 1.14 kB
import fileName from './fileName.js'; import filePath from './filePath.js'; const isArray = Array.isArray || ((x)=>Object.prototype.toString.call(x) === '[object Array]'); const endsWith = (string, check)=>string.indexOf(check, string.length - check.length) !== -1; function setResult(results, key, module) { if (results[key] !== undefined) { const value = isArray(results[key]) ? results[key] : [ results[key] ]; results[key] = value.concat(module); } else results[key] = module; } export default function addResult(results, entry, options, module) { // esm module so extract default by default unless asked not to if (endsWith(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 ? filePath(entry.path) : entry.path, module); else if (options.filename) setResult(results, fileName(entry.path), module); else results.push(module); }