[d24f17c] | 1 | import filter from "./filter.js";
|
---|
| 2 | import juxt from "./juxt.js";
|
---|
| 3 | import reject from "./reject.js";
|
---|
| 4 | /**
|
---|
| 5 | * Takes a predicate and a list or other `Filterable` object and returns the
|
---|
| 6 | * pair of filterable objects of the same type of elements which do and do not
|
---|
| 7 | * satisfy, the predicate, respectively. Filterable objects include plain objects or any object
|
---|
| 8 | * that has a filter method such as `Array`.
|
---|
| 9 | *
|
---|
| 10 | * @func
|
---|
| 11 | * @memberOf R
|
---|
| 12 | * @since v0.1.4
|
---|
| 13 | * @category List
|
---|
| 14 | * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]
|
---|
| 15 | * @param {Function} pred A predicate to determine which side the element belongs to.
|
---|
| 16 | * @param {Array} filterable the list (or other filterable) to partition.
|
---|
| 17 | * @return {Array} An array, containing first the subset of elements that satisfy the
|
---|
| 18 | * predicate, and second the subset of elements that do not satisfy.
|
---|
| 19 | * @see R.filter, R.reject
|
---|
| 20 | * @example
|
---|
| 21 | *
|
---|
| 22 | * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']);
|
---|
| 23 | * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]
|
---|
| 24 | *
|
---|
| 25 | * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' });
|
---|
| 26 | * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]
|
---|
| 27 | */
|
---|
| 28 |
|
---|
| 29 | var partition =
|
---|
| 30 | /*#__PURE__*/
|
---|
| 31 | juxt([filter, reject]);
|
---|
| 32 | export default partition; |
---|