UNPKG

@rikishi/watermelondb

Version:

Build powerful React Native and React web apps that scale from hundreds to tens of thousands of records and remain fast

21 lines (17 loc) 540 B
// @flow type UnpackPromise = <T>(promise: Promise<T>) => T export default function allPromisesObj<T, Key, Spec: { [Key]: Promise<T> }>( promisesObj: Spec, ): Promise<$ObjMap<Spec, UnpackPromise>> { return new Promise((resolve, reject) => { const keys = Object.keys(promisesObj) const len = keys.length Promise.all(Object.values(promisesObj)).then((result) => { const resultObj = {} for (let i = 0; i < len; i++) { resultObj[keys[i]] = result[i] } resolve(resultObj) }, reject) }) }