**`CSVNormalizer` and `CSVDenormalizer` improvements**
- `CSVDenormalizer` will now fallback to the `name` property if `displayName` is not present in a normalized field. This behavior simplifies inserting new columns in custom transformations.
- Explicitly allow the `type` header property to be dropped (it will default to `"string"`). This behavior simplifies configuration for `CSVNormalizer` and also aligns the default normalization behavior to typical CSV parsing default behavior (i.e., parse all fields as literal `string`).
- Fixed a bug where extra header columns provided to `CSVNormalizer` were not dropped.
- Fixed a bug where `CSVNormalizer` was unable to process uneven CSV files (i.e., CSV files where rows have an inconsistent number of fields).
**`CSVTransformer` header behavior change**
`CSVTransformer` will now ignore the `handleHeaders` option if the first row it is transforming is an array of objects (as opposed to an array of strings). This behavior is particularly useful on the interaction between `CSVTransformer` and `CSVNormalizer`, since `CSVNormalizer` will "swallow" the header row and convert the headers into object keys, resulting in an awkward requirement to pass `handleHeaders: true` to transform the first row of *data* after normalization. Now, `CSVTransfomer` will process all normalized data rows by default, which is in line with expectations.
**Other**
More documentation, several test cases, and a new example (4.3) were added to better cover normalization use cases.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAg4OaSdijsW6raSPK3llrsZIEdtk
SQaGaXESF8DcruCNgAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
AAAAQHf3FMBRgdM6pr8u/ScIRAci+LvudMstrkV9HcZGsz2UjGEwZEBoiCCMXqNl9SHF7/
FWKP3YclpLCxwz7dzUnwk=
-----END SSH SIGNATURE-----
This page took 0.033779 seconds and 3 git commands to generate.