diff options
Diffstat (limited to 'tools/node_modules/babel-eslint/node_modules/@babel/types/lib/clone/cloneDeep.js')
-rw-r--r-- | tools/node_modules/babel-eslint/node_modules/@babel/types/lib/clone/cloneDeep.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/node_modules/babel-eslint/node_modules/@babel/types/lib/clone/cloneDeep.js b/tools/node_modules/babel-eslint/node_modules/@babel/types/lib/clone/cloneDeep.js new file mode 100644 index 0000000000..4212edd2bc --- /dev/null +++ b/tools/node_modules/babel-eslint/node_modules/@babel/types/lib/clone/cloneDeep.js @@ -0,0 +1,24 @@ +"use strict"; + +exports.__esModule = true; +exports.default = cloneDeep; + +function cloneDeep(node) { + if (!node) return node; + var newNode = {}; + Object.keys(node).forEach(function (key) { + if (key[0] === "_") return; + var val = node[key]; + + if (val) { + if (val.type) { + val = cloneDeep(val); + } else if (Array.isArray(val)) { + val = val.map(cloneDeep); + } + } + + newNode[key] = val; + }); + return newNode; +}
\ No newline at end of file |