geninq
Version:
A JavaScript version of the Linq library for Generators
28 lines (24 loc) • 599 B
text/typescript
import { Build } from "./utils";
declare global {
interface Generator<T = unknown, TReturn = any, TNext = unknown> {
reverse(): Generator<T, TReturn, TNext>;
}
interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> {
reverse(): AsyncGenerator<T, TReturn, TNext>;
}
}
Build(
"reverse",
function* () {
const array = this.array();
for (let i = array.length - 1; i >= 0; i--) {
yield array[i];
}
},
async function* () {
const array = await this.array();
for (let i = array.length - 1; i >= 0; i--) {
yield array[i];
}
}
);