next()

in packages/fbjs/src/core/enumerate.js [176:196]


  next() {
    let len = this._keys.length;
    let index = this._nextIndex;
    let kind = this._kind;
    let key = this._keys[index];

    if (index >= len) {
      this._iteratedObject = undefined;
      return {value: undefined, done: true};
    }

    this._nextIndex = index + 1;

    if (kind === KIND_KEYS) {
      return {value: key, done: false};
    } else if (kind === KIND_VALUES) {
      return {value: this._iteratedObject[key], done: false};
    } else if (kind === KIND_ENTRIES) {
      return {value: [key, this._iteratedObject[key]], done: false};
    }
  }