1 | import { identityAsync } from '../util/identity';
|
2 | export async function average(source, selector = identityAsync) {
|
3 | let sum = 0;
|
4 | let count = 0;
|
5 | for await (const item of source) {
|
6 | sum += await selector(item);
|
7 | count++;
|
8 | }
|
9 | if (count === 0) {
|
10 | throw new Error('Empty collection');
|
11 | }
|
12 | return sum / count;
|
13 | }
|
14 |
|
15 | //# sourceMappingURL=average.mjs.map
|