➖ Added an object diff check to search_results_updated reducer
This commit is contained in:
22
src/client/shared/utils/object.utils.ts
Normal file
22
src/client/shared/utils/object.utils.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { transform, isEqual, isObject } from "lodash";
|
||||
|
||||
/**
|
||||
* Deep diff between two object, using lodash
|
||||
* @param {Object} object Object compared
|
||||
* @param {Object} base Object to compare with
|
||||
* @return {Object} Return a new object who represent the diff
|
||||
*/
|
||||
export const difference = (object, base) => {
|
||||
return changes(object, base);
|
||||
};
|
||||
|
||||
const changes = (object, base) => {
|
||||
return transform(object, (result, value, key) => {
|
||||
if (!isEqual(value, base[key])) {
|
||||
result[key] =
|
||||
isObject(value) && isObject(base[key])
|
||||
? changes(value, base[key])
|
||||
: value;
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user