UNPKG

1.02 kBJavaScriptView Raw
1var 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 */
26function 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
44module.exports = wrapperReverse;