fix(core): Add type information to differs

CHANGES:

- Remove unused `onDestroy` method on the `KeyValueDiffer` and
  `IterableDiffer`.

DEPRECATION:

- `CollectionChangeRecord` is renamed to `IterableChangeRecord`.
  `CollectionChangeRecord` is aliased to `IterableChangeRecord` and is
  marked as `@deprecated`. It will be removed in `v5.x.x`.
- Deprecate `DefaultIterableDiffer` as it is private class which
  was erroneously exposed.
- Deprecate `KeyValueDiffers#factories` as it is private field which
  was erroneously exposed.
- Deprecate `IterableDiffers#factories` as it is private field which
  was erroneously exposed.

BREAKING CHANGE:

- `IterableChangeRecord` is now an interface and parameterized on `<V>`.
  This should not be an issue unless your code does
  `new IterableChangeRecord` which it should not have a reason to do.
- `KeyValueChangeRecord` is now an interface and parameterized on `<V>`.
  This should not be an issue unless your code does
  `new IterableChangeRecord` which it should not have a reason to do.

Original PR #12570

Fixes #13382
This commit is contained in:
Joao Dias
2016-10-27 20:28:11 +02:00
committed by Matias Niemelä
parent 5d9cbd7d6f
commit 8c7e93bebe
12 changed files with 471 additions and 290 deletions

View File

@ -14,11 +14,11 @@ import {kvChangesAsString} from '../../change_detection/util';
export function main() {
describe('keyvalue differ', function() {
describe('DefaultKeyValueDiffer', function() {
let differ: DefaultKeyValueDiffer;
let differ: DefaultKeyValueDiffer<any, any>;
let m: Map<any, any>;
beforeEach(() => {
differ = new DefaultKeyValueDiffer();
differ = new DefaultKeyValueDiffer<string, any>();
m = new Map();
});