(reader: &mut Reader<R>)
| 8 | type Error = Error; |
| 9 | |
| 10 | fn try_from(reader: &mut Reader<R>) -> Result<Self, Self::Error> { |
| 11 | let records = reader.records(); |
| 12 | let rows = records |
| 13 | .map(|record| Ok(row(&record?))) |
| 14 | .collect::<Result<Vec<RowStruct>, Error>>()?; |
| 15 | |
| 16 | let table = if reader.has_headers() { |
| 17 | let headers = reader.headers()?; |
| 18 | let title: RowStruct = title(headers); |
| 19 | |
| 20 | rows.table().title(title) |
| 21 | } else { |
| 22 | rows.table() |
| 23 | }; |
| 24 | |
| 25 | Ok(table) |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | fn row(record: &StringRecord) -> RowStruct { |