feat(build): require parameter types

Fixes #2833
This commit is contained in:
Alex Eagle
2015-07-07 20:03:00 -07:00
parent 6d760666a9
commit de18da2a0d
81 changed files with 379 additions and 290 deletions

View File

@ -286,7 +286,7 @@ export class EventEmitterAccessor {
subscribe(view: viewModule.AppView, boundElementIndex: number, directive: Object): Object {
var eventEmitter = this.getter(directive);
return ObservableWrapper.subscribe(
return ObservableWrapper.subscribe<Event>(
eventEmitter,
eventObj => view.triggerEventHandlers(this.eventName, eventObj, boundElementIndex));
}
@ -297,7 +297,7 @@ export class HostActionAccessor {
subscribe(view: viewModule.AppView, boundElementIndex: number, directive: Object): Object {
var eventEmitter = this.getter(directive);
return ObservableWrapper.subscribe(
return ObservableWrapper.subscribe<List<any>>(
eventEmitter,
actionArgs => view.invokeElementMethod(boundElementIndex, this.methodName, actionArgs));
}
@ -542,7 +542,7 @@ export class ElementInjector extends TreeNode<ElementInjector> implements Depend
return isPresent(index) ? this.getDirectiveAtIndex(<number>index) : this.getElementRef();
}
get(token): any { return this._injector.get(token); }
get(token: any): any { return this._injector.get(token); }
hasDirective(type: Type): boolean { return isPresent(this._injector.getOptional(type)); }

View File

@ -135,7 +135,7 @@ export class AppView implements ChangeDispatcher, RenderEventDispatcher {
this.viewContainers = viewContainers;
}
setLocal(contextName: string, value): void {
setLocal(contextName: string, value: any): void {
if (!this.hydrated()) throw new BaseException('Cannot set locals on dehydrated view.');
if (!this.proto.variableBindings.has(contextName)) {
return;
@ -155,7 +155,7 @@ export class AppView implements ChangeDispatcher, RenderEventDispatcher {
* @param {*} eventObj
* @param {int} boundElementIndex
*/
triggerEventHandlers(eventName: string, eventObj, boundElementIndex: int): void {
triggerEventHandlers(eventName: string, eventObj: Event, boundElementIndex: int): void {
var locals = new Map();
locals.set('$event', eventObj);
this.dispatchEvent(boundElementIndex, eventName, locals);