pragmatic-fp-ts
Version:
Opinionated functional programming library with easy use in mind
16 lines (12 loc) • 467 B
text/typescript
import { Mappable } from "./main.ts";
export function times<A>(repeats: number, fn: Mappable<number, A>): A[];
export function times(repeats: number): <A>(fn: Mappable<number, A>) => A[];
export function times<A>(repeats: number, fn?: Mappable<number, A>) {
if (arguments.length === 1)
return (f: Mappable<number, A>) => times(repeats, f);
const result = Array(repeats);
for (let i = 0; i < repeats; ++i) {
result[i] = fn!(i);
}
return result;
}