hackernews 0.2.2.1 → 0.2.2.2
raw patch · 3 files changed
+8/−4 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hackernews.cabal +1/−1
- src/Web/HackerNews/User.hs +2/−2
- src/Web/HackerNews/Util.hs +5/−1
hackernews.cabal view
@@ -1,5 +1,5 @@ name: hackernews-version: 0.2.2.1+version: 0.2.2.2 description: API for news.ycombinator.com license: MIT synopsis: API for Hacker News
src/Web/HackerNews/User.hs view
@@ -8,7 +8,7 @@ import Data.Text (Text) import Data.Time (UTCTime) -import Web.HackerNews.Util (fromSeconds)+import Web.HackerNews.Util (fromSeconds, monoidToMaybe) ------------------------------------------------------------------------------ -- | Types@@ -30,7 +30,7 @@ -- | JSON Instances instance FromJSON User where parseJSON (Object o) =- User <$> o .:? "about"+ User <$> ((monoidToMaybe =<<) <$> (o .:? "about")) <*> (fromSeconds <$> o .: "created") <*> o .: "delay" <*> (UserId <$> o .: "id")
src/Web/HackerNews/Util.hs view
@@ -4,6 +4,7 @@ import Data.Text (Text) import Data.Time.Clock.POSIX (posixSecondsToUTCTime) import Data.Time (UTCTime)+import Data.Monoid (Monoid, mempty) ------------------------------------------------------------------------------ -- | Convert `Integer` to `UTCTime`@@ -15,4 +16,7 @@ toText :: Show a => a -> Text toText = T.pack . show -+-- | Turns empty monoids into Nothing+-- | @Data.Maybe.listToMaybe@ generalized for monoids+monoidToMaybe :: (Eq a, Monoid a) => a -> Maybe a+monoidToMaybe m = if m == mempty then Nothing else Just m