refactor(core): separate reflective injector from Injector interface
BREAKING CHANGE: - Injector was renamed into `ReflectiveInjector`, as `Injector` is only an abstract class with one method on it - `Injector.getOptional()` was changed into `Injector.get(token, notFoundValue)` to make implementing injectors simpler - `ViewContainerRef.createComponent` now takes an `Injector` instead of `ResolvedProviders`. If a reflective injector should be used, create one before calling this method. (e.g. via `ReflectiveInjector.resolveAndCreate(…)`.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import 'package:angular2/testing_internal.dart' show SpyObject;
|
||||
import 'package:angular2/core.dart' show Injector, bind;
|
||||
import 'package:angular2/core.dart' show Injector, ReflectiveInjector, bind;
|
||||
import 'package:angular2/src/core/application_ref.dart' show ApplicationRef;
|
||||
import 'package:angular2/src/core/linker/component_factory.dart'
|
||||
show ComponentRef;
|
||||
@@ -15,7 +15,7 @@ class SpyComponentRef extends SpyObject implements ComponentRef {
|
||||
Injector injector;
|
||||
|
||||
SpyComponentRef() {
|
||||
this.injector = Injector
|
||||
this.injector = ReflectiveInjector
|
||||
.resolveAndCreate([bind(ApplicationRef).toClass(SpyApplicationRef)]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import {SpyObject} from 'angular2/testing_internal';
|
||||
import {Injector, provide} from 'angular2/core';
|
||||
import {ReflectiveInjector, provide} from 'angular2/core';
|
||||
import {global} from 'angular2/src/facade/lang';
|
||||
import {ApplicationRef, ApplicationRef_} from 'angular2/src/core/application_ref';
|
||||
|
||||
@@ -11,8 +11,8 @@ export class SpyComponentRef extends SpyObject {
|
||||
injector;
|
||||
constructor() {
|
||||
super();
|
||||
this.injector =
|
||||
Injector.resolveAndCreate([provide(ApplicationRef, {useClass: SpyApplicationRef})]);
|
||||
this.injector = ReflectiveInjector.resolveAndCreate(
|
||||
[provide(ApplicationRef, {useClass: SpyApplicationRef})]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user