You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							1016 B
						
					
					
				
			
		
		
	
	
							48 lines
						
					
					
						
							1016 B
						
					
					
				var baseLodash = require('./_baseLodash'), | 
						|
    wrapperClone = require('./_wrapperClone'); | 
						|
 | 
						|
/** | 
						|
 * Creates a clone of the chain sequence planting `value` as the wrapped value. | 
						|
 * | 
						|
 * @name plant | 
						|
 * @memberOf _ | 
						|
 * @since 3.2.0 | 
						|
 * @category Seq | 
						|
 * @param {*} value The value to plant. | 
						|
 * @returns {Object} Returns the new `lodash` wrapper instance. | 
						|
 * @example | 
						|
 * | 
						|
 * function square(n) { | 
						|
 *   return n * n; | 
						|
 * } | 
						|
 * | 
						|
 * var wrapped = _([1, 2]).map(square); | 
						|
 * var other = wrapped.plant([3, 4]); | 
						|
 * | 
						|
 * other.value(); | 
						|
 * // => [9, 16] | 
						|
 * | 
						|
 * wrapped.value(); | 
						|
 * // => [1, 4] | 
						|
 */ | 
						|
function wrapperPlant(value) { | 
						|
  var result, | 
						|
      parent = this; | 
						|
 | 
						|
  while (parent instanceof baseLodash) { | 
						|
    var clone = wrapperClone(parent); | 
						|
    clone.__index__ = 0; | 
						|
    clone.__values__ = undefined; | 
						|
    if (result) { | 
						|
      previous.__wrapped__ = clone; | 
						|
    } else { | 
						|
      result = clone; | 
						|
    } | 
						|
    var previous = clone; | 
						|
    parent = parent.__wrapped__; | 
						|
  } | 
						|
  previous.__wrapped__ = value; | 
						|
  return result; | 
						|
} | 
						|
 | 
						|
module.exports = wrapperPlant;
 | 
						|
 |