UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

30 lines (29 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var purry_1 = require("./purry"); var _reduceLazy_1 = require("./_reduceLazy"); var _toLazyIndexed_1 = require("./_toLazyIndexed"); function map() { return purry_1.purry(_map(false), arguments, map.lazy); } exports.map = map; var _map = function (indexed) { return function (array, fn) { return _reduceLazy_1._reduceLazy(array, indexed ? map.lazyIndexed(fn) : map.lazy(fn), indexed); }; }; var _lazy = function (indexed) { return function (fn) { return function (value, index, array) { return { done: false, hasNext: true, next: indexed ? fn(value, index, array) : fn(value), }; }; }; }; (function (map) { function indexed() { return purry_1.purry(_map(true), arguments, map.lazyIndexed); } map.indexed = indexed; map.lazy = _lazy(false); map.lazyIndexed = _toLazyIndexed_1._toLazyIndexed(_lazy(true)); })(map = exports.map || (exports.map = {}));