iter-tools-es
Version:
The iterable toolbox
32 lines (25 loc) • 737 B
JavaScript
const {
iterableCurry
} = require('../../internal/iterable.js');
const {
__findOr
} = require('../$find-or/find-or.js');
const {
__includes
} = require('../$includes/includes.js');
const none = Symbol('none');
function __includesAny(iterable, values, same = Object.is) {
return __findOr(iterable, none, value => __includes(values, value, (a, b) => same(b, a))) !== none;
}
exports.__includesAny = __includesAny;
const includesAny = /*#__PURE__*/iterableCurry(__includesAny, {
minArgs: 1,
maxArgs: 2,
reduces: true,
validateArgs(args) {
if (true && typeof args[0] === 'string') {
console.warn(`For string inputs use includesAnySeq instead of includesAny`);
}
}
});
exports.includesAny = includesAny;