UNPKG

geninq

Version:

A JavaScript version of the Linq library for Generators

13 lines (12 loc) 933 B
import { Promised } from "./utils"; import "./select"; declare global { interface Generator<T = unknown, TReturn = any, TNext = unknown> { select_many<TCollection>(selector: (item: T, index: number) => Generator<TCollection>): Generator<TCollection, TReturn, TNext>; select_many<TCollection, TResult>(selector: (item: T, index: number) => Generator<TCollection>, result_selector: (item: T, part: TCollection) => TResult): Generator<TResult, TReturn, TNext>; } interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> { select_many<TCollection>(selector: (item: T, index: number) => AsyncGenerator<TCollection>): AsyncGenerator<TCollection, TReturn, TNext>; select_many<TCollection, TResult>(selector: (item: T, index: number) => AsyncGenerator<TCollection>, result_selector: (item: T, part: TCollection) => Promised<TResult>): AsyncGenerator<TResult, TReturn, TNext>; } }