func-utils
Utility functions for functional programming in Node.js
Functions
f.arg ( n )
Returns the nth argument on each call.
var second = f; ;// "b"
f.first / f.identity ( void )
Aliases for f.arg(1)
, always returns the first argument on each call.
f.nth ( n[, offset ])
Returns true
on each nth call to the function, and false on every other call.
var evenOnly = f; ; // false; // true; // false; // true var oddOnly = f; ; // true; // false; // true
f.odd / f.even ( void )
Aliases for f.nth(2)
and f.nth(2, 1)
.
var nums = 1 2 3 4 5 6 7; nums;// [1, 3, 5, 7] nums;// [2, 4, 6]
f.iota ([ start[, skip ]])
Returns an increasing value with each call.
var iota = f; ; // 1; // 2; // 3 iota = f; ; // 1; // 3; // 5
f.not ( func )
Returns a new function that calls through to the given function, but returns a negated return value.
var { return true;}; var alwaysFalse = f; ; // true; // false
f.pick ( prop )
Selects a specific named property from objects.
var people = name: 'bob' gender: 'male' age: 23 name: 'sarah' gender: 'female' age: 19; var names = people;// [ "bob", "sarah" ]
f.filterMap ( filter, map )
Filter and map in one iteration using a reduce.
var people = name: 'bob' gender: 'male' age: 23 name: 'sarah' gender: 'female' age: 19 name: 'sally' gender: 'female' age: 25; var { return persongender === 'female';}; var { return personname;}; var girlsNames = people;// [ "sarah", "sally" ]
f.where ( prop, value )
Return true for objects where the object's property prop
matches the given value.
var people = name: 'bob' gender: 'male' age: 23 name: 'sarah' gender: 'female' age: 19 name: 'sally' gender: 'female' age: 25; var girls = people;