WIP
This commit is contained in:
29
node_modules/n3/src/N3StreamWriter.js
generated
vendored
Normal file
29
node_modules/n3/src/N3StreamWriter.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
// **N3StreamWriter** serializes a quad stream into a text stream.
|
||||
import { Transform } from 'readable-stream';
|
||||
import N3Writer from './N3Writer';
|
||||
|
||||
// ## Constructor
|
||||
export default class N3StreamWriter extends Transform {
|
||||
constructor(options) {
|
||||
super({ encoding: 'utf8', writableObjectMode: true });
|
||||
|
||||
// Set up writer with a dummy stream object
|
||||
const writer = this._writer = new N3Writer({
|
||||
write: (quad, encoding, callback) => { this.push(quad); callback && callback(); },
|
||||
end: callback => { this.push(null); callback && callback(); },
|
||||
}, options);
|
||||
|
||||
// Implement Transform methods on top of writer
|
||||
this._transform = (quad, encoding, done) => { writer.addQuad(quad, done); };
|
||||
this._flush = done => { writer.end(done); };
|
||||
}
|
||||
|
||||
// ### Serializes a stream of quads
|
||||
import(stream) {
|
||||
stream.on('data', quad => { this.write(quad); });
|
||||
stream.on('end', () => { this.end(); });
|
||||
stream.on('error', error => { this.emit('error', error); });
|
||||
stream.on('prefix', (prefix, iri) => { this._writer.addPrefix(prefix, iri); });
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user