summaryrefslogtreecommitdiffstats
path: root/src/util.ts
blob: 6ab90ce5517f023dd8f793a74d4a010073457f6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
'use strict';


export function mapPromises<T>(promises: {[key: string]: Promise<T>}): Promise<{[key: string]: T}> {
        var p: Promise<void>[] = [];
        var ret: {[key: string]: T} = {};

        _.forOwn(promises, (v, k) => {
                p.push(v.then(r => {ret[k] = r;}));
        });

        return Promise.all(p).then(() => ret);
}