lib/feedjett.js
function FeedJett (options) {
  if (!(this instanceof FeedJett)) {
    return new FeedJett(options);
  }

  TransformStream.call(this);
  this._readableState.objectMode = true;
  this._readableState.highWaterMark = 16; // max. # of output nodes buffered

  this.init();
  this.parseOptions(options);

  sax.MAX_BUFFER_LENGTH = this.options.MAX_BUFFER_LENGTH;
  this.stream = sax.createStream(this.options.strict, {lowercase: true, xmlns: true });
  this.stream.on('processinginstruction', this.onProcessingInstruction.bind(this));
  this.stream.on('attribute', this.onAttribute.bind(this));
  this.stream.on('opentag', this.onOpenTag.bind(this));
  this.stream.on('closetag',this.onCloseTag.bind(this));
  this.stream.on('text', this.onText.bind(this));
  this.stream.on('cdata', this.onText.bind(this));
  this.stream.on('end', this.onEnd.bind(this));
  this.stream.on('error', this.onSaxError.bind(this));
}
function FeedJett (options) {
  if (!(this instanceof FeedJett)) {
    return new FeedJett(options);
  }

  TransformStream.call(this);
  this._readableState.objectMode = true;
  this._readableState.highWaterMark = 16; // max. # of output nodes buffered

  this.init();
  this.parseOptions(options);

  sax.MAX_BUFFER_LENGTH = this.options.MAX_BUFFER_LENGTH;
  this.stream = sax.createStream(this.options.strict, {lowercase: true, xmlns: true });
  this.stream.on('processinginstruction', this.onProcessingInstruction.bind(this));
  this.stream.on('attribute', this.onAttribute.bind(this));
  this.stream.on('opentag', this.onOpenTag.bind(this));
  this.stream.on('closetag',this.onCloseTag.bind(this));
  this.stream.on('text', this.onText.bind(this));
  this.stream.on('cdata', this.onText.bind(this));
  this.stream.on('end', this.onEnd.bind(this));
  this.stream.on('error', this.onSaxError.bind(this));
}
function FeedJett ( options ) { if ( ! ( this instanceof FeedJett ) ) { return new FeedJett ( options ) ; } TransformStream . call ( this ) ; this . _readableState . objectMode = true ; this . _readableState . highWaterMark = 16 ; // max. # of output nodes buffered this . init ( ) ; this . parseOptions ( options ) ; sax . MAX_BUFFER_LENGTH = this . options . MAX_BUFFER_LENGTH ; this . stream = sax . createStream ( this . options . strict , { lowercase : true , xmlns : true } ) ; this . stream . on ( 'processinginstruction' , this . onProcessingInstruction . bind ( this ) ) ; this . stream . on ( 'attribute' , this . onAttribute . bind ( this ) ) ; this . stream . on ( 'opentag' , this . onOpenTag . bind ( this ) ) ; this . stream . on ( 'closetag' , this . onCloseTag . bind ( this ) ) ; this . stream . on ( 'text' , this . onText . bind ( this ) ) ; this . stream . on ( 'cdata' , this . onText . bind ( this ) ) ; this . stream . on ( 'end' , this . onEnd . bind ( this ) ) ; this . stream . on ( 'error' , this . onSaxError . bind ( this ) ) ; }
FeedJett constructor. Most apps will only use one instance.

Exposes a duplex (transform) stream to parse a feed.
FeedJett constructor . Most apps will only use one instance .