pipes-key-value-csv 0.4.0.0 → 0.4.0.1
raw patch · 2 files changed
+17/−3 lines, 2 filesdep ~bifunctorsdep ~semigroupoidsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: bifunctors, semigroupoids
API changes (from Hackage documentation)
- Pipes.KeyValueCsv.Types: csvOptions :: forall m_awFO f_awFQ g_awFS hs_awFT rs_awFU g_awHb rs_awHc. Lens (Options m_awFO f_awFQ g_awFS hs_awFT rs_awFU) (Options m_awFO f_awFQ g_awHb hs_awFT rs_awHc) (CsvOptions m_awFO g_awFS rs_awFU) (CsvOptions m_awFO g_awHb rs_awHc)
+ Pipes.KeyValueCsv.Types: csvOptions :: forall m_awIv f_awIx g_awIz hs_awIA rs_awIB g_awJS rs_awJT. Lens (Options m_awIv f_awIx g_awIz hs_awIA rs_awIB) (Options m_awIv f_awIx g_awJS hs_awIA rs_awJT) (CsvOptions m_awIv g_awIz rs_awIB) (CsvOptions m_awIv g_awJS rs_awJT)
- Pipes.KeyValueCsv.Types: delimiter :: forall m_awFO f_awFQ g_awFS hs_awFT rs_awFU. Lens' (Options m_awFO f_awFQ g_awFS hs_awFT rs_awFU) Char
+ Pipes.KeyValueCsv.Types: delimiter :: forall m_awIv f_awIx g_awIz hs_awIA rs_awIB. Lens' (Options m_awIv f_awIx g_awIz hs_awIA rs_awIB) Char
- Pipes.KeyValueCsv.Types: kvOptions :: forall m_awFO f_awFQ g_awFS hs_awFT rs_awFU f_awHd hs_awHe. Lens (Options m_awFO f_awFQ g_awFS hs_awFT rs_awFU) (Options m_awFO f_awHd g_awFS hs_awHe rs_awFU) (KeyValueOptions m_awFO f_awFQ hs_awFT) (KeyValueOptions m_awFO f_awHd hs_awHe)
+ Pipes.KeyValueCsv.Types: kvOptions :: forall m_awIv f_awIx g_awIz hs_awIA rs_awIB f_awJU hs_awJV. Lens (Options m_awIv f_awIx g_awIz hs_awIA rs_awIB) (Options m_awIv f_awJU g_awIz hs_awJV rs_awIB) (KeyValueOptions m_awIv f_awIx hs_awIA) (KeyValueOptions m_awIv f_awJU hs_awJV)
- Pipes.KeyValueCsv.Types: predicate :: forall m_awFO f_awFQ g_awFS hs_awFT rs_awFU. Lens' (Options m_awFO f_awFQ g_awFS hs_awFT rs_awFU) (Text -> Bool)
+ Pipes.KeyValueCsv.Types: predicate :: forall m_awIv f_awIx g_awIz hs_awIA rs_awIB. Lens' (Options m_awIv f_awIx g_awIz hs_awIA rs_awIB) (Text -> Bool)
- Pipes.KeyValueCsv.Types.KeyValue: keyNames :: forall m_aumB f_aumD rs_aumE. Lens' (KeyValueOptions m_aumB f_aumD rs_aumE) (Rec (Const Text :: k_aumC -> Type) rs_aumE)
+ Pipes.KeyValueCsv.Types.KeyValue: keyNames :: forall m_aupi f_aupk rs_aupl. Lens' (KeyValueOptions m_aupi f_aupk rs_aupl) (Rec (Const Text :: k_aupj -> Type) rs_aupl)
- Pipes.KeyValueCsv.Types.KeyValue: kvParser :: forall m_aumB f_aumD rs_aumE m_auzr f_auzs. Lens (KeyValueOptions m_aumB f_aumD rs_aumE) (KeyValueOptions m_auzr f_auzs rs_aumE) (Rec (CellParser m_aumB f_aumD :: k_aumC -> Type) rs_aumE) (Rec (CellParser m_auzr f_auzs :: k_aumC -> Type) rs_aumE)
+ Pipes.KeyValueCsv.Types.KeyValue: kvParser :: forall m_aupi f_aupk rs_aupl m_auC8 f_auC9. Lens (KeyValueOptions m_aupi f_aupk rs_aupl) (KeyValueOptions m_auC8 f_auC9 rs_aupl) (Rec (CellParser m_aupi f_aupk :: k_aupj -> Type) rs_aupl) (Rec (CellParser m_auC8 f_auC9 :: k_aupj -> Type) rs_aupl)
Files
- pipes-key-value-csv.cabal +3/−3
- src/Data/Validation.hs +14/−0
pipes-key-value-csv.cabal view
@@ -1,5 +1,5 @@ name: pipes-key-value-csv -version: 0.4.0.0 +version: 0.4.0.1 synopsis: Streaming processing of CSV files preceded by key-value pairs. description: Nonstandard CSV files, with the table preceded by a header consisting of key-value pairs are often the output format of varius test equipment, such as digital oscilloscopes. homepage: https://github.com/marcinmrotek/key-value-csv @@ -37,7 +37,7 @@ , Pipes.KeyValueCsv.Internal.Types , Data.Validation build-depends: base >= 4.8 && < 5 - , bifunctors >= 5.2 && < 5.4 + , bifunctors >= 5.2 && < 5.5 , containers >= 0.5.6 && < 0.6 , data-default-class >= 0.0.1 && < 0.2 , lens >= 4.12 && < 4.15 @@ -49,7 +49,7 @@ , pipes-safe >= 2.2 && < 2.3 , pipes-text >= 0.0 && < 0.1 , reflection >= 1.5 && < 2.2 - , semigroupoids >= 5.0.0 && < 5.1 + , semigroupoids >= 5.0.0 && < 5.2 , text >= 1.2 && < 1.3 , vinyl >= 0.5.2 && < 0.6 , vinyl-utils >= 0.2.0.1 && < 0.4
src/Data/Validation.hs view
@@ -29,6 +29,20 @@ data Validation e a = Success a | Failure e deriving (Show, Eq, Ord, Data, Functor, Foldable, Generic)+ +toEither :: Validation e a -> Either e a+toEither (Success a) = Right a+toEither (Failure e) = Left e++fromEither :: Either e a -> Validation e a+fromEither (Right a) = Success a+fromEither (Left e) = Failure e++_Either :: Iso (Validation e1 a1) (Validation e2 a2) (Either e1 a1) (Either e2 a2)+_Either = iso toEither fromEither++_Validation :: Iso (Either e1 a1) (Either e2 a2) (Validation e1 a1) (Validation e2 a2)+_Validation = iso fromEither toEither instance Semigroup e => Semigroup (Validation e a) where (<>) = app