AlkantarClanX12
Current Path : /proc/self/root/opt/alt/alt-nodejs6/root/lib/node_modules/npm/lib/install/ |
Current File : //proc/self/root/opt/alt/alt-nodejs6/root/lib/node_modules/npm/lib/install/copy-tree.js |
'use strict' module.exports = function (tree) { return copyTree(tree, {}) } function copyTree (tree, cache) { if (cache[tree.path]) return cache[tree.path] var newTree = cache[tree.path] = Object.create(tree) copyModuleList(newTree, 'children', cache) newTree.children.forEach(function (child) { child.parent = newTree }) copyModuleList(newTree, 'requires', cache) copyModuleList(newTree, 'requiredBy', cache) return newTree } function copyModuleList (tree, key, cache) { var newList = [] tree[key].forEach(function (child) { newList.push(copyTree(child, cache)) }) tree[key] = newList }