convert method

String convert(
  1. List<List?>? rows, {
  2. String? fieldDelimiter,
  3. String? textDelimiter,
  4. String? textEndDelimiter,
  5. String? eol,
  6. bool? delimitAllFields,
  7. dynamic convertNullTo,
})

Converts rows -- a List of Lists into a csv String.

According to rfc4180.

fieldDelimiter, textDelimiter, eol and delimitAllFields allow to override the default rfc values. If an optional argument is not given (or null) its corresponding .this value (this.fieldDelimiter, this.textDelimiter or this.eol) is used instead.

All other rfc rules are followed.

If rows is null an empty String is returned.

Implementation

String convert(List<List?>? rows,
    {String? fieldDelimiter,
    String? textDelimiter,
    String? textEndDelimiter,
    String? eol,
    bool? delimitAllFields,
    var convertNullTo}) {
  if (rows == null) return '';

  eol ??= this.eol;

  var sb = StringBuffer();
  String? sep = '';
  rows.forEach((r) {
    sb.write(sep);
    sep = eol;
    convertSingleRow(sb, r,
        fieldDelimiter: fieldDelimiter,
        textDelimiter: textDelimiter,
        textEndDelimiter: textEndDelimiter,
        eol: eol,
        delimitAllFields: delimitAllFields,
        convertNullTo: convertNullTo,
        returnString: false);
  });
  return sb.toString();
}