'use strict'; // async function* asyncIterator() { // while (true) { // const value = await this.next(); // if (!value) { // await this.close(); // return; // } // yield value; // } // } // TODO: change this to the async generator function above function asyncIterator() { const cursor = this; return { next: function() { return Promise.resolve() .then(() => cursor.next()) .then(value => { if (!value) { return cursor.close().then(() => ({ value, done: true })); } return { value, done: false }; }); } }; } exports.asyncIterator = asyncIterator;