@voiceflow/common
Version:
Junk drawer of utility functions
12 lines (11 loc) • 450 B
JavaScript
import _transform from 'lodash/transform.js';
const defaultCompare = (left, right) => left === right;
export const getTopLevelDiff = (object, base, compare = defaultCompare) => {
const changes = (object, base) => _transform(object, (result, value, key) => {
if (!compare(value, base[key])) {
// eslint-disable-next-line no-param-reassign
result[key] = value;
}
});
return changes(object, base);
};