UNPKG

iter-tools-es

Version:
27 lines (22 loc) 547 B
const { iterableCurry } = require('../../internal/iterable.js'); const { __spliterate } = require('../$spliterate/spliterate.js'); function* predicateSpliterator(split, { predicate }, source) { let i = 0; for (const value of source) { yield predicate(value, i++) ? split : value; } } function __splitWhen(source, predicate) { return __spliterate(source, predicateSpliterator, { predicate }); } exports.__splitWhen = __splitWhen; const splitWhen = /*#__PURE__*/iterableCurry(__splitWhen); exports.splitWhen = splitWhen;