github
1278 of 1809 branches covered (70.65%)
Branch coverage included in aggregate %.
912 of 1340 new or added lines in 26 files covered. (68.06%)
1 existing line in 1 file now uncovered.15169 of 19469 relevant lines covered (77.91%)
159.51 hits per line
|
|
export async function eachParallel<T>(times: number, fn: (index: number) => Promise<T>) {
|
|
|
|
const promises = []
|
2✔ |
|
|
for (let i = 0; i < times; i++) { |
|
|
|
promises.push(fn(i)) |
320✔ |
|
|
} |
320✔ |
|
|
|
2✔ |
|
|
return Promise.all(promises)
|
2✔ |
|
|
} |
2✔ |
|
|
|
1✔ |
|
NEW
|
export function pickRandomFromArray<T>(arr: T[]): T {
|
× |
|
NEW
|
return arr[Math.floor(Math.random() * arr.length)]
|
× |
|
NEW
|
} |
× |
|
|
|
1✔ |
|
NEW
|
export function pickRandomRangeFromArray<T>(arr: T[], range: number): T[] {
|
× |
|
NEW
|
if (arr.length <= range) {
|
× |
|
NEW
|
return arr
|
× |
|
NEW
|
} |
× |
|
NEW
|
|
× |
|
NEW
|
const result = new Set<T>() |
× |
|
NEW
|
while (result.size < range) {
|
× |
|
NEW
|
result.add(pickRandomFromArray(arr)) |
× |
|
NEW
|
} |
× |
|
NEW
|
|
× |
|
NEW
|
return Array.from(result)
|
× |
|
NEW
|
} |
× |