• Jump To … +
    IRIs.js N3DataFactory.js N3Lexer.js N3Parser.js N3Store.js N3StreamParser.js N3StreamWriter.js N3Util.js N3Writer.js index.js
  • N3StreamWriter.js

  • §

    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;
      }
    }