diff options
author | Clemens <cle1000.cb@gmail.com> | 2016-08-19 09:23:41 +0200 |
---|---|---|
committer | Clemens <cle1000.cb@gmail.com> | 2016-08-19 09:23:41 +0200 |
commit | d4b18eae8181051f5230b796046cc7ff56e94862 (patch) | |
tree | 41b5b0576871356f74818299da7258872b15eefb /web/src/js/utils.js | |
parent | 9a86750e9dc2c1fa0010722eb68541aba08c9721 (diff) | |
download | mitmproxy-d4b18eae8181051f5230b796046cc7ff56e94862.tar.gz mitmproxy-d4b18eae8181051f5230b796046cc7ff56e94862.tar.bz2 mitmproxy-d4b18eae8181051f5230b796046cc7ff56e94862.zip |
refactoring
Diffstat (limited to 'web/src/js/utils.js')
-rw-r--r-- | web/src/js/utils.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/web/src/js/utils.js b/web/src/js/utils.js index e44182d0..e8470cec 100644 --- a/web/src/js/utils.js +++ b/web/src/js/utils.js @@ -107,14 +107,15 @@ fetchApi.put = (url, json, options) => fetchApi( ...options } ) - +// deep comparison of two json objects (dicts). arrays are handeled as a single value. +// return: json object including only the changed keys value pairs. export function getDiff(obj1, obj2) { let result = {...obj2}; for(let key in obj1) { if(_.isEqual(obj2[key], obj1[key])) result[key] = undefined - else if(!(Array.isArray(obj2[key]) && Array.isArray(obj1[key])) && - typeof obj2[key] == 'object' && typeof obj1[key] == 'object') + else if(Object.prototype.toString.call(obj2[key]) === '[object Object]' && + Object.prototype.toString.call(obj1[key]) === '[object Object]' ) result[key] = getDiff(obj1[key], obj2[key]) } return result |