| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 | | var List = require('../common/List'); |  |   |  | module.exports = function clone(node) { |  |     var result = {}; |  |   |  |     for (var key in node) { |  |         var value = node[key]; |  |   |  |         if (value) { |  |             if (Array.isArray(value) || value instanceof List) { |  |                 value = value.map(clone); |  |             } else if (value.constructor === Object) { |  |                 value = clone(value); |  |             } |  |         } |  |   |  |         result[key] = value; |  |     } |  |   |  |     return result; |  | }; | 
 |