(val, instanceClone)
| 6237 | } |
| 6238 | |
| 6239 | function cloneObjectDeep(val, instanceClone) { |
| 6240 | if (typeof instanceClone === 'function') { |
| 6241 | return instanceClone(val); |
| 6242 | } |
| 6243 | if (instanceClone || isPlainObject(val)) { |
| 6244 | const res = new val.constructor(); |
| 6245 | for (let key in val) { |
| 6246 | res[key] = cloneDeep(val[key], instanceClone); |
| 6247 | } |
| 6248 | return res; |
| 6249 | } |
| 6250 | return val; |
| 6251 | } |
| 6252 | |
| 6253 | function cloneArrayDeep(val, instanceClone) { |
| 6254 | const res = new val.constructor(val.length); |