Releases: jehugaleahsa/FlatFiles
Add .net standard 2.1 support. Add IAsyncEnumerable support.
v4.16.0 Add .net standard 2.1 support. Add IAsyncEnumerable support.
Write header/schema row when WriteAll called.
The behavior of TypedWriter.WriteAll
is somewhat unintuitive when called with no records. The expectation is that the header is written when performing this bulk operation; otherwise, the caller has to explicitly call WriteSchema
beforehand. This slightly changes the behavior of the code, such that it might result in headers/schema being written in cases where the file was blank before. However, when IsFirstRecordSchema
is true
, it is extremely unlikely consumers would expect a blank file to be generated.
During my testing, I also discovered a bug where the schema was getting set, then unset, when the header/schema record was the only record in the file. You should be able to try to Read
the first record of an empty file and get false
back, then get the schema via GetSchema
; however, my code was throwing an InvalidOperationException
or, worse, a NullReferenceException
.
Expose raw record text while parsing
The idea behind this release is to expose the raw text making up a record while parsing via the IRecordContext
interface.
FlatFileDataReader not correctly ignoring ignored columns in several places.
v4.12.0 FlatFileDataReader not correctly ignoring ignored columns in several …
Allow handling unrecognized rows when using schema selectors.
v4.11.0 Handle unrecognized rows using schema selectors.
Allow explicitly writing schema using typed mappers.
v4.10.0 Allow explicitly writing schema using typed writers.
OnParsing, OnParsed, OnFormatting, OnFormatted Exposed
Make OnParsing, OnParsed, OnFormatting, OnFormatted events available to type mappings. Raise events for ignored columns.
Avoid memory leaks within code generation
The code generation code was emitting code for the same types/mappings each time it was called, slowly using of memory. Instead of reusing the same dynamic assembly, a new one is created each time now.
Allow retrieving null instead of DBNull with GetValues.
Allow retrieving null instead of DBNull with GetValues.
Allow disabling quotes within delimited files.
Allow disabling quotes within delimited files.