tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
52 lines (50 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var BrowserModuleLoader = /** @class */ (function () {
function BrowserModuleLoader() {
}
BrowserModuleLoader.prototype.getLoader = function () {
if (!this._loader) {
if (typeof System !== 'undefined') {
this._loader = function (modulepath) {
return System.import(modulepath);
};
}
else if (typeof require !== 'undefined') {
this._loader = function (modulepath) {
return new Promise(function (resolve, reject) {
require([modulepath], function (mud) {
resolve(mud);
}, function (err) {
reject(err);
});
});
};
}
else {
throw new Error('has not module loader');
}
}
return this._loader;
};
BrowserModuleLoader.prototype.load = function (options) {
var _this = this;
if (options.files) {
return Promise.all(options.files).then(function (flies) {
return flies.map(function (fp) {
return _this.loadModule(fp);
});
});
}
else {
return Promise.resolve([]);
}
};
BrowserModuleLoader.prototype.loadModule = function (file) {
var loader = this.getLoader();
return loader(file);
};
return BrowserModuleLoader;
}());
exports.BrowserModuleLoader = BrowserModuleLoader;
//# sourceMappingURL=../sourcemaps/browsers/BrowserModuleLoader.js.map