@awayjs/core
Version:
AwayJS core classes
22 lines (21 loc) • 905 B
JavaScript
function allSettled(promises) {
var wrappedPromises = promises.map(function (p) { return Promise.resolve(p)
.then(function (val) { return ({ status: 'fulfilled', value: val }); }, function (err) { return ({ status: 'rejected', reason: err }); }); });
return Promise.all(wrappedPromises);
}
var AsyncServicesLibrary = /** @class */ (function () {
function AsyncServicesLibrary() {
}
AsyncServicesLibrary.register = function (service) {
if (this.serviceLibraries.indexOf(service) !== -1) {
return;
}
this.serviceLibraries.push(service);
};
AsyncServicesLibrary.init = function () {
return allSettled(this.serviceLibraries.map(function (s) { return s.init(); })).then(function () { return void 0; });
};
AsyncServicesLibrary.serviceLibraries = [];
return AsyncServicesLibrary;
}());
export { AsyncServicesLibrary };