fix(di): allow injecting event emitter fns without specifying type annotation

Fixes #965

Closes #1155
This commit is contained in:
Pawel Kozlowski
2015-03-29 14:56:18 +02:00
parent 9adf41ca2d
commit ae30d7ba40
4 changed files with 71 additions and 5 deletions

View File

@ -12,6 +12,10 @@ export class EventEmitter extends DependencyAnnotation {
super();
this.eventName = eventName;
}
get token() {
return Function;
}
}
/**
@ -25,6 +29,10 @@ export class PropertySetter extends DependencyAnnotation {
super();
this.propName = propName;
}
get token() {
return Function;
}
}
/**

View File

@ -107,6 +107,10 @@ export class DependencyAnnotation {
@CONST()
constructor() {
}
get token() {
return null;
}
}
/**

View File

@ -135,7 +135,11 @@ function _extractToken(typeOrFunc, annotations) {
optional = true;
} else if (paramAnnotation instanceof DependencyAnnotation) {
if (isPresent(paramAnnotation.token)) {
token = paramAnnotation.token;
}
ListWrapper.push(depProps, paramAnnotation);
} else if (paramAnnotation.name === "string") {
token = paramAnnotation;
}