1var baseClone = require('./_baseClone'); 2 3/** Used to compose bitmasks for cloning. */ 4var CLONE_DEEP_FLAG = 1, 5 CLONE_SYMBOLS_FLAG = 4; 6 7/** 8 * This method is like `_.clone` except that it recursively clones `value`. 9 * 10 * @static 11 * @memberOf _ 12 * @since 1.0.0 13 * @category Lang 14 * @param {*} value The value to recursively clone. 15 * @returns {*} Returns the deep cloned value. 16 * @see _.clone 17 * @example 18 * 19 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 20 * 21 * var deep = _.cloneDeep(objects); 22 * console.log(deep[0] === objects[0]); 23 * // => false 24 */ 25function cloneDeep(value) { 26 return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); 27} 28 29module.exports = cloneDeep; 30