UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

34 lines (33 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var purry_1 = require("./purry"); var _toLazyIndexed_1 = require("./_toLazyIndexed"); var _toSingle_1 = require("./_toSingle"); function find() { return purry_1.purry(_find(false), arguments, find.lazy); } exports.find = find; var _find = function (indexed) { return function (array, fn) { if (indexed) { return array.find(fn); } return array.find(function (x) { return fn(x); }); }; }; var _lazy = function (indexed) { return function (fn) { return function (value, index, array) { var valid = indexed ? fn(value, index, array) : fn(value); return { done: valid, hasNext: valid, next: value, }; }; }; }; (function (find) { function indexed() { return purry_1.purry(_find(true), arguments, find.lazyIndexed); } find.indexed = indexed; find.lazy = _toSingle_1._toSingle(_lazy(false)); find.lazyIndexed = _toSingle_1._toSingle(_toLazyIndexed_1._toLazyIndexed(_lazy(true))); })(find = exports.find || (exports.find = {}));