packages feed

rfc 0.0.0.8 → 0.0.0.9

raw patch · 2 files changed

+30/−2 lines, 2 filesdep ~aesonPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aeson

API changes (from Hackage documentation)

Files

rfc.cabal view
@@ -1,5 +1,5 @@ name:                rfc-version:             0.0.0.8+version:             0.0.0.9 synopsis:            Robert Fischer's Common library description:         An enhanced Prelude and various utilities for Aeson, Servant, PSQL, and Redis that Robert Fischer uses. homepage:            https://github.com/RobertFischer/rfc#README.md@@ -35,7 +35,6 @@     if flag(Browser)       ghc-options:     -dedupe   build-depends:       base >= 4.7 && < 5-                     , aeson                      , servant                      , classy-prelude                      , uuid-types@@ -58,9 +57,12 @@                      , vector                      , lifted-async                      , text+  if flag(Browser)+    build-depends:     aeson   if !flag(Browser)     build-depends:     servant-server                      , wai+                     , aeson >= 1.2.3.0                      , wai-extra                      , wai-cors                      , postgresql-simple >= 0.5.3.0
src/RFC/Data/UUID.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE CPP                   #-} {-# LANGUAGE FlexibleInstances     #-} {-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings     #-} {-# LANGUAGE TypeSynonymInstances  #-}  module RFC.Data.UUID@@ -13,12 +14,20 @@ import           Data.UUID.Types import qualified Data.UUID.Types                    as UUID +#if MIN_VERSION_aeson(1,1,0)+-- UUID has ToJSON and FromJSON+#else+import           Data.Aeson.Types+#endif+ #ifndef GHCJS_BROWSER+ import           Database.PostgreSQL.Simple.FromRow import           Database.PostgreSQL.Simple.ToRow import           Database.PostgreSQL.Simple.Types   (Only (..)) #endif + #ifndef GHCJS_BROWSER instance FromRow UUID where   fromRow = do@@ -27,6 +36,23 @@  instance ToRow UUID where   toRow id = toRow $ Only id+#endif++#if MIN_VERSION_aeson(1,1,0)+-- UUID has ToJSON and FromJSON+#else++instance ToJSON UUID where+  toJSON = toJSON . UUID.toText++instance FromJSON UUID where+  parseJSON (String txt) =+    case UUID.fromText txt of+      Nothing   -> fail $ "Invalid UUID: " ++ cs txt+      Just uuid -> return uuid++  parseJSON invalid = typeMismatch "UUID" invalid+ #endif  instance ConvertibleStrings UUID String where