salix/front/core/lib/modified.js

24 lines
672 B
JavaScript
Raw Normal View History

import isEqual from './equals';
export default function getModifiedData(object, objectOld) {
let newObject = {};
2018-09-24 08:43:54 +00:00
if (objectOld === null)
2018-02-01 12:28:45 +00:00
return object;
2018-09-24 08:43:54 +00:00
for (let k in object) {
let val = object[k];
let valOld = objectOld[k] === undefined ? null : objectOld[k];
if (!isEqual(val, valOld)) {
if (val instanceof Date)
2018-09-24 08:43:54 +00:00
newObject[k] = new Date(val.getTime());
else if (val instanceof Object)
2017-02-28 10:46:18 +00:00
newObject[k] = getModifiedData(val, valOld);
else
newObject[k] = val;
}
}
2018-02-21 11:36:37 +00:00
return Object.keys(newObject).length ? newObject : undefined;
}