geninq
Version:
A JavaScript version of the Linq library for Generators
34 lines (33 loc) • 1.37 kB
TypeScript
import { Promised } from "./utils";
import "./select";
import "./array";
declare global {
interface Generator<T = unknown, TReturn = any, TNext = unknown> {
/**
* Returns the maximum value in a sequence of number values.
* @returns The maximum value in the sequence.
*/
max(this: Generator<number, TReturn, TNext>): number;
/**
* Invokes a transform function on each element of a generic
* sequence and returns the maximum resulting value.
* @param selector A transform function to apply to each element.
* @returns The maximum value in the sequence.
*/
max(selector: (item: T) => number): number;
}
interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> {
/**
* Returns the maximum value in a sequence of number values.
* @returns The maximum value in the sequence.
*/
max(this: Generator<number, TReturn, TNext>): Promise<number>;
/**
* Invokes a transform function on each element of a generic
* sequence and returns the maximum resulting value.
* @param selector A transform function to apply to each element.
* @returns The maximum value in the sequence.
*/
max(selector: (item: T) => Promised<number>): Promise<number>;
}
}