You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.5 KiB
63 lines
2.5 KiB
2 years ago
|
(function(){/*
|
||
|
* Named exports support for legacy module formats in SystemJS 2.0
|
||
|
*
|
||
|
* Note: This extra is deprecated as the behaviour is now the default in core,
|
||
|
* so will be removed in the next major.
|
||
|
*/
|
||
|
(function (global) {
|
||
|
var systemJSPrototype = global.System.constructor.prototype;
|
||
|
|
||
|
// hook System.register to know the last declaration binding
|
||
|
var lastRegisterDeclare;
|
||
|
var systemRegister = systemJSPrototype.register;
|
||
|
systemJSPrototype.register = function (name, deps, declare) {
|
||
|
lastRegisterDeclare = typeof name === 'string' ? declare : deps;
|
||
|
systemRegister.apply(this, arguments);
|
||
|
};
|
||
|
|
||
|
var getRegister = systemJSPrototype.getRegister;
|
||
|
systemJSPrototype.getRegister = function () {
|
||
|
var register = getRegister.call(this);
|
||
|
// if it is an actual System.register call, then its ESM
|
||
|
// -> dont add named exports
|
||
|
if (!register || register[1] === lastRegisterDeclare || register[1].length === 0)
|
||
|
return register;
|
||
|
|
||
|
// otherwise it was provided by a custom instantiator
|
||
|
// -> extend the registration with named exports support
|
||
|
var registerDeclare = register[1];
|
||
|
register[1] = function (_export, _context) {
|
||
|
// hook the _export function to note the default export
|
||
|
var defaultExport, hasDefaultExport = false;
|
||
|
var declaration = registerDeclare.call(this, function (name, value) {
|
||
|
if (typeof name === 'object' && name && name.__useDefault)
|
||
|
defaultExport = name.default, hasDefaultExport = true;
|
||
|
else if (name === 'default')
|
||
|
defaultExport = value;
|
||
|
else if (name === '__useDefault')
|
||
|
hasDefaultExport = true;
|
||
|
_export(name, value);
|
||
|
}, _context);
|
||
|
// hook the execute function
|
||
|
var execute = declaration.execute;
|
||
|
if (execute)
|
||
|
declaration.execute = function () {
|
||
|
execute.call(this);
|
||
|
// do a bulk export of the default export object
|
||
|
// to export all its names as named exports
|
||
|
|
||
|
if (hasDefaultExport)
|
||
|
for (var exportName in defaultExport) {
|
||
|
if (
|
||
|
Object.prototype.hasOwnProperty.call(defaultExport, exportName) // Check if epoxrt name is not inherited, safe for Object.create(null)
|
||
|
&& exportName !== 'default' // default is not a named export
|
||
|
) {
|
||
|
_export(exportName, defaultExport[exportName]);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
return declaration;
|
||
|
};
|
||
|
return register;
|
||
|
};
|
||
|
})(typeof self !== 'undefined' ? self : global);})();
|