1 var baseClone = require('./_baseClone');
4 * This method is like `_.cloneWith` except that it recursively clones `value`.
10 * @param {*} value The value to recursively clone.
11 * @param {Function} [customizer] The function to customize cloning.
12 * @returns {*} Returns the deep cloned value.
16 * function customizer(value) {
17 * if (_.isElement(value)) {
18 * return value.cloneNode(true);
22 * var el = _.cloneDeepWith(document.body, customizer);
24 * console.log(el === document.body);
26 * console.log(el.nodeName);
28 * console.log(el.childNodes.length);
31 function cloneDeepWith(value, customizer) {
32 customizer = typeof customizer == 'function' ? customizer : undefined;
33 return baseClone(value, true, true, customizer);
36 module.exports = cloneDeepWith;