module Data.Factual.Query.ResolveQuery
(
ResolveQuery(..)
, ResolveValue(..)
) where
import Data.Factual.Query
import qualified Data.Map as M
import Data.List.Utils (join)
data ResolveValue = ResolveStr String String
| ResolveNum String Double
deriving Eq
instance Show ResolveValue where
show (ResolveStr name str) = (show name) ++ ":" ++ (show str)
show (ResolveNum name num) = (show name) ++ ":" ++ (show num)
data ResolveQuery = ResolveQuery { values :: [ResolveValue]
, debug :: Bool
} deriving Eq
instance Query ResolveQuery where
path _ = "/places/resolve"
params query = M.fromList [("values", valuesString), ("debug", debugString)]
where valuesString = "{" ++ (join "," $ map show $ values query) ++ "}"
debugString = if (debug query) then "true" else "false"