docs: function CSVParser(options) {
  
    // Ensure new were used
    if(!(this instanceof CSVParser)) {
      return new CSVParser(options);
    }
  
    // Parent constructor
    Stream.Transform.call(this, {
      objectMode: true
    });
  
    // Setting objectMode separately
    this._writableState.objectMode = false;
    this._readableState.objectMode = true;
  
    // Keep the options
    this.options = checkOptions(options);
  
    // Parsing states
    this._parsingState = CSVParser.STATE_FIELD;
    this._lnSep = '';
    this._discardLn = false;
    this._fSep = '';
    this._discardFSep = false;
    this._escState = '';
    this._escChars = '';
    this._discardEsc = false;
    this._startQuotState = '';
    this._discardStartQuote = false;
    this._endQuotState = '';
    this._discardEndQuot = false;
    // Row/fields states
    this._currentRow = [];
    this._currentField = '';
    // Parser state
    this.lineNum = 1;
    this.charNum = 0;
  }