(obj)
| 84 | // the cloning algorithm can stay much simpler than a general-purpose |
| 85 | // "cloneDeep" e.g. from lodash. |
| 86 | function cloneDeepJson(obj) { |
| 87 | const result = Array.isArray(obj) ? [] : {}; |
| 88 | assert.equal(Object.getPrototypeOf(result), Object.getPrototypeOf(obj)); |
| 89 | for (const key in obj) { |
| 90 | const value = obj[key]; |
| 91 | if (typeof value === 'object') { |
| 92 | result[key] = cloneDeepJson(value); |
| 93 | } else { |
| 94 | result[key] = value; |
| 95 | } |
| 96 | } |
| 97 | return result; |
| 98 | } |
no outgoing calls
no test coverage detected
searching dependent graphs…