| 
						 | 
						- 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;
 
 
  |