mirror of
https://github.com/systemjs/systemjs.git
synced 2026-01-25 14:57:38 +00:00
default export convenience
This commit is contained in:
parent
cfe6fa020d
commit
8832b17650
@ -66,8 +66,7 @@
|
||||
|
||||
// commonjs require
|
||||
else if (typeof names == 'string') {
|
||||
var module = loader.get(names);
|
||||
return module.__useDefault ? module['default'] : module;
|
||||
return checkGetDefault(loader.get(names));
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
@ -309,8 +309,8 @@
|
||||
exports = entry.module.exports;
|
||||
}
|
||||
|
||||
if ((!entry || entry.declarative) && exports && exports.__useDefault)
|
||||
return exports['default'];
|
||||
if ((!entry || entry.declarative))
|
||||
return checkGetDefault(exports);
|
||||
|
||||
return exports;
|
||||
}
|
||||
@ -357,10 +357,11 @@
|
||||
else {
|
||||
var hasOwnProperty = exports && exports.hasOwnProperty;
|
||||
entry.esModule = {};
|
||||
for (var p in exports) {
|
||||
if (!hasOwnProperty || exports.hasOwnProperty(p))
|
||||
entry.esModule[p] = exports[p];
|
||||
}
|
||||
if (typeof exports == 'object' || typeof exports == 'function')
|
||||
for (var p in exports) {
|
||||
if (!hasOwnProperty || exports.hasOwnProperty(p))
|
||||
entry.esModule[p] = exports[p];
|
||||
}
|
||||
entry.esModule['default'] = exports;
|
||||
entry.esModule.__useDefault = true;
|
||||
}
|
||||
|
||||
@ -27,4 +27,15 @@ function dedupe(deps) {
|
||||
if (indexOf.call(newDeps, deps[i]) == -1)
|
||||
newDeps.push(deps[i])
|
||||
return newDeps;
|
||||
}
|
||||
|
||||
// if a module only has a default export, then take that as the module value
|
||||
function checkGetDefault(module) {
|
||||
if (module && module.__useDefault)
|
||||
return module['default'];
|
||||
for (var p in module) {
|
||||
if (p != 'default')
|
||||
return module;
|
||||
}
|
||||
return 'default' in module ? module['default'] : module;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user