'use strict'; export function mapPromises(promises: {[key: string]: Promise}): Promise<{[key: string]: T}> { var p: Promise[] = []; var ret: {[key: string]: T} = {}; _.forOwn(promises, (v, k) => { p.push(v.then(r => {ret[k] = r;})); }); return Promise.all(p).then(() => ret); }