var List = require('./list'); module.exports = function clone(node) { var result = {}; for (var key in node) { var value = node[key]; if (value) { if (Array.isArray(value)) { value = value.slice(0); } else if (value instanceof List) { value = new List(value.map(clone)); } else if (value.constructor === Object) { value = clone(value); } } result[key] = value; } return result; };