Skip to content

Upgrading csv 6 to 7

Breaking6.0.0 → 7.2.0Breaking1New3Changed1Other1

BreakingUpgrade verdict

1 breaking change.

  • The package has been rewritten from scratch, so the old API is no longer available.
1 item needs code or config changes

Dart SDK requirement changed in 7.0.0: >=2.12.0 <4.0.0 → ^3.10.1.

Breaking1
Complete rewrite of the library, now compatible with dart:convert.
dart:convert

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • removed: class CsvToListConverter extends StreamTransformerBase<String, List> implements ComplexChunkedConverter<String, List<List>>
  • removed: class CsvToListSink implements ChunkedConversionSink<String>
  • removed: class List2CsvSink implements ChunkedConversionSink<List<List>>
  • removed: class ListToCsvConverter extends StreamTransformerBase<List, String> implements ComplexChunkedConverter<List<List>, String>
  • removed: ctor CsvToListConverter( {this.fieldDelimiter = …, String? textDelimiter = …, String? textEndDelimiter, this.eol = …, this.csvSettingsDetector, bool? shouldParseNumbers, bool? allowInvalid, this.convertEmptyTo})
  • removed: ctor CsvToListSink( this._outSink, this._fieldDelimiter, this._textDelimiter, this._textEndDelimiter, this._eol, this._csvSettingsDetector, this._shouldParseNumbers, this._allowInvalid, this._convertEmptyTo)
  • removed: ctor List2CsvSink(this._converter, this._outSink)
  • removed: ctor ListToCsvConverter( {this.fieldDelimiter = …, String textDelimiter = …, String? textEndDelimiter, this.eol = …, this.delimitAllFields = …, this.convertNullTo})
  • removed: enum EmptyValue
  • removed: field CsvCodec.decoder: final CsvToListConverter
  • removed: field CsvCodec.encoder: final ListToCsvConverter
  • removed: field CsvToListConverter.allowInvalid: final bool
  • removed: field CsvToListConverter.convertEmptyTo: final
  • removed: field CsvToListConverter.csvSettingsDetector: final CsvSettingsDetector?
  • removed: field CsvToListConverter.eol: final String?
  • removed: field CsvToListConverter.fieldDelimiter: final String?
  • removed: field CsvToListConverter.shouldParseNumbers: final bool
  • removed: field CsvToListConverter.textDelimiter: final String?
  • removed: field CsvToListConverter.textEndDelimiter: final String?
  • removed: field ListToCsvConverter.convertNullTo: final
  • removed: field ListToCsvConverter.delimitAllFields: final bool
  • removed: field ListToCsvConverter.eol: final String
  • removed: field ListToCsvConverter.fieldDelimiter: final String
  • removed: field ListToCsvConverter.textDelimiter: final String
  • removed: field ListToCsvConverter.textEndDelimiter: final String
  • removed: member EmptyValue.NULL
  • removed: method CsvToListConverter.bind(Stream<String> stream): Stream<List>
  • removed: method CsvToListConverter.convert<E extends dynamic>(String? csv, {String? fieldDelimiter, String? textDelimiter, String? textEndDelimiter, String? eol, CsvSettingsDetector? csvSettingsDetector, bool? shouldParseNumbers, bool? allowInvalid, var convertEmptyTo}): List<List<E>>
  • removed: method CsvToListConverter.startChunkedConversion(Sink outputSink): CsvToListSink
  • removed: method CsvToListConverter.verifyCurrentSettings({bool? throwError}): List<ArgumentError>
  • removed: method CsvToListSink.add(String csvChunk): void
  • removed: method CsvToListSink.close(): void
  • removed: method List2CsvSink.add(List oneRow): void
  • removed: method List2CsvSink.close(): void
  • removed: method ListToCsvConverter.bind(Stream<List> stream): Stream<String>
  • removed: method ListToCsvConverter.convert(List<List?>? rows, {String? fieldDelimiter, String? textDelimiter, String? textEndDelimiter, String? eol, bool? delimitAllFields, var convertNullTo}): String
  • removed: method ListToCsvConverter.convertSingleRow(StringBuffer sb, List? rowValues, {String? fieldDelimiter, String? textDelimiter, String? textEndDelimiter, String? eol, bool? delimitAllFields, var convertNullTo, bool returnString = …}): String?
  • removed: method ListToCsvConverter.startChunkedConversion(Sink<String> outputSink): List2CsvSink
  • removed: static method CsvToListConverter.verifySettings(String? fieldDelimiter, String? textDelimiter, String? textEndDelimiter, String? eol, {bool? throwError}): List<ArgumentError>
  • removed: variable defaultDelimitAllFields: const bool
  • removed: variable defaultEol: const String
  • removed: variable defaultFieldDelimiter: const String
  • removed: variable defaultTextDelimiter: const String
  • changed: class CsvCodec → class CsvCodec extends Codec<List<List<dynamic>>, String>
  • changed: ctor CsvCodec( {String fieldDelimiter = …, String textDelimiter = …, String? textEndDelimiter, String eol = …, bool shouldParseNumbers = …, bool allowInvalid = …, bool delimitAllFields = …, convertNullTo, convertEmptyTo}) → ctor CsvCodec({ String fieldDelimiter = …, String lineDelimiter = …, String quoteCharacter = …, String? escapeCharacter, QuoteMode quoteMode = …, bool addBom = …, bool autoDetect = …, bool skipEmptyLines = …, bool parseHeaders = …, dynamic Function(dynamic field, int index, String? header)? encoderTransform, dynamic Function(dynamic field, int index, String? header)? decoderTransform, bool dynami…
  • added: class CsvDecoder extends Converter<String, List<List<dynamic>>>
  • added: class CsvEncoder extends Converter<List<List<dynamic>>, String>
  • added: class CsvRow extends ListBase<dynamic>
  • added: ctor CsvCodec.excel()
  • added: ctor CsvDecoder({ this.fieldDelimiter, this.quoteCharacter = …, this.escapeCharacter, this.skipEmptyLines = …, this.fieldTransform, this.parseHeaders = …, this.dynamicTyping = …, })
  • added: ctor CsvEncoder({ this.fieldDelimiter = …, this.lineDelimiter = …, this.quoteCharacter = …, String? escapeCharacter, this.quoteMode = …, this.addBom = …, this.fieldTransform, })
  • added: ctor CsvRow(this._fields, this._headerMap)
  • added: enum QuoteMode
  • added: field CsvDecoder.dynamicTyping: final bool
  • added: field CsvDecoder.escapeCharacter: final String?
  • added: field CsvDecoder.fieldDelimiter: final String?
  • added: field CsvDecoder.parseHeaders: final bool
  • added: field CsvDecoder.quoteCharacter: final String
  • added: field CsvDecoder.skipEmptyLines: final bool
  • added: field CsvEncoder.addBom: final bool
  • added: field CsvEncoder.escapeCharacter: final String
  • added: field CsvEncoder.fieldDelimiter: final String
  • added: field CsvEncoder.lineDelimiter: final String
  • added: field CsvEncoder.quoteCharacter: final String
  • added: field CsvEncoder.quoteMode: final QuoteMode
  • added: field CsvRow.[]: void operator
  • added: get CsvCodec.decoder: CsvDecoder
  • added: get CsvCodec.encoder: CsvEncoder
  • added: get CsvRow.headerMap: Map<String, int>
  • added: get CsvRow.length: int
  • added: member QuoteMode.always
  • added: member QuoteMode.necessary
  • added: member QuoteMode.strings
  • added: method CsvCodec.decodeWithHeaders(String encoded): List<CsvRow>
  • added: method CsvDecoder.Function(dynamic field, int index, String? header): dynamic
  • added: method CsvDecoder.convert(String input): List<List<dynamic>>
  • added: method CsvDecoder.startChunkedConversion(Sink<List<List<dynamic>>> sink): StringConversionSink
  • added: method CsvEncoder.Function(dynamic field, int index, String? header): dynamic
  • added: method CsvEncoder.convert(List<List<dynamic>> input): String
  • added: method CsvEncoder.startChunkedConversion( Sink<String> sink, ): ChunkedConversionSink<List<List<dynamic>>>
  • added: method CsvRow.getHeaderName(int index): String?
  • added: method CsvRow.operator [](Object key): dynamic
  • added: method CsvRow.toMap(): Map<String, dynamic>
  • added: set CsvRow.length(int newLength)
  • added: static method CsvEncoder.encodeField( dynamic field, String fieldDelimiter, String quoteCharacter, String escapeCharacter, QuoteMode quoteMode, dynamic Function(dynamic field, int index, String? header)? transform, int index, String? header, ): String
  • added: variable csv: final CsvCodec
  • added: variable excel: final CsvCodec
  • removed: class CsvSettings
  • removed: class CsvSettingsDetector: abstract
  • removed: class FirstOccurrenceSettingsDetector extends CsvSettingsDetector
  • removed: ctor CsvSettings(this.fieldDelimiter, this.textDelimiter, this.textEndDelimiter, this.eol, this.needMoreData)
  • removed: ctor CsvSettingsDetector()
  • removed: ctor FirstOccurrenceSettingsDetector( {this.fieldDelimiters, this.textDelimiters, this.textEndDelimiters, this.eols})
  • removed: field CsvSettings.eol: final String?
  • removed: field CsvSettings.fieldDelimiter: final String?
  • removed: field CsvSettings.needMoreData: final bool?
  • removed: field CsvSettings.textDelimiter: final String?
  • removed: field CsvSettings.textEndDelimiter: final String?
  • removed: field FirstOccurrenceSettingsDetector.eols: final List<String>?
  • removed: field FirstOccurrenceSettingsDetector.fieldDelimiters: final List<String>?
  • removed: field FirstOccurrenceSettingsDetector.textDelimiters: final List<String>?
  • removed: field FirstOccurrenceSettingsDetector.textEndDelimiters: final List<String>?
  • removed: method CsvSettingsDetector.detectFromCsvChunks(List<String?> csvChunks, bool? noMoreChunks): CsvSettings
  • removed: method CsvSettingsDetector.detectFromString(String csv): CsvSettings
  • removed: method FirstOccurrenceSettingsDetector.detectFromString(String csv): CsvSettings