UNPKG

plura

Version:

Super simple functional programming library

24 lines (21 loc) 602 B
const curry = require('./curry') const { walkArray } = require('./utils/walk') /** * Simple array chain */ const arrayChain = walkArray((fn, element, result, index) => [result.concat(fn(element, index)), false] ) /** * Simple chain * @param {Function} fn - function to change values * @param {Array} array - somthing to fn over * @return {Array} _ - collection applyed with fn * @example * * const duplicate = n => [n, n] * const array = [1, 2] * const reuslt = chain(duplicate, array) */ const chain = curry((fn, collection) => arrayChain(fn, collection, [])) module.exports = chain