pinboard 0.10.2.0 → 0.10.3.0
raw patch · 4 files changed
+26/−18 lines, 4 filesdep ~aesondep ~http-clientPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, http-client
API changes (from Hackage documentation)
- Pinboard.ApiTypesLens: type Lens_ s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> s -> f t
+ Pinboard.ApiTypesLens: type Lens_ s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t
- Pinboard.ApiTypesLens: type Prism_ s t a b = forall (p :: * -> * -> *) (f :: * -> *). (Choice p, Applicative f) => p a (f b) -> p s (f t)
+ Pinboard.ApiTypesLens: type Prism_ s t a b = forall (p :: Type -> Type -> Type) (f :: Type -> Type). (Choice p, Applicative f) => p a (f b) -> p s (f t)
Files
- changelog.md +3/−0
- pinboard.cabal +6/−6
- src/Pinboard/ApiTypes.hs +9/−7
- src/Pinboard/ApiTypesLens.hs +8/−5
changelog.md view
@@ -1,3 +1,6 @@+__v0.10.3.0+ghc9.0, aeson 2.0+ __v0.10.2.0 update time dependency
pinboard.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack ----- hash: eaf046ffeb948c5457f43992f4074cd5931d51098aed3ec2cac26197374b3ff1+-- hash: cfb12dfa6ca61ff5add72cb940500a794f411ce22776a260ad2d51b29ec5ed81 name: pinboard-version: 0.10.2.0+version: 0.10.3.0 synopsis: Access to the Pinboard API description: . The Pinboard API is a way to interact programatically with@@ -36,14 +36,14 @@ src ghc-options: -Wall -fwarn-incomplete-patterns -funbox-strict-fields -fexpose-all-unfoldings build-depends:- aeson >=0.11.1 && <2.0+ aeson >=2.0 && <3.0 , base >=4.6 && <5.0 , bytestring >=0.10.0 && <0.11 , containers >=0.5.0.0 && <0.7- , http-client >=0.5 && <0.7+ , http-client >=0.5 && <0.8 , http-client-tls >=0.3.0 && <0.4 , http-types >=0.8 && <0.13- , monad-logger >=0.3 && <0.4+ , monad-logger ==0.3.* , mtl >=2.2.1 , network >=2.6.2 && <4 , profunctors >=5
src/Pinboard/ApiTypes.hs view
@@ -16,7 +16,9 @@ import Data.Aeson import Data.Aeson.Types (Parser)-import Data.HashMap.Strict (HashMap, member, toList)+import qualified Data.Aeson.KeyMap as A+import qualified Data.Aeson.Key as A+import Data.HashMap.Strict (HashMap) import Data.Data (Data, Typeable) import Data.Text (Text, words, unwords, unpack, pack) import Data.Time (UTCTime, parseTimeM)@@ -107,8 +109,8 @@ where parseDates :: Value -> [DateCount] parseDates (Object o') = do- (dateStr, String countStr) <- toList o'- return (read (unpack dateStr), read (unpack countStr))+ (dateStr, String countStr) <- A.toList o'+ return (read (A.toString dateStr), read (unpack countStr)) parseDates _ = [] parseJSON _ = fail "bad parse" @@ -121,7 +123,7 @@ ] where dateCountToPair (day, count) =- ((pack . show) day, String $ (pack . show) count)+ ((A.fromString . show) day, String $ (pack . show) count) type DateCount = (Day, Int) @@ -216,7 +218,7 @@ parseJSON = toTags where toTags (Object o) =- return . ToJsonTagMap $ HM.map (\(String s) -> read (unpack s)) o+ return . ToJsonTagMap $ HM.map (\(String s) -> read (unpack s)) $ A.toHashMapText o toTags _ = fail "bad parse" instance ToJSON JsonTagMap where@@ -229,8 +231,8 @@ instance FromJSON Suggested where parseJSON (Object o)- | member "popular" o = Popular <$> (o .: "popular")- | member "recommended" o = Recommended <$> (o .: "recommended")+ | A.member "popular" o = Popular <$> (o .: "popular")+ | A.member "recommended" o = Recommended <$> (o .: "recommended") | otherwise = fail "bad parse" parseJSON _ = fail "bad parse"
src/Pinboard/ApiTypesLens.hs view
@@ -8,6 +8,7 @@ import Data.Text (Text) import Data.Time (UTCTime) import Data.Time.Calendar (Day)+import Data.Kind (Type) import Control.Applicative import Data.Profunctor@@ -17,15 +18,17 @@ -- * Lens Aliases type Lens_' s a = Lens_ s s a a -type Lens_ s t a b = forall (f :: * -> *). Functor f =>- (a -> f b) -> s -> f t+type Lens_ s t a b+ = forall (f :: Type -> Type). Functor f =>+ (a -> f b) -> s -> f t type Prism_' s a = Prism_ s s a a -type Prism_ s t a b = forall (p :: * -> * -> *) (f :: * -> *). (Choice p- ,Applicative f) =>+type Prism_ s t a b+ = forall (p :: Type -> Type -> Type) (f :: Type -> Type). ( Choice p+ , Applicative f+ ) => p a (f b) -> p s (f t)- -- * Posts postsDateL :: Lens_' Posts UTCTime postsDateL f_acx6 (Posts x1_acx7 x2_acx8 x3_acx9) =