71 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google Inc. All Rights Reserved.
 | |
|  *
 | |
|  * Use of this source code is governed by an MIT-style license that can be
 | |
|  * found in the LICENSE file at https://angular.io/license
 | |
|  */
 | |
| 
 | |
| import {InjectionToken} from './di';
 | |
| import {ComponentRef} from './linker/component_factory';
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * A DI Token representing a unique string id assigned to the application by Angular and used
 | |
|  * primarily for prefixing application attributes and CSS styles when
 | |
|  * {@link ViewEncapsulation#Emulated ViewEncapsulation.Emulated} is being used.
 | |
|  *
 | |
|  * If you need to avoid randomly generated value to be used as an application id, you can provide
 | |
|  * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}
 | |
|  * using this token.
 | |
|  * @publicApi
 | |
|  */
 | |
| export const APP_ID = new InjectionToken<string>('AppId');
 | |
| 
 | |
| export function _appIdRandomProviderFactory() {
 | |
|   return `${_randomChar()}${_randomChar()}${_randomChar()}`;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Providers that will generate a random APP_ID_TOKEN.
 | |
|  * @publicApi
 | |
|  */
 | |
| export const APP_ID_RANDOM_PROVIDER = {
 | |
|   provide: APP_ID,
 | |
|   useFactory: _appIdRandomProviderFactory,
 | |
|   deps: <any[]>[],
 | |
| };
 | |
| 
 | |
| function _randomChar(): string {
 | |
|   return String.fromCharCode(97 + Math.floor(Math.random() * 25));
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * A function that will be executed when a platform is initialized.
 | |
|  * @publicApi
 | |
|  */
 | |
| export const PLATFORM_INITIALIZER = new InjectionToken<Array<() => void>>('Platform Initializer');
 | |
| 
 | |
| /**
 | |
|  * A token that indicates an opaque platform id.
 | |
|  * @publicApi
 | |
|  */
 | |
| export const PLATFORM_ID = new InjectionToken<Object>('Platform ID');
 | |
| 
 | |
| /**
 | |
|  * All callbacks provided via this token will be called for every component that is bootstrapped.
 | |
|  * Signature of the callback:
 | |
|  *
 | |
|  * `(componentRef: ComponentRef) => void`.
 | |
|  *
 | |
|  * @publicApi
 | |
|  */
 | |
| export const APP_BOOTSTRAP_LISTENER =
 | |
|     new InjectionToken<Array<(compRef: ComponentRef<any>) => void>>('appBootstrapListener');
 | |
| 
 | |
| /**
 | |
|  * A token which indicates the root directory of the application
 | |
|  * @publicApi
 | |
|  */
 | |
| export const PACKAGE_ROOT_URL = new InjectionToken<string>('Application Packages Root URL');
 |