0.0.4 • Published 9 years ago

@reidphilpot/functional v0.0.4

Weekly downloads
1
License
ISC
Repository
github
Last release
9 years ago

@reidphilpot/functional

Functor

If the specified value is a function, returns the specified value. Otherwise, returns a function that returns the specified value

functor('value')()
  //=> 'value'

functor(function() { return 'value' })()
  //=> 'value'

Maybe

maybe reduces the logic of checking for nothing to a function call, either:

function checksForSomething = maybe(function (value) {
  // function's true logic
})

or:

var something = maybe(doesntCheckForSomething)(value)

Negate

Returns a new negated version of the predicate function.

var isFalsy = negate(Boolean)
[-2, -1, 0, 1, 2].filter(isFalsy)
  //=> [0]

Pluck

A convenient version of what is perhaps the most common use-case for map: extracting a list of property values.

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
pluck('name')(stooges)
  //=> '["moe", "larry", "curly"]

Property

Returns a function that will itself return the key property of any passed-in object.

var stooge = {name: 'moe'}
property('name')(stooge)
  //=> "moe"

Also handles nested objects:

var stooge = {name: 'moe', address: { street: 'Broadway'}}
property('address.street')(stooge)
  //=> "Broadway"

Splat

A function that wraps around map and turns any other function into a mapping.

var squareMap = splat(function (n) { 
  return n*n 
});

squareMap([1, 2, 3, 4, 5])
  //=> [1, 4, 9, 16, 25]
0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago