UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

35 lines (34 loc) 846 B
import { purry } from './purry'; import { _reduceLazy } from './_reduceLazy'; export function take() { return purry(_take, arguments, take.lazy); } function _take(array, n) { return _reduceLazy(array, take.lazy(n)); } (function (take) { function lazy(n) { return function (value) { if (n === 0) { return { done: true, hasNext: false, }; } n--; if (n === 0) { return { done: true, hasNext: true, next: value, }; } return { done: false, hasNext: true, next: value, }; }; } take.lazy = lazy; })(take || (take = {}));