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