UNPKG

angular-cached-resource

Version:

An AngularJS module to interact with RESTful resources, even when browser is offline

35 lines (33 loc) 1.19 kB
// Generated by CoffeeScript 1.10.0 var modifyObjectInPlace; module.exports = modifyObjectInPlace = function(oldObject, newObject, cachedObject) { var i, j, key, len, len1, localChange, localChanges, ref, ref1; ref = Object.keys(oldObject); for (i = 0, len = ref.length; i < len; i++) { key = ref[i]; if (!(key[0] !== '$')) { continue; } localChange = cachedObject && (cachedObject[key] == null); if (!((newObject[key] != null) || localChange)) { delete oldObject[key]; } } ref1 = Object.keys(newObject); for (j = 0, len1 = ref1.length; j < len1; j++) { key = ref1[j]; if (key[0] !== '$') { if (angular.isObject(oldObject[key]) && angular.isObject(newObject[key])) { modifyObjectInPlace(oldObject[key], newObject[key], cachedObject != null ? cachedObject[key] : void 0); } else { localChanges = cachedObject && !angular.equals(oldObject[key], cachedObject[key]); if (!(angular.equals(oldObject[key], newObject[key]) || localChanges)) { oldObject[key] = newObject[key]; } } } } if (newObject.length != null) { return oldObject.length = newObject.length; } };