updeep-remeda/lib/updateIn.js

13 lines
337 B
JavaScript
Raw Normal View History

2015-08-05 05:28:31 +00:00
import curry from 'lodash/function/curry';
import update from './update';
2015-08-07 03:48:04 +00:00
import splitPath from './util/splitPath';
2015-08-05 05:28:31 +00:00
2015-08-05 07:27:56 +00:00
function updateIn(path, value, object) {
2015-08-07 03:48:04 +00:00
const parts = splitPath(path);
2015-08-05 05:28:31 +00:00
const updates = parts.reduceRight((acc, key) => ({ [key]: acc }), value);
2015-08-05 07:27:56 +00:00
return update(updates, object);
2015-08-05 05:28:31 +00:00
}
export default curry(updateIn);