@reactivex/ix-esnext-esm
Version:
The Interactive Extensions for JavaScript
16 lines (14 loc) • 389 B
JavaScript
import { identityAsync } from '../util/identity';
export async function average(source, selector = identityAsync) {
let sum = 0;
let count = 0;
for await (const item of source) {
sum += await selector(item);
count++;
}
if (count === 0) {
throw new Error('Empty collection');
}
return sum / count;
}
//# sourceMappingURL=average.mjs.map