time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

wrapperReverse.js (1019B)


      1 var LazyWrapper = require('./_LazyWrapper'),
      2     LodashWrapper = require('./_LodashWrapper'),
      3     reverse = require('./reverse'),
      4     thru = require('./thru');
      5 
      6 /**
      7  * This method is the wrapper version of `_.reverse`.
      8  *
      9  * **Note:** This method mutates the wrapped array.
     10  *
     11  * @name reverse
     12  * @memberOf _
     13  * @since 0.1.0
     14  * @category Seq
     15  * @returns {Object} Returns the new `lodash` wrapper instance.
     16  * @example
     17  *
     18  * var array = [1, 2, 3];
     19  *
     20  * _(array).reverse().value()
     21  * // => [3, 2, 1]
     22  *
     23  * console.log(array);
     24  * // => [3, 2, 1]
     25  */
     26 function wrapperReverse() {
     27   var value = this.__wrapped__;
     28   if (value instanceof LazyWrapper) {
     29     var wrapped = value;
     30     if (this.__actions__.length) {
     31       wrapped = new LazyWrapper(this);
     32     }
     33     wrapped = wrapped.reverse();
     34     wrapped.__actions__.push({
     35       'func': thru,
     36       'args': [reverse],
     37       'thisArg': undefined
     38     });
     39     return new LodashWrapper(wrapped, this.__chain__);
     40   }
     41   return this.thru(reverse);
     42 }
     43 
     44 module.exports = wrapperReverse;