diff options
Diffstat (limited to 'node_modules/es5-ext/object/copy-deep.js')
-rw-r--r-- | node_modules/es5-ext/object/copy-deep.js | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/node_modules/es5-ext/object/copy-deep.js b/node_modules/es5-ext/object/copy-deep.js deleted file mode 100644 index 39f9a1d69..000000000 --- a/node_modules/es5-ext/object/copy-deep.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -var forEach = require("./for-each") - , isPlainObject = require("./is-plain-object") - , ensureValue = require("./valid-value") - , isArray = Array.isArray; - -var copyValue = function (value, ancestors, ancestorsCopy) { - var mode; - if (isPlainObject(value)) mode = "object"; - else if (isArray(value)) mode = "array"; - if (!mode) return value; - - var copy = ancestorsCopy[ancestors.indexOf(value)]; - if (copy) return copy; - copy = mode === "object" ? {} : []; - - ancestors.push(value); - ancestorsCopy.push(copy); - if (mode === "object") { - forEach(value, function (item, key) { - copy[key] = copyValue(item, ancestors, ancestorsCopy); - }); - } else { - value.forEach(function (item, index) { - copy[index] = copyValue(item, ancestors, ancestorsCopy); - }); - } - ancestors.pop(); - ancestorsCopy.pop(); - - return copy; -}; - -module.exports = function (source) { - return copyValue(ensureValue(source), [], []); -}; |