validationt 0.2.0.0 → 0.2.1.0
raw patch · 3 files changed
+36/−10 lines, 3 filesdep ~basedep ~mtl
Dependency ranges changed: base, mtl
Files
- ChangeLog.md +10/−2
- src/Control/Monad/Validation.hs +14/−2
- validationt.cabal +12/−6
ChangeLog.md view
@@ -1,5 +1,13 @@ # Revision history for validationt -## 0.1.0.0 -- YYYY-mm-dd+## 0.2.1.0 -* First version. Released on an unsuspecting world.+* GHC 8.4 support++## 0.2.0.0++* Fixes++## 0.1.0.0++* Initial release
src/Control/Monad/Validation.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-}@@ -47,10 +48,14 @@ instance (Ord k) => At (MonoidMap k v) where at key = _MonoidMap . at key +#if MIN_VERSION_base(4,11,0)+instance (Ord k, Semigroup v) => Semigroup (MonoidMap k v) where+ (<>) = mmAppend+#endif+ instance (Ord k, Monoid v) => Monoid (MonoidMap k v) where mempty = MonoidMap M.empty- mappend (MonoidMap a) (MonoidMap b) =- MonoidMap $ M.unionWith (<>) a b+ mappend = mmAppend instance (ToJSON k, ToJSON v) => ToJSON (MonoidMap k v) where toJSON (MonoidMap m) = toJSON $ L.map toObj $ M.toList m@@ -69,6 +74,13 @@ key <- obj .: "id" val <- obj .: "value" return (key, val)++#if MIN_VERSION_base(4,11,0)+mmAppend :: (Ord k, Semigroup v) => MonoidMap k v -> MonoidMap k v -> MonoidMap k v+#else+mmAppend :: (Ord k, Monoid v) => MonoidMap k v -> MonoidMap k v -> MonoidMap k v+#endif+mmAppend (MonoidMap a) (MonoidMap b) = MonoidMap $ M.unionWith (<>) a b -- | Convenient for 'vZoom' as first artument. Will prevent generation -- of map with 'mempty' values
validationt.cabal view
@@ -2,10 +2,10 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: validationt-version: 0.2.0.0-synopsis: Straightforward validation monad. Convenient solution for validating web forms and APIs.--- description:-homepage: typeable.io+version: 0.2.1.0+synopsis: Straightforward validation monad.+description: Convenient solution for validating web forms and APIs.+homepage: https://github.com/typeable/validationt license: BSD3 license-file: LICENSE author: Typeable.io contributors@@ -15,11 +15,17 @@ build-type: Simple extra-source-files: ChangeLog.md cabal-version: >=1.10+tested-with: GHC == 7.10.3+ , GHC == 8.0.2+ , GHC == 8.2.2+ , GHC == 8.4.1 +source-repository head+ type: git+ location: git@github.com:typeable/validationt.git+ library exposed-modules: Control.Monad.Validation- -- other-modules:- -- other-extensions: build-depends: base >=4.8 && < 5 , aeson >= 1.0 , containers