( parentPlatformFactory: ((extraProviders?: StaticProvider[]) => PlatformRef) | null, name: string, providers: StaticProvider[] = [], )
| 70 | * @publicApi |
| 71 | */ |
| 72 | export function createPlatformFactory( |
| 73 | parentPlatformFactory: ((extraProviders?: StaticProvider[]) => PlatformRef) | null, |
| 74 | name: string, |
| 75 | providers: StaticProvider[] = [], |
| 76 | ): (extraProviders?: StaticProvider[]) => PlatformRef { |
| 77 | const desc = `Platform: ${name}`; |
| 78 | const marker = new InjectionToken(desc); |
| 79 | return (extraProviders: StaticProvider[] = []) => { |
| 80 | let platform = getPlatform(); |
| 81 | if (!platform) { |
| 82 | const platformProviders: StaticProvider[] = [ |
| 83 | ...providers, |
| 84 | ...extraProviders, |
| 85 | {provide: marker, useValue: true}, |
| 86 | ]; |
| 87 | |
| 88 | platform = |
| 89 | parentPlatformFactory?.(platformProviders) ?? |
| 90 | createPlatform(createPlatformInjector(platformProviders, desc)); |
| 91 | } |
| 92 | |
| 93 | return typeof ngServerMode !== 'undefined' && ngServerMode ? platform : assertPlatform(marker); |
| 94 | }; |
| 95 | } |
| 96 | |
| 97 | /** |
| 98 | * Helper function to create an instance of a platform injector (that maintains the 'platform' |
no test coverage detected
searching dependent graphs…