diff options
Diffstat (limited to 'node_modules/mongodb/lib/async')
-rw-r--r-- | node_modules/mongodb/lib/async/.eslintrc | 5 | ||||
-rw-r--r-- | node_modules/mongodb/lib/async/async_iterator.js | 33 |
2 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/mongodb/lib/async/.eslintrc b/node_modules/mongodb/lib/async/.eslintrc new file mode 100644 index 0000000..93b2f64 --- /dev/null +++ b/node_modules/mongodb/lib/async/.eslintrc @@ -0,0 +1,5 @@ +{ + "parserOptions": { + "ecmaVersion": 2018 + } +} diff --git a/node_modules/mongodb/lib/async/async_iterator.js b/node_modules/mongodb/lib/async/async_iterator.js new file mode 100644 index 0000000..6021aad --- /dev/null +++ b/node_modules/mongodb/lib/async/async_iterator.js @@ -0,0 +1,33 @@ +'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; |