* Filters a list of harnesses on this predicate. * @param harnesses The list of harnesses to filter. * @return A list of harnesses that satisfy this predicate.
(harnesses: T[])
| 676 | * @return A list of harnesses that satisfy this predicate. |
| 677 | */ |
| 678 | async filter(harnesses: T[]): Promise<T[]> { |
| 679 | if (harnesses.length === 0) { |
| 680 | return []; |
| 681 | } |
| 682 | const results = await parallel(() => harnesses.map(h => this.evaluate(h))); |
| 683 | return harnesses.filter((_, i) => results[i]); |
| 684 | } |
| 685 | |
| 686 | /** |
| 687 | * Evaluates whether the given harness satisfies this predicate. |