import _ from 'lodash'; export default async function chunkMapReduce( arr: T[], chunkFunc: (chunk: T[]) => Promise, chunkSize: number ): Promise { const chunks = _.chunk(arr, chunkSize); const promises = chunks.map(chunkFunc); return _.flatten(await Promise.all(promises)); }