Skip to content

Commit

Permalink
Added compact to store
Browse files Browse the repository at this point in the history
  • Loading branch information
kmalakoff committed Dec 4, 2013
1 parent babe6ce commit 54c2859
Show file tree
Hide file tree
Showing 26 changed files with 261 additions and 73 deletions.
21 changes: 18 additions & 3 deletions knockback-core-stack.js
Expand Up @@ -8074,6 +8074,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -8107,8 +8122,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -8117,8 +8130,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions knockback-core-stack.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions knockback-core.js
Expand Up @@ -986,6 +986,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -1019,8 +1034,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -1029,8 +1042,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions knockback-core.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions knockback-full-stack.js
Expand Up @@ -8074,6 +8074,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -8107,8 +8122,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -8117,8 +8130,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions knockback-full-stack.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions knockback.js
Expand Up @@ -986,6 +986,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -1019,8 +1034,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -1029,8 +1042,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions knockback.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions packages/npm/knockback-core-stack.js
Expand Up @@ -8074,6 +8074,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -8107,8 +8122,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -8117,8 +8130,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/npm/knockback-core-stack.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions packages/npm/knockback-core.js
Expand Up @@ -986,6 +986,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -1019,8 +1034,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -1029,8 +1042,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/npm/knockback-core.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions packages/npm/knockback-full-stack.js
Expand Up @@ -8074,6 +8074,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -8107,8 +8122,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -8117,8 +8130,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions packages/npm/knockback-full-stack.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions packages/npm/knockback.js
Expand Up @@ -986,6 +986,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -1019,8 +1034,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -1029,8 +1042,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions packages/npm/knockback.min.js

Large diffs are not rendered by default.

21 changes: 18 additions & 3 deletions packages/nuget/Content/Scripts/knockback-core-stack.js
Expand Up @@ -8074,6 +8074,21 @@ kb.Store = (function() {
kb.release(this.replaced_observables);
};

Store.prototype.compact = function() {
var index, record, removals, _ref1, _ref2;
removals = [];
_ref1 = this.observable_records;
for (index in _ref1) {
record = _ref1[index];
if ((_ref2 = record.observable) != null ? _ref2.__kb_released : void 0) {
removals.push(record);
}
}
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
}
};

Store.prototype.register = function(obj, observable, options) {
var creator;
if (!observable) {
Expand Down Expand Up @@ -8107,8 +8122,6 @@ kb.Store = (function() {
continue;
}
if (record.observable.__kb_released) {
record.obj = null;
record.observable = null;
removals.push(record);
continue;
}
Expand All @@ -8117,8 +8130,10 @@ kb.Store = (function() {
} else if ((record.creator === creator) || (record.creator.create && (record.creator.create === creator.create))) {
if (removals.length) {
this.observable_records = _.difference(this.observable_records, removals);
return _.indexOf(this.observable_records, record);
} else {
return index;
}
return index;
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/nuget/Content/Scripts/knockback-core-stack.min.js

Large diffs are not rendered by default.

0 comments on commit 54c2859

Please sign in to comment.