1'use strict';
2// 26.1.5 Reflect.enumerate(target)
3var $export = require('./_export');
4var anObject = require('./_an-object');
5var Enumerate = function (iterated) {
6  this._t = anObject(iterated); // target
7  this._i = 0;                  // next index
8  var keys = this._k = [];      // keys
9  var key;
10  for (key in iterated) keys.push(key);
11};
12require('./_iter-create')(Enumerate, 'Object', function () {
13  var that = this;
14  var keys = that._k;
15  var key;
16  do {
17    if (that._i >= keys.length) return { value: undefined, done: true };
18  } while (!((key = keys[that._i++]) in that._t));
19  return { value: key, done: false };
20});
21
22$export($export.S, 'Reflect', {
23  enumerate: function enumerate(target) {
24    return new Enumerate(target);
25  }
26});
27