1.0.0 • Published 7 years ago

fump v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

Install

$ npm install fump
# OR
$ yarn add fump

Usage

import {
  compose,
  pipe,
  map,
  filter,
  reduce,
  curry,
  flatMap
} from 'fump'

// Do some magic

API

.compose(functions)

The function accepts one or more functions that are applied from right to left on a initial value. It Returns a function that accepts the initial value.

const addFive = (a) => a + 5
const timesTwo = (a) => a * 2

const timesAndAdd = compose(addFive, timesTwo) // => Function

timesAndAdd(10) // => 25

.pipe

The function provides the same functionality as the compose function, but the functions are applied to the initial value from left to right.

.map

Function provides similar functionality to the Array.prototype.map(). It accepts a function as its argument and returns a function that accepts a object or array to map over.

const timesTwo = x => x * 2
const arr = [1, 2, 3, 4]

map(timesTwo)(arr) // => [2, 4, 6, 8]

const addOne = x => x + 1
const obj = {
  0: 1,
  1: 2,
  2: 3,
  length: 3
}

map(addOne)(obj) // => [ 2, 3, 4 ]

.filter

Function provides similar functionality to the Array.prototype.filter(). It accepts a predicate function as its argument and returns a function that accepts a object or array to filter.

const moreThanTwo = x => x > 2
const arr = [1, 2, 3, 4]

filter(moreThanTwo)(arr) // => [ 3, 4 ]

const isEven = x => x % 2 === 0
const obj = {
  0: 1,
  1: 2,
  2: 3,
  3: 4,
  length: 4
}

filter(isEven)(obj) // => [ 2, 4 ]

.reduce

Function provides similar functionality to the Array.prototype.reduce(). It accepts a function as its argument and returns a function that accepts a object or array to reduce.

const add = (a, b) => a + b
const sum = reduce(add)
sum([1, 2, 3]) // => 6

.flatMap

Function provides similar functionality to map, but flattens any of the callbacks returns.

const fill = flatMap(x => new Array(x).fill(x))
fill([1, 2, 3]) // => [ 1, 2, 2, 3, 3, 3 ]

.curry

See learning section for more information about currying.

const add = (a, b) => a + b
const addOne = curry(add)(1)
addOne(5) // => 6

Learning

Articles

Books

Contribute

Contributions are welcome. Please open up an issue or create PR if you would like to help out.

License

MIT