Remove the promises-all dependency in favor of Promise.allSettled.
This commit is contained in:
parent
50fa2ce360
commit
c8ccfd2f49
13
api/package-lock.json
generated
13
api/package-lock.json
generated
@ -808,11 +808,6 @@
|
||||
"integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
|
||||
"dev": true
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.7.2",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
||||
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
|
||||
},
|
||||
"boxen": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
|
||||
@ -3196,14 +3191,6 @@
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
||||
"dev": true
|
||||
},
|
||||
"promises-all": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/promises-all/-/promises-all-1.0.0.tgz",
|
||||
"integrity": "sha1-pDGMuNRWifZzkE4hVg8DI5cCgg8=",
|
||||
"requires": {
|
||||
"bluebird": "^3.4.7"
|
||||
}
|
||||
},
|
||||
"pstree.remy": {
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
"url": "https://jaydenseric.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.0.0 || >= 13.7.0"
|
||||
"node": "^12.9.0 || >= 13.7.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"apollo-server-koa": "^2.13.1",
|
||||
@ -17,7 +17,6 @@
|
||||
"koa": "^2.12.0",
|
||||
"lowdb": "^1.0.0",
|
||||
"mkdirp": "^1.0.4",
|
||||
"promises-all": "^1.0.0",
|
||||
"shortid": "^2.2.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
const { GraphQLUpload } = require('apollo-server-koa');
|
||||
const { GraphQLList, GraphQLObjectType, GraphQLNonNull } = require('graphql');
|
||||
const promisesAll = require('promises-all');
|
||||
const FileType = require('./FileType');
|
||||
|
||||
module.exports = new GraphQLObjectType({
|
||||
@ -29,16 +28,14 @@ module.exports = new GraphQLObjectType({
|
||||
},
|
||||
},
|
||||
async resolve(parent, { files }, { storeUpload }) {
|
||||
const { resolve, reject } = await promisesAll.all(
|
||||
files.map(storeUpload)
|
||||
);
|
||||
|
||||
if (reject.length)
|
||||
reject.forEach(({ name, message }) =>
|
||||
console.error(`${name}: ${message}`)
|
||||
);
|
||||
|
||||
return resolve;
|
||||
// Ensure an error storing one upload doesn’t prevent storing the rest.
|
||||
const results = await Promise.allSettled(files.map(storeUpload));
|
||||
return results.reduce((storedFiles, { value, reason }) => {
|
||||
if (value) storedFiles.push(value);
|
||||
// Realistically you would do more than just log an error.
|
||||
else console.error(`Failed to store upload: ${reason}`);
|
||||
return storedFiles;
|
||||
}, []);
|
||||
},
|
||||
},
|
||||
}),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user