1 | "use strict";
|
---|
2 |
|
---|
3 | exports.__esModule = true;
|
---|
4 | exports["default"] = void 0;
|
---|
5 | var _ramda = require("ramda");
|
---|
6 | var _isNotEmpty = _interopRequireDefault(require("./isNotEmpty"));
|
---|
7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
---|
8 | /**
|
---|
9 | * Returns true if two lists have at least one element common to both lists.
|
---|
10 | *
|
---|
11 | * @func overlaps
|
---|
12 | * @memberOf RA
|
---|
13 | * @category Relation
|
---|
14 | * @since {@link https://char0n.github.io/ramda-adjunct/2.30.0|v2.30.0}
|
---|
15 | * @sig [a] -> [a] -> Boolean
|
---|
16 | * @param {Array} list1 The first list
|
---|
17 | * @param {Array} list2 The second list
|
---|
18 | * @return {boolean} True if two lists have at least one element common to both lists
|
---|
19 | * @example
|
---|
20 | *
|
---|
21 | * RA.overlaps(['-v', '--verbose'], ['node', 'script.js', '-v']); //=> true
|
---|
22 | * RA.overlaps(['-v', '--verbose'], []); //=> false
|
---|
23 | * RA.overlaps([1, 2, 3], [3, 4, 5]); //=> true
|
---|
24 | * RA.overlaps([1, 2, 3], [4, 5]); //=> false
|
---|
25 | */
|
---|
26 |
|
---|
27 | var overlaps = (0, _ramda.curryN)(2, function (list1, list2) {
|
---|
28 | if ((0, _ramda.isEmpty)(list1)) {
|
---|
29 | return true;
|
---|
30 | }
|
---|
31 | return (0, _ramda.pipe)(_ramda.intersection, _isNotEmpty["default"])(list1, list2);
|
---|
32 | });
|
---|
33 | var _default = overlaps;
|
---|
34 | exports["default"] = _default; |
---|