| "use strict"; |
| |
| var Iteration = require("./iteration"); |
| var ArrayIterator = require("./array-iterator"); |
| |
| module.exports = ObjectIterator; |
| function ObjectIterator(iterable, start, stop, step) { |
| this.object = iterable; |
| this.keysIterator = new ArrayIterator(Object.keys(iterable), start, stop, step); |
| } |
| |
| ObjectIterator.prototype.next = function () { |
| var iteration = this.keysIterator.next(); |
| if (iteration.done) { |
| return iteration; |
| } |
| var key = iteration.value; |
| return new Iteration(this.object[key], false, key); |
| }; |
| |