refactor(core): support non reflective bootstrap.
This changes Angular so that it can be used without reflection (assuming a codegen for injectors). BREAKIKNG CHANGE: - Drops `APP_COMPONENT` provider. Instead, inject `ApplicationRef` and read its `componentTypes` property. - long form bootstrap has changed into the following: ``` var platform = createPlatform(ReflectiveInjector.resolveAndCreate(BROWSER_PROVIDERS)); var appInjector = ReflectiveInjector.resolveAndCreate([BROWSER_APP_PROVIDERS, appProviders], platform.injector); coreLoadAndBootstrap(appInjector, MyApp); ```
This commit is contained in:
@ -29,13 +29,15 @@ const CORE = [
|
||||
'AfterViewInit',
|
||||
'AfterViewInit.ngAfterViewInit():any',
|
||||
'ApplicationRef',
|
||||
'ApplicationRef.bootstrap(componentType:Type, providers:Array<Type|Provider|any[]>):Promise<ComponentRef>',
|
||||
'ApplicationRef.bootstrap(componentFactory:ComponentFactory):ComponentRef',
|
||||
'ApplicationRef.componentTypes:Type[]',
|
||||
'ApplicationRef.dispose():void',
|
||||
'ApplicationRef.injector:Injector',
|
||||
'ApplicationRef.registerBootstrapListener(listener:(ref: ComponentRef) => void):void',
|
||||
'ApplicationRef.registerDisposeListener(dispose:() => void):void',
|
||||
'ApplicationRef.tick():void',
|
||||
'ApplicationRef.run(callback:Function):any',
|
||||
'ApplicationRef.waitForAsyncInitializers():Promise<any>',
|
||||
'ApplicationRef.zone:NgZone',
|
||||
'AttributeMetadataFactory',
|
||||
'AttributeMetadata',
|
||||
@ -157,7 +159,7 @@ const CORE = [
|
||||
'DoCheck',
|
||||
'DoCheck.ngDoCheck():any',
|
||||
'DynamicComponentLoader',
|
||||
'DynamicComponentLoader.loadAsRoot(type:Type, overrideSelectorOrNode:string, injector:Injector, onDispose:() => void, projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'DynamicComponentLoader.loadAsRoot(type:Type, overrideSelectorOrNode:string|any, injector:Injector, onDispose:() => void, projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'DynamicComponentLoader.loadNextToLocation(type:Type, location:ViewContainerRef, providers:ResolvedReflectiveProvider[], projectableNodes:any[][]):Promise<ComponentRef>',
|
||||
'ElementRef',
|
||||
'ElementRef.nativeElement:any',
|
||||
@ -274,6 +276,7 @@ const CORE = [
|
||||
'NgZone.onMicrotaskEmpty:EventEmitter<any>',
|
||||
'NgZone.onUnstable:EventEmitter<any>',
|
||||
'NgZone.run(fn:() => any):any',
|
||||
'NgZone.runGuarded(fn:() => any):any',
|
||||
'NgZone.runOutsideAngular(fn:() => any):any',
|
||||
'NgZoneError',
|
||||
'NgZoneError.constructor(error:any, stackTrace:any)',
|
||||
@ -306,11 +309,10 @@ const CORE = [
|
||||
'PipeTransform',
|
||||
'PipeTransform.transform(value:any, args:any[]):any',
|
||||
'PlatformRef',
|
||||
'PlatformRef.application(providers:Array<Type|Provider|any[]>):ApplicationRef',
|
||||
'PlatformRef.asyncApplication(bindingFn:(zone: NgZone) => Promise<Array<Type | Provider | any[]>>, providers:Array<Type|Provider|any[]>):Promise<ApplicationRef>',
|
||||
'PlatformRef.dispose():void',
|
||||
'PlatformRef.injector:Injector',
|
||||
'PlatformRef.registerDisposeListener(dispose:() => void):void',
|
||||
'PlatformRef.disposed:boolean',
|
||||
'Provider',
|
||||
'Provider.constructor(token:any, {useClass,useValue,useExisting,useFactory,deps,multi}:{useClass?:Type, useValue?:any, useExisting?:any, useFactory?:Function, deps?:Object[], multi?:boolean})',
|
||||
'Provider.dependencies:Object[]',
|
||||
@ -493,7 +495,6 @@ const CORE = [
|
||||
'WrappedValue.wrap(value:any):WrappedValue',
|
||||
'bind(token:any):ProviderBuilder',
|
||||
'const APPLICATION_COMMON_PROVIDERS:Array<Type|Provider|any[]>',
|
||||
'const APP_COMPONENT:OpaqueToken',
|
||||
'const APP_ID:OpaqueToken',
|
||||
'const APP_INITIALIZER:OpaqueToken',
|
||||
'const PACKAGE_ROOT_URL:OpaqueToken',
|
||||
@ -504,7 +505,12 @@ const CORE = [
|
||||
'createNgZone():NgZone',
|
||||
'enableProdMode():any',
|
||||
'forwardRef(forwardRefFn:ForwardRefFn):Type',
|
||||
'platform(providers:Array<Type|Provider|any[]>):PlatformRef',
|
||||
'coreBootstrap(injector:Injector, componentFactory:ComponentFactory):ComponentRef',
|
||||
'coreLoadAndBootstrap(injector:Injector, componentType:Type):Promise<ComponentRef>',
|
||||
'assertPlatform(requiredToken:any):PlatformRef',
|
||||
'createPlatform(injector:Injector):PlatformRef',
|
||||
'disposePlatform():void',
|
||||
'getPlatform():PlatformRef',
|
||||
'provide(token:any, {useClass,useValue,useExisting,useFactory,deps,multi}:{useClass?:Type, useValue?:any, useExisting?:any, useFactory?:Function, deps?:Object[], multi?:boolean}):Provider',
|
||||
'resolveForwardRef(type:any):any',
|
||||
'setTestabilityGetter(getter:GetTestability):void',
|
||||
@ -1210,7 +1216,8 @@ const BROWSER = [
|
||||
'const ELEMENT_PROBE_PROVIDERS_PROD_MODE:any[]',
|
||||
'disableDebugTools():void',
|
||||
'enableDebugTools(ref:ComponentRef):void',
|
||||
'inspectNativeElement(element:any):DebugNode'
|
||||
'inspectNativeElement(element:any):DebugNode',
|
||||
'browserStaticPlatform():PlatformRef'
|
||||
];
|
||||
|
||||
describe('public API', () => {
|
||||
|
Reference in New Issue
Block a user