chore: fix DDC errors / warnings

Closes #7195
This commit is contained in:
Misko Hevery
2016-02-19 11:49:31 -08:00
committed by Miško Hevery
parent ef9e40e82b
commit 14f0e9ada8
88 changed files with 527 additions and 468 deletions

View File

@ -8,7 +8,7 @@ import {Store, Todo, TodoFactory} from './services/TodoStore';
class TodoApp {
todoEdit: Todo = null;
constructor(public todoStore: Store, public factory: TodoFactory) {}
constructor(public todoStore: Store<Todo>, public factory: TodoFactory) {}
enterTodo(inputElement): void {
this.addTodo(inputElement.value);

View File

@ -2,7 +2,7 @@ import {Injectable} from 'angular2/core';
import {ListWrapper, Predicate} from 'angular2/src/facade/collection';
// base model for RecordStore
export class KeyModel {
export abstract class KeyModel {
constructor(public key: number) {}
}
@ -23,19 +23,19 @@ export class TodoFactory {
// Store manages any generic item that inherits from KeyModel
@Injectable()
export class Store {
list: KeyModel[] = [];
export class Store<T extends KeyModel> {
list: T[] = [];
add(record: KeyModel): void { this.list.push(record); }
add(record: T): void { this.list.push(record); }
remove(record: KeyModel): void { this._spliceOut(record); }
remove(record: T): void { this._spliceOut(record); }
removeBy(callback: Predicate<KeyModel>): void {
removeBy(callback: Predicate<T>): void {
var records = this.list.filter(callback);
ListWrapper.removeAll(this.list, records);
}
private _spliceOut(record: KeyModel) {
private _spliceOut(record: T) {
var i = this._indexFor(record);
if (i > -1) {
return ListWrapper.splice(this.list, i, 1)[0];
@ -43,5 +43,5 @@ export class Store {
return null;
}
private _indexFor(record: KeyModel) { return this.list.indexOf(record); }
private _indexFor(record: T) { return this.list.indexOf(record); }
}