// SystemJS Loader Class and Extension helpers function SystemJSLoader() { SystemLoader.call(this); systemJSConstructor.call(this); } // inline Object.create-style class extension function SystemProto() {}; SystemProto.prototype = SystemLoader.prototype; SystemJSLoader.prototype = new SystemProto(); SystemJSLoader.prototype.constructor = SystemJSLoader; // remove ESML instantiate SystemJSLoader.prototype.instantiate = function() {}; var systemJSConstructor; function hook(name, hook) { SystemJSLoader.prototype[name] = hook(SystemJSLoader.prototype[name] || function() {}); } function hookConstructor(hook) { systemJSConstructor = hook(systemJSConstructor || function() {}); } function dedupe(deps) { var newDeps = []; for (var i = 0, l = deps.length; i < l; i++) if (indexOf.call(newDeps, deps[i]) == -1) newDeps.push(deps[i]) return newDeps; } function group(deps) { var names = []; var indices = []; for (var i = 0, l = deps.length; i < l; i++) { var index = indexOf.call(names, deps[i]); if (index === -1) { names.push(deps[i]); indices.push([i]); } else { indices[index].push(i); } } return { names: names, indices: indices }; } var getOwnPropertyDescriptor = true; try { Object.getOwnPropertyDescriptor({ a: 0 }, 'a'); } catch(e) { getOwnPropertyDescriptor = false; } // converts any module.exports object into an object ready for SystemJS.newModule function getESModule(exports) { var esModule = {}; // don't trigger getters/setters in environments that support them if (typeof exports == 'object' || typeof exports == 'function') { var hasOwnProperty = exports && exports.hasOwnProperty; if (getOwnPropertyDescriptor) { for (var p in exports) { if (!trySilentDefineProperty(esModule, exports, p)) setPropertyIfHasOwnProperty(esModule, exports, p, hasOwnProperty); } } else { for (var p in exports) setPropertyIfHasOwnProperty(esModule, exports, p, hasOwnProperty); } } esModule['default'] = exports; defineProperty(esModule, '__useDefault', { value: true }); return esModule; } function setPropertyIfHasOwnProperty(targetObj, sourceObj, propName, hasOwnProperty) { if (!hasOwnProperty || sourceObj.hasOwnProperty(propName)) targetObj[propName] = sourceObj[propName]; } function trySilentDefineProperty(targetObj, sourceObj, propName) { try { var d; if (d = Object.getOwnPropertyDescriptor(sourceObj, propName)) defineProperty(targetObj, propName, d); return true; } catch (ex) { // Object.getOwnPropertyDescriptor threw an exception, fall back to normal set property. return false; } } function extend(a, b, prepend) { for (var p in b) { if (!prepend || !(p in a)) a[p] = b[p]; } return a; } // package configuration options var packageProperties = ['main', 'format', 'defaultExtension', 'meta', 'map', 'basePath', 'depCache']; // meta first-level extends where: // array + array appends // object + object extends // other properties replace function extendMeta(a, b, prepend) { for (var p in b) { var val = b[p]; if (!(p in a)) a[p] = val; else if (val instanceof Array && a[p] instanceof Array) a[p] = [].concat(prepend ? val : a[p]).concat(prepend ? a[p] : val); else if (typeof val == 'object' && val !== null && typeof a[p] == 'object') a[p] = extend(extend({}, a[p]), val, prepend); else if (!prepend) a[p] = val; } } function warn(msg) { if (this.warnings && typeof console != 'undefined' && console.warn) console.warn(msg); }