UNPKG

1.21 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.8.0
2var modifyObjectInPlace;
3
4module.exports = modifyObjectInPlace = function(oldObject, newObject, cachedObject) {
5 var key, localChange, localChanges, _i, _j, _len, _len1, _ref, _ref1;
6 _ref = Object.keys(oldObject);
7 for (_i = 0, _len = _ref.length; _i < _len; _i++) {
8 key = _ref[_i];
9 if (!(key[0] !== '$')) {
10 continue;
11 }
12 localChange = cachedObject && (cachedObject[key] == null);
13 if (!((newObject[key] != null) || localChange)) {
14 delete oldObject[key];
15 }
16 }
17 _ref1 = Object.keys(newObject);
18 for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
19 key = _ref1[_j];
20 if (key[0] !== '$') {
21 if (angular.isObject(oldObject[key]) && angular.isObject(newObject[key])) {
22 modifyObjectInPlace(oldObject[key], newObject[key], cachedObject != null ? cachedObject[key] : void 0);
23 } else {
24 localChanges = cachedObject && !angular.equals(oldObject[key], cachedObject[key]);
25 if (!(angular.equals(oldObject[key], newObject[key]) || localChanges)) {
26 oldObject[key] = newObject[key];
27 }
28 }
29 }
30 }
31 if (newObject.length != null) {
32 return oldObject.length = newObject.length;
33 }
34};