rdf-dataset-fragmenter
Version:
Fragments an RDF dataset into multiple parts
25 lines • 975 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FragmentationStrategyComposite = void 0;
const node_stream_1 = require("node:stream");
/**
* A fragmentation strategy that combines multiple strategies.
* This means that all the given strategies will be executed in parallel.
*/
class FragmentationStrategyComposite {
strategies;
constructor(strategies) {
this.strategies = strategies;
}
async fragment(quadStream, quadSink) {
await Promise.all(this.strategies.map((strategy) => {
const clone = new node_stream_1.PassThrough({ objectMode: true });
const ret = strategy.fragment(clone, quadSink);
quadStream.on('error', error => clone.emit('error', error));
quadStream.pipe(clone);
return ret;
}));
}
}
exports.FragmentationStrategyComposite = FragmentationStrategyComposite;
//# sourceMappingURL=FragmentationStrategyComposite.js.map