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

@ -48,6 +48,7 @@ var _chromeNumKeyPadMap = {
'\x90': 'NumLock'
};
/* tslint:disable:requireParameterType */
export class BrowserDomAdapter extends GenericBrowserDomAdapter {
static makeCurrent() { setRootDomAdapter(new BrowserDomAdapter()); }
hasProperty(element, name: string): boolean { return name in element; }

View File

@ -12,6 +12,7 @@ function _abstract() {
return new BaseException('This method is abstract');
}
/* tslint:disable:requireParameterType */
/**
* Provides DOM operations in an environment-agnostic way.
*/

View File

@ -6,8 +6,8 @@ import {DomAdapter} from './dom_adapter';
* Provides DOM operations in any browser environment.
*/
export class GenericBrowserDomAdapter extends DomAdapter {
getDistributedNodes(el): List<Node> { return el.getDistributedNodes(); }
resolveAndSetHref(el, baseUrl: string, href: string) {
getDistributedNodes(el: HTMLElement): List<Node> { return (<any>el).getDistributedNodes(); }
resolveAndSetHref(el: HTMLAnchorElement, baseUrl: string, href: string) {
el.href = href == null ? baseUrl : baseUrl + '/../' + href;
}
cssToRules(css: string): List<any> {

View File

@ -25,6 +25,7 @@ function _notImplemented(methodName) {
return new BaseException('This method is not implemented in Parse5DomAdapter: ' + methodName);
}
/* tslint:disable:requireParameterType */
export class Parse5DomAdapter extends DomAdapter {
static makeCurrent() { setRootDomAdapter(new Parse5DomAdapter()); }
@ -112,7 +113,7 @@ export class Parse5DomAdapter extends DomAdapter {
onAndCancel(el, evt, listener): Function {
this.on(el, evt, listener);
return () => {
ListWrapper.remove(StringMapWrapper.get(el._eventListenersMap, evt), listener);
ListWrapper.remove(StringMapWrapper.get<List<any>>(el._eventListenersMap, evt), listener);
};
}
dispatchEvent(el, evt) {