UNPKG

geninq

Version:

A JavaScript version of the Linq library for Generators

20 lines (19 loc) 1.53 kB
import { Promised } from "./utils"; import "./select"; import "./array"; declare global { interface Generator<T = unknown, TReturn = any, TNext = unknown> { order_by(this: Generator<number, TReturn, TNext>, descending?: "descending"): Generator<T, TReturn, TNext>; order_by(this: Generator<string, TReturn, TNext>, descending?: "descending"): Generator<T, TReturn, TNext>; order_by(key_selector: (item: T) => number, descending?: "descending"): Generator<T, TReturn, TNext>; order_by(key_selector: (item: T) => string, descending?: "descending"): Generator<T, TReturn, TNext>; order_by<TKey>(key_selector: (item: T) => TKey, comparitor: (a: TKey, b: TKey) => boolean, descending?: "descending"): Generator<T, TReturn, TNext>; } interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> { order_by(this: AsyncGenerator<number, TReturn, TNext>, descending?: "descending"): AsyncGenerator<T, TReturn, TNext>; order_by(this: AsyncGenerator<string, TReturn, TNext>, descending?: "descending"): AsyncGenerator<T, TReturn, TNext>; order_by(key_selector: (item: T) => Promised<number>, descending?: "descending"): AsyncGenerator<T, TReturn, TNext>; order_by(key_selector: (item: T) => Promised<string>, descending?: "descending"): AsyncGenerator<T, TReturn, TNext>; order_by<TKey>(key_selector: (item: T) => Promised<TKey>, comparitor: (a: TKey, b: TKey) => boolean, descending?: "descending"): AsyncGenerator<T, TReturn, TNext>; } }