| 
									
										
										
										
											2015-10-10 22:11:13 -07:00
										 |  |  | import {OpaqueToken, Provider} from 'angular2/src/core/di'; | 
					
						
							| 
									
										
										
										
											2015-11-06 17:34:07 -08:00
										 |  |  | import {CONST_EXPR, Math, StringWrapper} from 'angular2/src/facade/lang'; | 
					
						
							| 
									
										
										
										
											2015-05-20 09:48:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-07 08:15:58 +02:00
										 |  |  | /** | 
					
						
							| 
									
										
										
										
											2015-10-02 13:32:48 -07:00
										 |  |  |  *  @internal | 
					
						
							| 
									
										
										
										
											2015-07-07 08:15:58 +02:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-08-10 21:42:47 -07:00
										 |  |  | export const APP_COMPONENT_REF_PROMISE = CONST_EXPR(new OpaqueToken('Promise<ComponentRef>')); | 
					
						
							| 
									
										
										
										
											2015-07-07 08:15:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2015-09-03 16:17:23 -07:00
										 |  |  |  * An {@link angular2/di/OpaqueToken} representing the application root type in the {@link | 
					
						
							|  |  |  |  * Injector}. | 
					
						
							| 
									
										
										
										
											2015-07-07 08:15:58 +02:00
										 |  |  |  * | 
					
						
							|  |  |  |  * ```
 | 
					
						
							|  |  |  |  * @Component(...) | 
					
						
							|  |  |  |  * class MyApp { | 
					
						
							|  |  |  |  *   ... | 
					
						
							|  |  |  |  * } | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * bootstrap(MyApp).then((appRef:ApplicationRef) { | 
					
						
							|  |  |  |  *   expect(appRef.injector.get(appComponentTypeToken)).toEqual(MyApp); | 
					
						
							|  |  |  |  * }); | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * ```
 | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-08-10 21:42:47 -07:00
										 |  |  | export const APP_COMPONENT: OpaqueToken = CONST_EXPR(new OpaqueToken('AppComponent')); | 
					
						
							| 
									
										
										
										
											2015-10-02 09:53:57 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * 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} is being used. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * If you need to avoid randomly generated value to be used as an application id, you can provide | 
					
						
							| 
									
										
										
										
											2015-10-10 22:11:13 -07:00
										 |  |  |  * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector} | 
					
						
							| 
									
										
										
										
											2015-10-02 09:53:57 -07:00
										 |  |  |  * using this token. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export const APP_ID: OpaqueToken = CONST_EXPR(new OpaqueToken('AppId')); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-10 22:11:13 -07:00
										 |  |  | function _appIdRandomProviderFactory() { | 
					
						
							| 
									
										
										
										
											2015-10-02 09:53:57 -07:00
										 |  |  |   return `${_randomChar()}${_randomChar()}${_randomChar()}`; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2015-10-20 03:05:39 +01:00
										 |  |  |  * Providers that will generate a random APP_ID_TOKEN. | 
					
						
							| 
									
										
										
										
											2015-10-02 09:53:57 -07:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-10-10 22:11:13 -07:00
										 |  |  | export const APP_ID_RANDOM_PROVIDER: Provider = | 
					
						
							| 
									
										
										
										
											2015-10-12 11:30:34 -07:00
										 |  |  |     CONST_EXPR(new Provider(APP_ID, {useFactory: _appIdRandomProviderFactory, deps: []})); | 
					
						
							| 
									
										
										
										
											2015-10-02 09:53:57 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | function _randomChar(): string { | 
					
						
							|  |  |  |   return StringWrapper.fromCharCode(97 + Math.floor(Math.random() * 25)); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-11-18 09:18:37 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * A function that will be executed when a platform is initialized. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export const PLATFORM_INITIALIZER: OpaqueToken = | 
					
						
							|  |  |  |     CONST_EXPR(new OpaqueToken("Platform Initializer")); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * A function that will be executed when an application is initialized. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-12-05 02:21:38 -08:00
										 |  |  | export const APP_INITIALIZER: OpaqueToken = CONST_EXPR(new OpaqueToken("Application Initializer")); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * A token which indicates the root directory of the application | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export const PACKAGE_ROOT_URL: OpaqueToken = | 
					
						
							|  |  |  |     CONST_EXPR(new OpaqueToken("Application Packages Root URL")); |