1 | import isObject from './is-object';
|
2 | import isString from './is-string';
|
3 | import isNumber from './is-number';
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | export default (function (obj, path, value) {
|
11 | var o = obj;
|
12 | var keyArr = isString(path) ? path.split('.') : path;
|
13 | keyArr.forEach(function (key, idx) {
|
14 |
|
15 | if (idx < keyArr.length - 1) {
|
16 | if (!isObject(o[key])) {
|
17 | o[key] = isNumber(keyArr[idx + 1]) ? [] : {};
|
18 | }
|
19 | o = o[key];
|
20 | }
|
21 | else {
|
22 | o[key] = value;
|
23 | }
|
24 | });
|
25 | return obj;
|
26 | });
|
27 |
|
\ | No newline at end of file |