geninq
Version:
A JavaScript version of the Linq library for Generators
20 lines (19 loc) • 865 B
TypeScript
import { Promised } from "./utils";
declare global {
interface Generator<T = unknown, TReturn = any, TNext = unknown> {
/**
* Computes the average of a sequence of number values.
* @returns The average of the sequence of values.
*/
average(this: Generator<number, TReturn, TNext>): number;
/**
* Computes the average of a sequence of number values that are obtained by invoking a transform function on each element of the input sequence.
* @returns The average of the sequence of values.
*/
average(selector: (item: T) => number): number;
}
interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> {
average(this: AsyncGenerator<number, TReturn, TNext>): number;
average(selector: (item: T) => Promised<number>): Promise<number>;
}
}