2020-12-08 17:30:16 +08:00

17 lines
433 B
TypeScript

import lodashSet from 'lodash/set';
export function set(obj: any, path: any, val: any) {
if (typeof path === 'string' && path.startsWith('prototype')) {
const segs = path.split('.');
let acc = obj;
segs.forEach((seg, idx) => {
if (idx !== segs.length - 1) {
acc[seg] = acc[seg] || {};
acc = acc[seg];
} else {
acc[seg] = val;
}
})
}
return lodashSet(obj, path, val);
}