diff options
Diffstat (limited to 'node_modules/lodash/cloneDeepWith.js')
-rw-r--r-- | node_modules/lodash/cloneDeepWith.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/lodash/cloneDeepWith.js b/node_modules/lodash/cloneDeepWith.js new file mode 100644 index 000000000..c3ec6bac0 --- /dev/null +++ b/node_modules/lodash/cloneDeepWith.js @@ -0,0 +1,36 @@ +var baseClone = require('./_baseClone'); + +/** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ +function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, true, true, customizer); +} + +module.exports = cloneDeepWith; |