freesound-0.2.0: src/Sound/Freesound/Bookmark/Internal.hs
{-# LANGUAGE CPP, OverloadedStrings #-}
module Sound.Freesound.Bookmark.Internal (
Categories(..)
) where
import Control.Monad (mzero)
import Data.Aeson
import Sound.Freesound.Bookmark
#if __GLASGOW_HASKELL__ < 710
import Control.Applicative
#endif
data Categories = Categories {
numCategories :: Int
, categories :: [Category]
} deriving (Eq, Show)
instance FromJSON Categories where
parseJSON (Object v) =
Categories
<$> v .: "num_results"
<*> v .: "categories"
parseJSON _ = mzero