UNPKG

eris-keys

Version:

a JavaScript client library for eris-keys

30 lines (27 loc) 1.09 kB
var filter = require('./filter'); var juxt = require('./juxt'); var reject = require('./reject'); /** * Takes a predicate and a list or other "filterable" object and returns the * pair of filterable objects of the same type of elements which do and do not * satisfy, the predicate, respectively. * * @func * @memberOf R * @since v0.1.4 * @category List * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a] * @param {Function} pred A predicate to determine which side the element belongs to. * @param {Array} filterable the list (or other filterable) to partition. * @return {Array} An array, containing first the subset of elements that satisfy the * predicate, and second the subset of elements that do not satisfy. * @see R.filter, R.reject * @example * * R.partition(R.contains('s'), ['sss', 'ttt', 'foo', 'bars']); * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ] * * R.partition(R.contains('s'), { a: 'sss', b: 'ttt', foo: 'bars' }); * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ] */ module.exports = juxt([filter, reject]);