action-debian-package/node_modules/ramda/es/partition.js

32 lines
1.2 KiB
JavaScript
Raw Normal View History

2020-03-26 14:37:35 +00:00
import filter from "./filter.js";
import juxt from "./juxt.js";
import reject from "./reject.js";
/**
* 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. Filterable objects include plain objects or any object
* that has a filter method such as `Array`.
*
* @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.includes('s'), ['sss', 'ttt', 'foo', 'bars']);
* // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]
*
* R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' });
* // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]
*/
var partition =
/*#__PURE__*/
juxt([filter, reject]);
export default partition;