feat(di): Add the `@Injectable` annotation

Add an annotation marking a class as available to `Injector`s.
This commit is contained in:
Tim Blasi 2015-03-16 14:43:22 -07:00 committed by Misko Hevery
parent a46af9c41c
commit b656f63430
2 changed files with 21 additions and 2 deletions

View File

@ -1,4 +1,4 @@
export {Inject, InjectPromise, InjectLazy, Optional, DependencyAnnotation} from './src/di/annotations'; export {Inject, InjectPromise, InjectLazy, Injectable, Optional, DependencyAnnotation} from './src/di/annotations';
export {Injector} from './src/di/injector'; export {Injector} from './src/di/injector';
export {Binding, Dependency, bind} from './src/di/binding'; export {Binding, Dependency, bind} from './src/di/binding';
export {Key, KeyRegistry} from './src/di/key'; export {Key, KeyRegistry} from './src/di/key';

View File

@ -107,4 +107,23 @@ export class DependencyAnnotation {
@CONST() @CONST()
constructor() { constructor() {
} }
} }
/**
* A class annotation that marks a class as available to `Injector`s for
* creation.
*
* ```
* class NeedsService {
* constructor(svc:UsefulService) {}
* }
*
* @Injectable
* class UsefulService {}
* ```
*/
export class Injectable {
@CONST()
constructor() {
}
}