summaryrefslogtreecommitdiffstats
path: root/src/util.ts
blob: 0761d2dec85c4665a10bd007ddb5dcfdd987738f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'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);
}

export function arrayToObject(arr: (number|string)[]): {[key: string]: boolean} {
        var ret: {[key: string]: boolean} = {};

        for (let v of arr)
                ret[v] = true;

        return ret;
}