pushLine(data) {
    const processedData = this.preprocessRow(data);
    
    if (!this._hasWritten) {
      this.opts.fields = this.preprocessFieldsInfo(this.opts.fields || Object.keys(processedData[0]));
      this.pushHeader(this.opts.fields);
    }

    processedData.forEach(row => {
      const line = this.processRow(row, this.opts.fields);
      if (line === undefined) return;
      this.onLine(line);
      this.onData(this._hasWritten ? this.opts.eol + line : line);
      this._hasWritten = true;
    });
  }
Transforms an incoming json data to csv and pushes it downstream.

@param {Object} data JSON object to be converted in a CSV row