iter-tools-es
Version:
The iterable toolbox
29 lines (23 loc) • 682 B
JavaScript
const {
iterableCurry
} = require('../../internal/iterable.js');
const {
__splitWhen
} = require('../$split-when/split-when.js');
const {
__includes
} = require('../$includes/includes.js');
function __splitOnAny(source, separators, same = Object.is) {
return __splitWhen(source, value => __includes(separators, value, (a, b) => same(b, a)));
}
exports.__splitOnAny = __splitOnAny;
const splitOnAny = /*#__PURE__*/iterableCurry(__splitOnAny, {
minArgs: 1,
maxArgs: 2,
validateArgs(args) {
if (true && typeof args[0] === 'string') {
console.warn(`For string inputs use splitOnAnySeq instead of splitOnAny`);
}
}
});
exports.splitOnAny = splitOnAny;