Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / next.js
1 var toArray = require('./toArray');
2
3 /**
4  * Gets the next value on a wrapped object following the
5  * [iterator protocol](https://mdn.io/iteration_protocols#iterator).
6  *
7  * @name next
8  * @memberOf _
9  * @since 4.0.0
10  * @category Seq
11  * @returns {Object} Returns the next iterator value.
12  * @example
13  *
14  * var wrapped = _([1, 2]);
15  *
16  * wrapped.next();
17  * // => { 'done': false, 'value': 1 }
18  *
19  * wrapped.next();
20  * // => { 'done': false, 'value': 2 }
21  *
22  * wrapped.next();
23  * // => { 'done': true, 'value': undefined }
24  */
25 function wrapperNext() {
26   if (this.__values__ === undefined) {
27     this.__values__ = toArray(this.value());
28   }
29   var done = this.__index__ >= this.__values__.length,
30       value = done ? undefined : this.__values__[this.__index__++];
31
32   return { 'done': done, 'value': value };
33 }
34
35 module.exports = wrapperNext;