data-collectors
Version:
A collection of composable reduction operations for arbitrary streams of values
30 lines • 828 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const collector_1 = require("../collector");
class ToSetCollector extends collector_1.BaseCollector {
constructor(supplier) {
super();
this.supplier = supplier;
}
supply() {
return this.supplier();
}
accumulate(container, item) {
container.add(item);
}
combine(container1, container2) {
for (let value of container2) {
this.accumulate(container1, value);
}
return container1;
}
finish(container) {
return container;
}
}
exports.ToSetCollector = ToSetCollector;
function toSet(factory) {
return new ToSetCollector(factory || (() => new Set()));
}
exports.toSet = toSet;
//# sourceMappingURL=toSet.js.map