You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
670 B
33 lines
670 B
'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;
|
|
|