@nguniversal/module-map-ngfactory-loader
Version:
NgFactoryLoader which uses a Map to load ngfactories without lazy loading
1 lines • 5.95 kB
Source Map (JSON)
{"version":3,"file":"module-map-ngfactory-loader.umd.js","sources":["../../../../../modules/module-map-ngfactory-loader/src/module-map-ngfactory-loader.ts","../../../../../modules/module-map-ngfactory-loader/src/module-map-loader.module.ts","../../../../../modules/module-map-ngfactory-loader/src/index.ts","../../../../../modules/module-map-ngfactory-loader/public_api.ts","../../../../../modules/module-map-ngfactory-loader/index.ts","../../../../../modules/module-map-ngfactory-loader/module-map-ngfactory-loader_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n Injectable,\n NgModuleFactoryLoader,\n InjectionToken,\n NgModuleFactory,\n Inject,\n Type,\n Compiler\n} from '@angular/core';\nimport {ModuleMap} from './module-map';\n\n/**\n * Token used by the ModuleMapNgFactoryLoader to load modules\n */\nexport const MODULE_MAP: InjectionToken<ModuleMap> = new InjectionToken('MODULE_MAP');\n\n/**\n * NgModuleFactoryLoader which does not lazy load\n */\n@Injectable()\nexport class ModuleMapNgFactoryLoader implements NgModuleFactoryLoader {\n constructor(private compiler: Compiler, @Inject(MODULE_MAP) private moduleMap: ModuleMap) { }\n\n load(loadChildrenString: string): Promise<NgModuleFactory<any>> {\n const offlineMode = this.compiler instanceof Compiler;\n const type = this.moduleMap[loadChildrenString];\n\n if (!type) {\n throw new Error(`${loadChildrenString} did not exist in the MODULE_MAP`);\n }\n\n return offlineMode ?\n this.loadFactory(<NgModuleFactory<any>> type) : this.loadAndCompile(<Type<any>> type);\n }\n\n private loadFactory(factory: NgModuleFactory<any>): Promise<NgModuleFactory<any>> {\n return new Promise(resolve => resolve(factory));\n }\n\n private loadAndCompile(type: Type<any>): Promise<NgModuleFactory<any>> {\n return this.compiler.compileModuleAsync(type);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n NgModule,\n NgModuleFactoryLoader,\n ModuleWithProviders,\n StaticProvider\n} from '@angular/core';\n\nimport { ModuleMapNgFactoryLoader, MODULE_MAP } from './module-map-ngfactory-loader';\nimport {ModuleMap} from './module-map';\n\n/**\n * Helper function for getting the providers object for the MODULE_MAP\n *\n * @param moduleMap Map to use as a value for MODULE_MAP\n */\nexport function provideModuleMap(moduleMap: ModuleMap): StaticProvider {\n return {\n provide: MODULE_MAP,\n useValue: moduleMap\n };\n}\n\n/**\n * Module for using a NgModuleFactoryLoader which does not lazy load\n */\n@NgModule({\n providers: [\n {\n provide: NgModuleFactoryLoader,\n useClass: ModuleMapNgFactoryLoader\n }\n ]\n})\nexport class ModuleMapLoaderModule {\n /**\n * Returns a ModuleMapLoaderModule along with a MODULE_MAP\n *\n * @param moduleMap Map to use as a value for MODULE_MAP\n */\n static withMap(moduleMap: ModuleMap): ModuleWithProviders {\n return {\n ngModule: ModuleMapLoaderModule,\n providers: [\n {\n provide: MODULE_MAP,\n useValue: moduleMap\n }\n ]\n };\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport * from './module-map-loader.module';\nexport * from './module-map-ngfactory-loader';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport * from './src/index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ModuleMap as ɵnguniversal_modules_module_map_ngfactory_loader_module_map_ngfactory_loader_a} from './src/module-map';"],"names":["InjectionToken","Compiler","Injectable","tslib_1.__param","Inject","NgModule","NgModuleFactoryLoader"],"mappings":";;;;;;IAkBA;;;AAGA,QAAa,UAAU,GAA8B,IAAIA,mBAAc,CAAC,YAAY,CAAC,CAAC;IAEtF;;;AAIA;QACE,kCAAoB,QAAkB,EAA8B,SAAoB;YAApE,aAAQ,GAAR,QAAQ,CAAU;YAA8B,cAAS,GAAT,SAAS,CAAW;SAAK;QAE7F,uCAAI,GAAJ,UAAK,kBAA0B;YAC7B,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,YAAYC,aAAQ,CAAC;YACtD,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAI,kBAAkB,qCAAkC,CAAC,CAAC;aAC1E;YAED,OAAO,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAwB,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAa,IAAI,CAAC,CAAC;SACzF;QAEO,8CAAW,GAAnB,UAAoB,OAA6B;YAC/C,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,OAAO,CAAC,GAAA,CAAC,CAAC;SACjD;QAEO,iDAAc,GAAtB,UAAuB,IAAe;YACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC/C;QArBU,wBAAwB;YADpCC,eAAU,EAAE;YAE8BC,mBAAAC,WAAM,CAAC,UAAU,CAAC,CAAA;qDAA7BH,aAAQ;WAD3B,wBAAwB,CAsBpC;QAAD,+BAAC;KAtBD;;ICVA;;;;;AAKA,aAAgB,gBAAgB,CAAC,SAAoB;QACnD,OAAO;YACL,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,SAAS;SACpB,CAAC;IACJ,CAAC;IAED;;;AAWA;QAAA;SAiBC;kCAjBY,qBAAqB;;;;;;QAMzB,6BAAO,GAAd,UAAe,SAAoB;YACjC,OAAO;gBACL,QAAQ,EAAE,uBAAqB;gBAC/B,SAAS,EAAE;oBACT;wBACE,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,SAAS;qBACpB;iBACF;aACF,CAAC;SACH;;QAhBU,qBAAqB;YARjCI,aAAQ,CAAC;gBACR,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEC,0BAAqB;wBAC9B,QAAQ,EAAE,wBAAwB;qBACnC;iBACF;aACF,CAAC;WACW,qBAAqB,CAiBjC;QAAD,4BAAC;KAjBD;;ICxCA;;;;;;OAMG;;ICNH;;;;;;OAMG;;ICNH;;;;;;OAMG;;ICNH;;OAEG;;;;;;;;;;;;;;;"}