diff options
Diffstat (limited to 'alarm/node_modules/graphql/jsutils/promiseForObject.js.flow')
-rw-r--r-- | alarm/node_modules/graphql/jsutils/promiseForObject.js.flow | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/alarm/node_modules/graphql/jsutils/promiseForObject.js.flow b/alarm/node_modules/graphql/jsutils/promiseForObject.js.flow deleted file mode 100644 index 5c2c65b..0000000 --- a/alarm/node_modules/graphql/jsutils/promiseForObject.js.flow +++ /dev/null @@ -1,22 +0,0 @@ -// @flow strict -import type { ObjMap } from './ObjMap'; - -/** - * This function transforms a JS object `ObjMap<Promise<T>>` into - * a `Promise<ObjMap<T>>` - * - * This is akin to bluebird's `Promise.props`, but implemented only using - * `Promise.all` so it will work with any implementation of ES6 promises. - */ -export default function promiseForObject<T>( - object: ObjMap<Promise<T>>, -): Promise<ObjMap<T>> { - const keys = Object.keys(object); - const valuesAndPromises = keys.map((name) => object[name]); - return Promise.all(valuesAndPromises).then((values) => - values.reduce((resolvedObject, value, i) => { - resolvedObject[keys[i]] = value; - return resolvedObject; - }, Object.create(null)), - ); -} |