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