Version 1
[yaffs-website] / node_modules / uncss / node_modules / lodash / cloneDeepWith.js
1 var baseClone = require('./internal/baseClone');
2
3 /**
4  * This method is like `_.cloneWith` except that it recursively clones `value`.
5  *
6  * @static
7  * @memberOf _
8  * @category Lang
9  * @param {*} value The value to recursively clone.
10  * @param {Function} [customizer] The function to customize cloning.
11  * @returns {*} Returns the deep cloned value.
12  * @example
13  *
14  * function customizer(value) {
15  *   if (_.isElement(value)) {
16  *     return value.cloneNode(true);
17  *   }
18  * }
19  *
20  * var el = _.cloneDeepWith(document.body, customizer);
21  *
22  * console.log(el === document.body);
23  * // => false
24  * console.log(el.nodeName);
25  * // => 'BODY'
26  * console.log(el.childNodes.length);
27  * // => 20
28  */
29 function cloneDeepWith(value, customizer) {
30   return baseClone(value, true, customizer);
31 }
32
33 module.exports = cloneDeepWith;