data-collectors
Version:
A collection of composable reduction operations for arbitrary streams of values
31 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const collector_1 = require("../collector");
const toArray_1 = require("../collections/toArray");
class FilteringCollector extends collector_1.BaseCollector {
constructor(predicate, collector) {
super();
this.predicate = predicate;
this.collector = collector;
}
supply() {
return this.collector.supply();
}
accumulate(container, item) {
if (this.predicate(item)) {
this.collector.accumulate(container, item);
}
}
combine(container1, container2) {
return this.collector.combine(container1, container2);
}
finish(container) {
return this.collector.finish(container);
}
}
exports.FilteringCollector = FilteringCollector;
function filtering(predicate, collector) {
return new FilteringCollector(predicate, collector || toArray_1.toArray());
}
exports.filtering = filtering;
//# sourceMappingURL=filtering.js.map