Initialisation
Added the packages and files for the backend server
This commit is contained in:
68
node_modules/graphql/execution/mapAsyncIterator.js
generated
vendored
Normal file
68
node_modules/graphql/execution/mapAsyncIterator.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true,
|
||||
});
|
||||
exports.mapAsyncIterator = mapAsyncIterator;
|
||||
|
||||
/**
|
||||
* Given an AsyncIterable and a callback function, return an AsyncIterator
|
||||
* which produces values mapped via calling the callback function.
|
||||
*/
|
||||
function mapAsyncIterator(iterable, callback) {
|
||||
const iterator = iterable[Symbol.asyncIterator]();
|
||||
|
||||
async function mapResult(result) {
|
||||
if (result.done) {
|
||||
return result;
|
||||
}
|
||||
|
||||
try {
|
||||
return {
|
||||
value: await callback(result.value),
|
||||
done: false,
|
||||
};
|
||||
} catch (error) {
|
||||
/* c8 ignore start */
|
||||
// FIXME: add test case
|
||||
if (typeof iterator.return === 'function') {
|
||||
try {
|
||||
await iterator.return();
|
||||
} catch (_e) {
|
||||
/* ignore error */
|
||||
}
|
||||
}
|
||||
|
||||
throw error;
|
||||
/* c8 ignore stop */
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
async next() {
|
||||
return mapResult(await iterator.next());
|
||||
},
|
||||
|
||||
async return() {
|
||||
// If iterator.return() does not exist, then type R must be undefined.
|
||||
return typeof iterator.return === 'function'
|
||||
? mapResult(await iterator.return())
|
||||
: {
|
||||
value: undefined,
|
||||
done: true,
|
||||
};
|
||||
},
|
||||
|
||||
async throw(error) {
|
||||
if (typeof iterator.throw === 'function') {
|
||||
return mapResult(await iterator.throw(error));
|
||||
}
|
||||
|
||||
throw error;
|
||||
},
|
||||
|
||||
[Symbol.asyncIterator]() {
|
||||
return this;
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user