Files
react-native-devtools-frontend/node_modules/ramda/es/innerJoin.js
T
Jack Franklin 8b9aa2fca6 Prefer eslint-mocha for linting .only in tests
DISABLE_THIRD_PARTY_CHECK=new npm module causes package-lock change

We can get rid of a custom script and use ESLint for these rules.

Additionally this means editors will highlight the issue in the editor.

Change-Id: I552b52e7f07b4e7430b3f685dbc3b5fad36ffff2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2052167
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2020-02-12 18:12:22 +00:00

45 lines
1.5 KiB
JavaScript

import _includesWith from './internal/_includesWith.js';
import _curry3 from './internal/_curry3.js';
import _filter from './internal/_filter.js';
/**
* Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list
* `xs'` comprising each of the elements of `xs` which is equal to one or more
* elements of `ys` according to `pred`.
*
* `pred` must be a binary function expecting an element from each list.
*
* `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should
* not be significant, but since `xs'` is ordered the implementation guarantees
* that its values are in the same order as they appear in `xs`. Duplicates are
* not removed, so `xs'` may contain duplicates if `xs` contains duplicates.
*
* @func
* @memberOf R
* @since v0.24.0
* @category Relation
* @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a]
* @param {Function} pred
* @param {Array} xs
* @param {Array} ys
* @return {Array}
* @see R.intersection
* @example
*
* R.innerJoin(
* (record, id) => record.id === id,
* [{id: 824, name: 'Richie Furay'},
* {id: 956, name: 'Dewey Martin'},
* {id: 313, name: 'Bruce Palmer'},
* {id: 456, name: 'Stephen Stills'},
* {id: 177, name: 'Neil Young'}],
* [177, 456, 999]
* );
* //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]
*/
var innerJoin = /*#__PURE__*/_curry3(function innerJoin(pred, xs, ys) {
return _filter(function (x) {
return _includesWith(pred, x, ys);
}, xs);
});
export default innerJoin;