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