45 lines
		
	
	
		
			1019 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1019 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var LazyWrapper = require('./_LazyWrapper'),
 | |
|     LodashWrapper = require('./_LodashWrapper'),
 | |
|     reverse = require('./reverse'),
 | |
|     thru = require('./thru');
 | |
| 
 | |
| /**
 | |
|  * This method is the wrapper version of `_.reverse`.
 | |
|  *
 | |
|  * **Note:** This method mutates the wrapped array.
 | |
|  *
 | |
|  * @name reverse
 | |
|  * @memberOf _
 | |
|  * @since 0.1.0
 | |
|  * @category Seq
 | |
|  * @returns {Object} Returns the new `lodash` wrapper instance.
 | |
|  * @example
 | |
|  *
 | |
|  * var array = [1, 2, 3];
 | |
|  *
 | |
|  * _(array).reverse().value()
 | |
|  * // => [3, 2, 1]
 | |
|  *
 | |
|  * console.log(array);
 | |
|  * // => [3, 2, 1]
 | |
|  */
 | |
| function wrapperReverse() {
 | |
|   var value = this.__wrapped__;
 | |
|   if (value instanceof LazyWrapper) {
 | |
|     var wrapped = value;
 | |
|     if (this.__actions__.length) {
 | |
|       wrapped = new LazyWrapper(this);
 | |
|     }
 | |
|     wrapped = wrapped.reverse();
 | |
|     wrapped.__actions__.push({
 | |
|       'func': thru,
 | |
|       'args': [reverse],
 | |
|       'thisArg': undefined
 | |
|     });
 | |
|     return new LodashWrapper(wrapped, this.__chain__);
 | |
|   }
 | |
|   return this.thru(reverse);
 | |
| }
 | |
| 
 | |
| module.exports = wrapperReverse;
 |