UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

42 lines (41 loc) 1.36 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 findIndex() { return purry_1.purry(_findIndex(false), arguments, findIndex.lazy); } exports.findIndex = findIndex; var _findIndex = function (indexed) { return function (array, fn) { if (indexed) { return array.findIndex(fn); } return array.findIndex(function (x) { return fn(x); }); }; }; var _lazy = function (indexed) { return function (fn) { var i = 0; return function (value, index, array) { var valid = indexed ? fn(value, index, array) : fn(value); if (valid) { return { done: true, hasNext: true, next: i, }; } i++; return { done: false, hasNext: false, }; }; }; }; (function (findIndex) { function indexed() { return purry_1.purry(_findIndex(true), arguments, findIndex.lazyIndexed); } findIndex.indexed = indexed; findIndex.lazy = _toSingle_1._toSingle(_lazy(false)); findIndex.lazyIndexed = _toSingle_1._toSingle(_toLazyIndexed_1._toLazyIndexed(_lazy(true))); })(findIndex = exports.findIndex || (exports.findIndex = {}));