From e93da8b04da86773247aadb1cbb1912e4f4526b2 Mon Sep 17 00:00:00 2001 From: Priyansh Date: Tue, 22 Dec 2020 17:49:59 +0530 Subject: Rewriting Project --- .../core-js/modules/esnext.async-iterator.map.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 node_modules/core-js/modules/esnext.async-iterator.map.js (limited to 'node_modules/core-js/modules/esnext.async-iterator.map.js') diff --git a/node_modules/core-js/modules/esnext.async-iterator.map.js b/node_modules/core-js/modules/esnext.async-iterator.map.js new file mode 100644 index 0000000..a5c2a8a --- /dev/null +++ b/node_modules/core-js/modules/esnext.async-iterator.map.js @@ -0,0 +1,30 @@ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { + var state = this; + var mapper = state.mapper; + + return Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { + if (anObject(step).done) { + state.done = true; + return { done: true, value: undefined }; + } + return Promise.resolve(mapper(step.value)).then(function (value) { + return { done: false, value: value }; + }); + }); +}); + +$({ target: 'AsyncIterator', proto: true, real: true }, { + map: function map(mapper) { + return new AsyncIteratorProxy({ + iterator: anObject(this), + mapper: aFunction(mapper) + }); + } +}); -- cgit v1.2.3