summaryrefslogtreecommitdiffstats
path: root/src/util.ts
blob: ad2b4826f032e14f65007d33827fd4ea7f333503 (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 numberArrayToMap(arr: number[]): {[key: number]: boolean} {
        var ret: {[key: number]: boolean} = {};

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

        return ret;
}