UNPKG

rdf-dataset-fragmenter

Version:
34 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Fragmenter = void 0; const QuadTransformStream_1 = require("./transform/QuadTransformStream"); /** * Fragments quads from a given source into a given sink. */ class Fragmenter { constructor(options) { this.quadSource = options.quadSource; this.transformers = options.transformers; this.fragmentationStrategy = options.fragmentationStrategy; this.quadSink = options.quadSink; } static getTransformedQuadStream(quadSource, transformers) { const quadStream = quadSource.getQuads(); if (transformers.length > 0) { const transformedQuadStream = new QuadTransformStream_1.QuadTransformStream(transformers); quadStream.on('error', (error) => transformedQuadStream.emit('error', error)); quadStream.pipe(transformedQuadStream); return transformedQuadStream; } return quadStream; } /** * Read quads from a given source, fragment it into the sink, and close the sink. */ async fragment() { await this.fragmentationStrategy.fragment(Fragmenter.getTransformedQuadStream(this.quadSource, this.transformers ?? []), this.quadSink); await this.quadSink.close(); } } exports.Fragmenter = Fragmenter; //# sourceMappingURL=Fragmenter.js.map