(obj, rawKey, val, retParent)
| 23 | * @return {Object} the original object or the parent of `val` if retParent is set |
| 24 | */ |
| 25 | export function objectSet(obj, rawKey, val, retParent) { |
| 26 | rawKey = normalizeKeys(rawKey); |
| 27 | let res = obj || {}; |
| 28 | let key; |
| 29 | for (let i = 0; (key = rawKey[i], i < rawKey.length - 1); i += 1) { |
| 30 | res = res[key] || (res[key] = {}); |
| 31 | } |
| 32 | if (val === undefined) { |
| 33 | delete res[key]; |
| 34 | } else { |
| 35 | res[key] = val; |
| 36 | } |
| 37 | return retParent ? res : obj; |
| 38 | } |
| 39 | |
| 40 | /** |
| 41 | * @param {{}} obj |
no test coverage detected