Skip to content

Commit 2614397

Browse files
committed
4fbe804 Revert "feat(iterable_differ): support immutable lists"
1 parent 22b70cd commit 2614397

746 files changed

Lines changed: 959 additions & 1069 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

BUILD_INFO

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Wed Apr 13 17:06:53 UTC 2016
2-
01e6b8c7ed305594eaa4f54f202c534905ccb767
1+
Wed Apr 13 17:14:46 UTC 2016
2+
4fbe8047e6dc88d504361a4bd574871ebc3dbbff

animate.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

animate/testing.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bundles/angular2-all-testing.umd.dev.js

Lines changed: 19 additions & 27 deletions
Large diffs are not rendered by default.

bundles/angular2-all.umd.dev.js

Lines changed: 19 additions & 27 deletions
Large diffs are not rendered by default.

bundles/angular2-all.umd.js

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3735,11 +3735,6 @@ return /******/ (function(modules) { // webpackBootstrap
37353735
ListWrapper.createFixedSize = function (size) { return new Array(size); };
37363736
ListWrapper.createGrowableSize = function (size) { return new Array(size); };
37373737
ListWrapper.clone = function (array) { return array.slice(0); };
3738-
ListWrapper.createImmutable = function (array) {
3739-
var result = ListWrapper.clone(array);
3740-
Object.seal(result);
3741-
return result;
3742-
};
37433738
ListWrapper.forEachWithIndex = function (array, fn) {
37443739
for (var i = 0; i < array.length; i++) {
37453740
fn(array[i], i);
@@ -3836,7 +3831,6 @@ return /******/ (function(modules) { // webpackBootstrap
38363831
}
38373832
return solution;
38383833
};
3839-
ListWrapper.isImmutable = function (list) { return Object.isSealed(list); };
38403834
ListWrapper.flatten = function (array) {
38413835
var res = [];
38423836
array.forEach(function (a) { return res = res.concat(a); });
@@ -6728,6 +6722,7 @@ return /******/ (function(modules) { // webpackBootstrap
67286722
}
67296723
};
67306724
DefaultIterableDiffer.prototype.onDestroy = function () { };
6725+
// todo(vicb): optim for UnmodifiableListView (frozen arrays)
67316726
DefaultIterableDiffer.prototype.check = function (collection) {
67326727
var _this = this;
67336728
this._reset();
@@ -6737,27 +6732,24 @@ return /******/ (function(modules) { // webpackBootstrap
67376732
var item;
67386733
var itemTrackBy;
67396734
if (lang_2.isArray(collection)) {
6740-
if (collection !== this._collection || !collection_1.ListWrapper.isImmutable(collection)) {
6741-
var list = collection;
6742-
this._length = collection.length;
6743-
for (index = 0; index < this._length; index++) {
6744-
item = list[index];
6745-
itemTrackBy = this._trackByFn(index, item);
6746-
if (record === null || !lang_2.looseIdentical(record.trackById, itemTrackBy)) {
6747-
record = this._mismatch(record, item, itemTrackBy, index);
6748-
mayBeDirty = true;
6749-
}
6750-
else {
6751-
if (mayBeDirty) {
6752-
// TODO(misko): can we limit this to duplicates only?
6753-
record = this._verifyReinsertion(record, item, itemTrackBy, index);
6754-
}
6755-
if (!lang_2.looseIdentical(record.item, item))
6756-
this._addIdentityChange(record, item);
6735+
var list = collection;
6736+
this._length = collection.length;
6737+
for (index = 0; index < this._length; index++) {
6738+
item = list[index];
6739+
itemTrackBy = this._trackByFn(index, item);
6740+
if (record === null || !lang_2.looseIdentical(record.trackById, itemTrackBy)) {
6741+
record = this._mismatch(record, item, itemTrackBy, index);
6742+
mayBeDirty = true;
6743+
}
6744+
else {
6745+
if (mayBeDirty) {
6746+
// TODO(misko): can we limit this to duplicates only?
6747+
record = this._verifyReinsertion(record, item, itemTrackBy, index);
67576748
}
6758-
record = record._next;
6749+
if (!lang_2.looseIdentical(record.item, item))
6750+
this._addIdentityChange(record, item);
67596751
}
6760-
this._truncate(record);
6752+
record = record._next;
67616753
}
67626754
}
67636755
else {
@@ -6780,8 +6772,8 @@ return /******/ (function(modules) { // webpackBootstrap
67806772
index++;
67816773
});
67826774
this._length = index;
6783-
this._truncate(record);
67846775
}
6776+
this._truncate(record);
67856777
this._collection = collection;
67866778
return this.isDirty;
67876779
};

bundles/angular2-all.umd.min.js

Lines changed: 18 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bundles/angular2.dev.js

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -987,11 +987,6 @@ System.register("angular2/src/facade/collection", ["angular2/src/facade/lang"],
987987
ListWrapper.clone = function(array) {
988988
return array.slice(0);
989989
};
990-
ListWrapper.createImmutable = function(array) {
991-
var result = ListWrapper.clone(array);
992-
Object.seal(result);
993-
return result;
994-
};
995990
ListWrapper.forEachWithIndex = function(array, fn) {
996991
for (var i = 0; i < array.length; i++) {
997992
fn(array[i], i);
@@ -1113,9 +1108,6 @@ System.register("angular2/src/facade/collection", ["angular2/src/facade/lang"],
11131108
}
11141109
return solution;
11151110
};
1116-
ListWrapper.isImmutable = function(list) {
1117-
return Object.isSealed(list);
1118-
};
11191111
ListWrapper.flatten = function(array) {
11201112
var res = [];
11211113
array.forEach(function(a) {
@@ -2527,25 +2519,22 @@ System.register("angular2/src/core/change_detection/differs/default_iterable_dif
25272519
var item;
25282520
var itemTrackBy;
25292521
if (lang_2.isArray(collection)) {
2530-
if (collection !== this._collection || !collection_1.ListWrapper.isImmutable(collection)) {
2531-
var list = collection;
2532-
this._length = collection.length;
2533-
for (index = 0; index < this._length; index++) {
2534-
item = list[index];
2535-
itemTrackBy = this._trackByFn(index, item);
2536-
if (record === null || !lang_2.looseIdentical(record.trackById, itemTrackBy)) {
2537-
record = this._mismatch(record, item, itemTrackBy, index);
2538-
mayBeDirty = true;
2539-
} else {
2540-
if (mayBeDirty) {
2541-
record = this._verifyReinsertion(record, item, itemTrackBy, index);
2542-
}
2543-
if (!lang_2.looseIdentical(record.item, item))
2544-
this._addIdentityChange(record, item);
2522+
var list = collection;
2523+
this._length = collection.length;
2524+
for (index = 0; index < this._length; index++) {
2525+
item = list[index];
2526+
itemTrackBy = this._trackByFn(index, item);
2527+
if (record === null || !lang_2.looseIdentical(record.trackById, itemTrackBy)) {
2528+
record = this._mismatch(record, item, itemTrackBy, index);
2529+
mayBeDirty = true;
2530+
} else {
2531+
if (mayBeDirty) {
2532+
record = this._verifyReinsertion(record, item, itemTrackBy, index);
25452533
}
2546-
record = record._next;
2534+
if (!lang_2.looseIdentical(record.item, item))
2535+
this._addIdentityChange(record, item);
25472536
}
2548-
this._truncate(record);
2537+
record = record._next;
25492538
}
25502539
} else {
25512540
index = 0;
@@ -2565,8 +2554,8 @@ System.register("angular2/src/core/change_detection/differs/default_iterable_dif
25652554
index++;
25662555
});
25672556
this._length = index;
2568-
this._truncate(record);
25692557
}
2558+
this._truncate(record);
25702559
this._collection = collection;
25712560
return this.isDirty;
25722561
};

bundles/angular2.js

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -987,11 +987,6 @@ System.register("angular2/src/facade/collection", ["angular2/src/facade/lang"],
987987
ListWrapper.clone = function(array) {
988988
return array.slice(0);
989989
};
990-
ListWrapper.createImmutable = function(array) {
991-
var result = ListWrapper.clone(array);
992-
Object.seal(result);
993-
return result;
994-
};
995990
ListWrapper.forEachWithIndex = function(array, fn) {
996991
for (var i = 0; i < array.length; i++) {
997992
fn(array[i], i);
@@ -1113,9 +1108,6 @@ System.register("angular2/src/facade/collection", ["angular2/src/facade/lang"],
11131108
}
11141109
return solution;
11151110
};
1116-
ListWrapper.isImmutable = function(list) {
1117-
return Object.isSealed(list);
1118-
};
11191111
ListWrapper.flatten = function(array) {
11201112
var res = [];
11211113
array.forEach(function(a) {
@@ -2527,25 +2519,22 @@ System.register("angular2/src/core/change_detection/differs/default_iterable_dif
25272519
var item;
25282520
var itemTrackBy;
25292521
if (lang_2.isArray(collection)) {
2530-
if (collection !== this._collection || !collection_1.ListWrapper.isImmutable(collection)) {
2531-
var list = collection;
2532-
this._length = collection.length;
2533-
for (index = 0; index < this._length; index++) {
2534-
item = list[index];
2535-
itemTrackBy = this._trackByFn(index, item);
2536-
if (record === null || !lang_2.looseIdentical(record.trackById, itemTrackBy)) {
2537-
record = this._mismatch(record, item, itemTrackBy, index);
2538-
mayBeDirty = true;
2539-
} else {
2540-
if (mayBeDirty) {
2541-
record = this._verifyReinsertion(record, item, itemTrackBy, index);
2542-
}
2543-
if (!lang_2.looseIdentical(record.item, item))
2544-
this._addIdentityChange(record, item);
2522+
var list = collection;
2523+
this._length = collection.length;
2524+
for (index = 0; index < this._length; index++) {
2525+
item = list[index];
2526+
itemTrackBy = this._trackByFn(index, item);
2527+
if (record === null || !lang_2.looseIdentical(record.trackById, itemTrackBy)) {
2528+
record = this._mismatch(record, item, itemTrackBy, index);
2529+
mayBeDirty = true;
2530+
} else {
2531+
if (mayBeDirty) {
2532+
record = this._verifyReinsertion(record, item, itemTrackBy, index);
25452533
}
2546-
record = record._next;
2534+
if (!lang_2.looseIdentical(record.item, item))
2535+
this._addIdentityChange(record, item);
25472536
}
2548-
this._truncate(record);
2537+
record = record._next;
25492538
}
25502539
} else {
25512540
index = 0;
@@ -2565,8 +2554,8 @@ System.register("angular2/src/core/change_detection/differs/default_iterable_dif
25652554
index++;
25662555
});
25672556
this._length = index;
2568-
this._truncate(record);
25692557
}
2558+
this._truncate(record);
25702559
this._collection = collection;
25712560
return this.isDirty;
25722561
};

bundles/angular2.min.js

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)