UNPKG

rdf-dataset-fragmenter

Version:
44 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QuadTransformStream = void 0; const node_stream_1 = require("node:stream"); /** * A transform stream that runs quads through an array of transformers. */ class QuadTransformStream extends node_stream_1.Transform { constructor(transformers) { super({ objectMode: true }); this.transformers = transformers; } runTransformers(quad) { let quads = [quad]; for (const transformer of this.transformers) { const newQuads = []; for (const quadIn of quads) { for (const quadOut of transformer.transform(quadIn)) { newQuads.push(quadOut); } } quads = newQuads; } return quads; } // eslint-disable-next-line ts/naming-convention _transform(quad, encoding, callback) { for (const transformedQuad of this.runTransformers(quad)) { this.push(transformedQuad); } callback(); } // eslint-disable-next-line ts/naming-convention _flush(callback) { for (const transformer of this.transformers) { if (transformer.end) { transformer.end(); } } callback(); } } exports.QuadTransformStream = QuadTransformStream; //# sourceMappingURL=QuadTransformStream.js.map