1 var toArray = require('./toArray');
4 * Gets the next value on a wrapped object following the
5 * [iterator protocol](https://mdn.io/iteration_protocols#iterator).
11 * @returns {Object} Returns the next iterator value.
14 * var wrapped = _([1, 2]);
17 * // => { 'done': false, 'value': 1 }
20 * // => { 'done': false, 'value': 2 }
23 * // => { 'done': true, 'value': undefined }
25 function wrapperNext() {
26 if (this.__values__ === undefined) {
27 this.__values__ = toArray(this.value());
29 var done = this.__index__ >= this.__values__.length,
30 value = done ? undefined : this.__values__[this.__index__++];
32 return { 'done': done, 'value': value };
35 module.exports = wrapperNext;