@spartacus/core
Version:
Spartacus - the core framework
36 lines • 4.68 kB
JavaScript
import { APP_INITIALIZER, NgModule, Optional, } from '@angular/core';
import { LazyModulesService } from './lazy-modules.service';
import { MODULE_INITIALIZER } from './tokens';
import * as i0 from "@angular/core";
export function moduleInitializersFactory(lazyModuleService, moduleInitializerFunctions) {
const factoryFunction = () => {
return Promise.all(lazyModuleService.runModuleInitializerFunctions(moduleInitializerFunctions)).catch((error) => {
console.error('MODULE_INITIALIZER promise was rejected during app initialization.', error);
throw error;
});
};
return factoryFunction;
}
export class LazyLoadingModule {
static forRoot() {
return {
ngModule: LazyLoadingModule,
providers: [
{
provide: APP_INITIALIZER,
useFactory: moduleInitializersFactory,
deps: [LazyModulesService, [new Optional(), MODULE_INITIALIZER]],
multi: true,
},
],
};
}
}
LazyLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LazyLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
LazyLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LazyLoadingModule });
LazyLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LazyLoadingModule });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: LazyLoadingModule, decorators: [{
type: NgModule,
args: [{}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xhenktbG9hZGluZy9sYXp5LWxvYWRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBRWYsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRTlDLE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsaUJBQXFDLEVBQ3JDLDBCQUF5QztJQUV6QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7UUFDM0IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FDN0MsMEJBQTBCLENBQzNCLENBQ0YsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoQixPQUFPLENBQUMsS0FBSyxDQUNYLG9FQUFvRSxFQUNwRSxLQUFLLENBQ04sQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFDRixPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBR0QsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLHlCQUF5QjtvQkFDckMsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUM7b0JBQ2hFLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7OEdBYlUsaUJBQWlCOytHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBUFBfSU5JVElBTElaRVIsXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TW9kdWxlc1NlcnZpY2UgfSBmcm9tICcuL2xhenktbW9kdWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE1PRFVMRV9JTklUSUFMSVpFUiB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZUluaXRpYWxpemVyc0ZhY3RvcnkoXG4gIGxhenlNb2R1bGVTZXJ2aWNlOiBMYXp5TW9kdWxlc1NlcnZpY2UsXG4gIG1vZHVsZUluaXRpYWxpemVyRnVuY3Rpb25zOiAoKCkgPT4gYW55KVtdXG4pOiAoKSA9PiBhbnkge1xuICBjb25zdCBmYWN0b3J5RnVuY3Rpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgbGF6eU1vZHVsZVNlcnZpY2UucnVuTW9kdWxlSW5pdGlhbGl6ZXJGdW5jdGlvbnMoXG4gICAgICAgIG1vZHVsZUluaXRpYWxpemVyRnVuY3Rpb25zXG4gICAgICApXG4gICAgKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdNT0RVTEVfSU5JVElBTElaRVIgcHJvbWlzZSB3YXMgcmVqZWN0ZWQgZHVyaW5nIGFwcCBpbml0aWFsaXphdGlvbi4nLFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9O1xuICByZXR1cm4gZmFjdG9yeUZ1bmN0aW9uO1xufVxuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTGF6eUxvYWRpbmdNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPExhenlMb2FkaW5nTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBMYXp5TG9hZGluZ01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IG1vZHVsZUluaXRpYWxpemVyc0ZhY3RvcnksXG4gICAgICAgICAgZGVwczogW0xhenlNb2R1bGVzU2VydmljZSwgW25ldyBPcHRpb25hbCgpLCBNT0RVTEVfSU5JVElBTElaRVJdXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19