1234567891011121314151617181920212223242526 |
- 'use strict';
- // 26.1.5 Reflect.enumerate(target)
- var $export = require('./_export')
- , anObject = require('./_an-object');
- var Enumerate = function(iterated){
- this._t = anObject(iterated); // target
- this._i = 0; // next index
- var keys = this._k = [] // keys
- , key;
- for(key in iterated)keys.push(key);
- };
- require('./_iter-create')(Enumerate, 'Object', function(){
- var that = this
- , keys = that._k
- , key;
- do {
- if(that._i >= keys.length)return {value: undefined, done: true};
- } while(!((key = keys[that._i++]) in that._t));
- return {value: key, done: false};
- });
- $export($export.S, 'Reflect', {
- enumerate: function enumerate(target){
- return new Enumerate(target);
- }
- });
|