UNPKG

angular-cached-resource

Version:

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

36 lines (34 loc) 1.25 kB
// Generated by CoffeeScript 1.7.1 var modifyObjectInPlace; module.exports = modifyObjectInPlace = function(oldObject, newObject, cachedObject) { var key, localChange, localChanges, _i, _j, _len, _len1, _ref, _ref1, _results; _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); _results = []; for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { key = _ref1[_j]; if (key[0] !== '$') { if (angular.isObject(oldObject[key]) && angular.isObject(newObject[key])) { _results.push(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)) { _results.push(oldObject[key] = newObject[key]); } else { _results.push(void 0); } } } } return _results; };