packages feed

haskmon 0.2.1.0 → 0.2.2.0

raw patch · 13 files changed

+55/−69 lines, 13 filesdep ~aesondep ~vectorPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aeson, vector

API changes (from Hackage documentation)

+ Haskmon.Types.Internals: EvolutionMega :: EvolutionMethod

Files

haskmon.cabal view
@@ -1,46 +1,49 @@-name:                haskmon-version:             0.2.1.0-synopsis:            A haskell wrapper for PokeAPI.co (www.pokeapi.co)-description:         This is a haskell wrapper for the RESTful api www.pokeapi.co.-                     It defines most of the types and functions in the API.-license:             MIT-license-file:        LICENSE-author:              Pedro Rodriguez-maintainer:          P.J.Rodriguez.T@gmail.com-category:            Web, Game+name: haskmon+version: 0.2.2.0+cabal-version: >=1.10+build-type: Simple+license: MIT+license-file: LICENSE+maintainer: P.J.Rodriguez.T@gmail.com+synopsis: A haskell wrapper for PokeAPI.co (www.pokeapi.co)+description:+    This is a haskell wrapper for the RESTful api www.pokeapi.co.+    It defines most of the types and functions in the API.+category: Web, Game+author: Pedro Rodriguez -build-type:          Simple-cabal-version:       >=1.10+source-repository head+    type: git+    location: https://github.com/pjrt/Haskmon.git  library-  hs-source-dirs:      src-  exposed-modules:     Haskmon,-                       Haskmon.Client,-                       Haskmon.Resource,-                       Haskmon.Types,-                       Haskmon.Types.Internals-  other-modules:-                       Haskmon.Types.Game-                       Haskmon.Types.Move-                       Haskmon.Types.Type-                       Haskmon.Types.Sprite-                       Haskmon.Types.Ability-                       Haskmon.Types.Pokemon-                       Haskmon.Types.MetaData-                       Haskmon.Types.EggGroup-                       Haskmon.Types.Description-                       Haskmon.Types.Evolutions-  build-depends:       base >=4.8 && <4.9,-                       http-streams >=0.8 && < 0.9,-                       bytestring >=0.10.0.2 && < 0.11,-                       io-streams >=1.3 && < 1.4,-                       aeson >=0.8 && < 0.9,-                       time >= 1.5 && < 1.6,-                       vector >=0.10 && < 0.11,-                       containers >=0.5.5.1 && < 0.6-  default-language:    Haskell2010--source-repository head-   type: git-   location: https://github.com/pjrt/Haskmon.git+    exposed-modules:+        Haskmon+        Haskmon.Client+        Haskmon.Resource+        Haskmon.Types+        Haskmon.Types.Internals+    build-depends:+        base >=4.8 && <4.9,+        http-streams ==0.8.*,+        bytestring >=0.10.0.2 && <0.11,+        io-streams ==1.3.*,+        aeson >=0.8 && <0.10,+        time ==1.5.*,+        vector >=0.10 && <0.12,+        containers >=0.5.5.1 && <0.6+    default-language: Haskell2010+    hs-source-dirs: src+    other-modules:+        Haskmon.Types.Game+        Haskmon.Types.Move+        Haskmon.Types.Type+        Haskmon.Types.Sprite+        Haskmon.Types.Ability+        Haskmon.Types.Pokemon+        Haskmon.Types.MetaData+        Haskmon.Types.EggGroup+        Haskmon.Types.Description+        Haskmon.Types.Evolutions+    ghc-options: -Wall 
src/Haskmon/Client.hs view
@@ -14,12 +14,7 @@  import Haskmon.Types import Haskmon.Resource(getResource)-import Data.Word import Data.Aeson(FromJSON)-import Data.List(find)-import Data.Char(toLower)-import Control.Applicative((<$>))-import qualified Data.Traversable as T  type ID = Word 
src/Haskmon/Resource.hs view
@@ -1,15 +1,13 @@ -- Resource getter. Used by everything else module Haskmon.Resource(getResource) where -import Data.Word import Data.Aeson-import Data.Either import Network.Http.Client import qualified Data.ByteString as B import qualified Data.ByteString.Char8 as B8-import Control.Applicative((<$>))  -- | Host of the API+host :: String host = "http://pokeapi.co/"  -- | Uri of the resource
src/Haskmon/Types/Ability.hs view
@@ -3,7 +3,6 @@     I.Ability, I.MetaAbility ) where -import Data.Word import Haskmon.Types.Internals(MetaData, MetaAbility, Ability) import qualified Haskmon.Types.Internals as I 
src/Haskmon/Types/Description.hs view
@@ -3,7 +3,6 @@     I.Description, I.MetaDescription ) where -import Data.Word import Haskmon.Types.Internals(MetaData, MetaPokemon, MetaGame, MetaDescription, Description) import qualified Haskmon.Types.Internals as I 
src/Haskmon/Types/EggGroup.hs view
@@ -3,7 +3,6 @@     I.EggGroup, I.MetaEggGroup ) where -import Data.Word import Haskmon.Types.Internals(MetaData, MetaEggGroup, EggGroup, MetaPokemon) import qualified Haskmon.Types.Internals as I 
src/Haskmon/Types/Game.hs view
@@ -1,6 +1,5 @@ module Haskmon.Types.Game where -import Data.Word import Haskmon.Types.Internals(MetaData, MetaGame, Game) import qualified Haskmon.Types.Internals as I 
src/Haskmon/Types/Internals.hs view
@@ -1,17 +1,11 @@ {-# LANGUAGE OverloadedStrings #-} module Haskmon.Types.Internals where -import Data.Word-import Data.Vector(toList) import Data.Aeson import Data.Aeson.Types import Data.Time.Format import Data.Time.Clock-import Data.List(find) -import Data.Time.Format (parseTimeOrError)--import Control.Applicative import Control.Monad(mzero)  import Haskmon.Resource(getResource)@@ -30,11 +24,12 @@                     convert (v .: "created") <*>                     convert (v .: "modified")               where convert :: Parser String -> Parser UTCTime-                    convert ps = readTime defaultTimeLocale formatStr <$> ps-                    readTime = parseTimeOrError True+                    convert ps = readTime' defaultTimeLocale formatStr <$> ps+                    readTime' = parseTimeOrError True                     formatStr = "%FT%R:%S%Q"  -- Alias for withObject+withO :: Value -> (Object -> Parser a) -> Parser a withO o f = withObject "object" f o  -- }}}@@ -48,7 +43,8 @@   show p = "<Pokedex - " ++ pokedexName p ++ ">"  instance FromJSON MetaPokemon where-  parseJSON (Object o) = MetaPokemon <$> o .: "name" <*> (getResource <$> o .: "resource_uri")+  parseJSON v = withO v $+                \o -> MetaPokemon <$> o .: "name" <*> (getResource <$> o .: "resource_uri")  instance FromJSON Pokedex where   parseJSON (Object o) = Pokedex <$> o .: "name" <*> o .: "pokemon"@@ -119,6 +115,7 @@                      | EvolutionFriendship                      | EvolutionStone                      | EvolutionHappiness+                     | EvolutionMega -- ^ @since 0.2.2.0                      | EvolutionTrade                      | EvolutionOther -- Plain other...no info whatsoever                    deriving Show@@ -135,11 +132,13 @@                       "stone" -> return EvolutionStone                       "level_up" -> EvolutionLevelUp <$> maybe LevelSpecial Level <$> v .:? "level"                       "other" -> go $ v .:? "detail"+                      els -> fail $ "Expected an Evolution type. Got " ++ els                   where go pt = do str <- pt                                    case str of                                     Nothing -> return EvolutionOther-                                    Just "happiness" -> return EvolutionHappiness+                                    Just "happiness"  -> return EvolutionHappiness                                     Just "friendship" -> return EvolutionFriendship+                                    Just "mega"       -> return EvolutionMega                                     Just l -> fail $ "Expected happiness or friendship, got " ++ l  instance FromJSON Evolution where
src/Haskmon/Types/MetaData.hs view
@@ -3,7 +3,6 @@    I.MetaData ) where -import Data.Word import Data.Time.Clock import Haskmon.Types.Internals(MetaData) import qualified Haskmon.Types.Internals as I
src/Haskmon/Types/Move.hs view
@@ -3,7 +3,6 @@     I.Move, I.MetaMove ) where -import Data.Word import Haskmon.Types.Internals(MetaData, MetaMove, Move, MetaMoveLearnType) import qualified Haskmon.Types.Internals as I 
src/Haskmon/Types/Pokemon.hs view
@@ -3,7 +3,6 @@       I.Pokemon, I.Pokedex, I.MetaPokemon ) where -import Data.Word import Haskmon.Types.Internals(MetaData,                                MetaPokemon,                                MetaAbility,
src/Haskmon/Types/Sprite.hs view
@@ -3,7 +3,6 @@     I.Sprite, I.MetaSprite ) where -import Data.Word import Haskmon.Types.Internals(MetaPokemon, MetaSprite, Sprite) import qualified Haskmon.Types.Internals as I 
src/Haskmon/Types/Type.hs view
@@ -3,7 +3,6 @@     I.Type, I.MetaType ) where -import Data.Word import Haskmon.Types.Internals(MetaData, MetaType, Type) import qualified Haskmon.Types.Internals as I