Sha256: e5638f0ebae4c1b507252e150ea8b83d04b5a63a8a5ddc0817bc20243c780405
Contents?: true
Size: 563 Bytes
Versions: 26
Compression:
Stored size: 563 Bytes
Contents
/** * 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 function promiseForObject(object) { return Promise.all(Object.values(object)).then((resolvedValues) => { const resolvedObject = Object.create(null); for (const [i, key] of Object.keys(object).entries()) { resolvedObject[key] = resolvedValues[i]; } return resolvedObject; }); }
Version data entries
26 entries across 26 versions & 1 rubygems