The reordering of columns is no technical necessity:
|
makeHeaderWithAdditionalColumns :: [JannoRow] -> Csv.Header |
|
makeHeaderWithAdditionalColumns rows = |
|
V.fromList $ jannoHeader ++ sort (HM.keys (HM.unions (map (getCsvNR . jAdditionalColumns) rows))) |
|
|
|
writeJannoFile :: FilePath -> JannoRows -> IO () |
|
writeJannoFile path (JannoRows rows) = do |
|
let jannoAsBytestring = Csv.encodeByNameWith encodingOptions (makeHeaderWithAdditionalColumns rows) rows |
|
Bch.writeFile path jannoAsBytestring |
We could store the input column order and use it when writing. For forge we would need some sort of associative operation to combine the column orders of different packages.
This is not urgent. But I still think it is worth a look. Would prevent situations such as in #339.
The reordering of columns is no technical necessity:
poseidon-hs/src/Poseidon/Janno.hs
Lines 402 to 409 in d4fe316
We could store the input column order and use it when writing. For
forgewe would need some sort of associative operation to combine the column orders of different packages.This is not urgent. But I still think it is worth a look. Would prevent situations such as in #339.