| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- var baseWrapperValue = require('./_baseWrapperValue'),
 
-     getView = require('./_getView'),
 
-     isArray = require('./isArray');
 
- /** Used to indicate the type of lazy iteratees. */
 
- var LAZY_FILTER_FLAG = 1,
 
-     LAZY_MAP_FLAG = 2;
 
- /* Built-in method references for those with the same name as other `lodash` methods. */
 
- var nativeMin = Math.min;
 
- /**
 
-  * Extracts the unwrapped value from its lazy wrapper.
 
-  *
 
-  * @private
 
-  * @name value
 
-  * @memberOf LazyWrapper
 
-  * @returns {*} Returns the unwrapped value.
 
-  */
 
- function lazyValue() {
 
-   var array = this.__wrapped__.value(),
 
-       dir = this.__dir__,
 
-       isArr = isArray(array),
 
-       isRight = dir < 0,
 
-       arrLength = isArr ? array.length : 0,
 
-       view = getView(0, arrLength, this.__views__),
 
-       start = view.start,
 
-       end = view.end,
 
-       length = end - start,
 
-       index = isRight ? end : (start - 1),
 
-       iteratees = this.__iteratees__,
 
-       iterLength = iteratees.length,
 
-       resIndex = 0,
 
-       takeCount = nativeMin(length, this.__takeCount__);
 
-   if (!isArr || (!isRight && arrLength == length && takeCount == length)) {
 
-     return baseWrapperValue(array, this.__actions__);
 
-   }
 
-   var result = [];
 
-   outer:
 
-   while (length-- && resIndex < takeCount) {
 
-     index += dir;
 
-     var iterIndex = -1,
 
-         value = array[index];
 
-     while (++iterIndex < iterLength) {
 
-       var data = iteratees[iterIndex],
 
-           iteratee = data.iteratee,
 
-           type = data.type,
 
-           computed = iteratee(value);
 
-       if (type == LAZY_MAP_FLAG) {
 
-         value = computed;
 
-       } else if (!computed) {
 
-         if (type == LAZY_FILTER_FLAG) {
 
-           continue outer;
 
-         } else {
 
-           break outer;
 
-         }
 
-       }
 
-     }
 
-     result[resIndex++] = value;
 
-   }
 
-   return result;
 
- }
 
- module.exports = lazyValue;
 
 
  |