{-# LANGUAGE OverloadedStrings #-} module Network.Syncthing.Types.Completion ( Completion(..) ) where import Control.Applicative ((<$>)) import Control.Monad (MonadPlus (mzero)) import Data.Aeson (FromJSON, Value (..), parseJSON, (.:)) newtype Completion = Completion { getCompletion :: Int } deriving (Eq, Show) instance FromJSON Completion where parseJSON (Object v) = Completion <$> (v .: "completion") parseJSON _ = mzero