Skip to content

Commit

Permalink
Merge pull request #723 from alibaba/fix-mp-runtime
Browse files Browse the repository at this point in the history
fix: get compute changed data
  • Loading branch information
yuanyan committed Nov 13, 2018
2 parents 08d4e5b + cdc6a6e commit cd76f2a
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion packages/mp-runtime/src/computeChangedData.js
Expand Up @@ -53,10 +53,23 @@ function set(dest, src, path, changeCallback, deep) {
return dest;
}

/**
* Get changed data, just changed keys will included.
* eg:
* originalData: { foo: 'some val', bar: '' }
* changedData: { foo: 'new val' }
* returns: { foo: 'new val' }
* @param originalData
* @param changedData
* @returns {Object}
*/
export default function computeChangedData(originalData, changedData) {
let ret = { ...originalData };
let ret = {};
Object.keys(changedData).forEach((pathString) => {
const path = stringToPath(pathString);
if (path && path[0] !== undefined) {
ret[path[0]] = originalData[path[0]];
}
set(ret, ret, path, (clonedObj, finalPath) => {
clonedObj[finalPath] = changedData[pathString];
return clonedObj;
Expand Down

0 comments on commit cd76f2a

Please sign in to comment.