Never break object refs for Collection:all & Collection:indexes[*].

This commit is contained in:
Julien Fontanet 2015-02-23 14:48:32 +01:00
parent 3c3ea0f3e1
commit 06b7116692

View File

@ -7,6 +7,16 @@ var indexOf = require('lodash.indexof');
//====================================================================
function deleteProperties(obj) {
/* jshint forin: false */
var prop;
for (prop in obj) {
delete obj[prop];
}
}
//====================================================================
function defaultKey(item) {
return item.id || item._id || item;
}
@ -52,14 +62,9 @@ function Collection(opts) {
});
}
function createIndex(_, field) {
/* jshint validthis: true */
this[field] = Object.create(null);
}
Collection.prototype.clear = function () {
this._data = Object.create(null);
forEach(this._indexes, createIndex, this._indexes);
deleteProperties(this._data);
forEach(this._indexes, deleteProperties);
};
function unsetItemFromIndex(index, field) {