ts-prime
Version:
A utility library for JavaScript and Typescript.
30 lines (29 loc) • 1.02 kB
JavaScript
;
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 = {}));