api-builder-0.2.0.0: src/Network/API/Builder/Query.hs
module Network.API.Builder.Query where
import Data.Maybe
import Data.Text (Text)
import qualified Data.Text as Text
class ToQuery a where
toQuery :: a -> Maybe Text
instance ToQuery Integer where
toQuery = Just . Text.pack . show
instance ToQuery Bool where
toQuery True = Just "true"
toQuery False = Just "false"
instance ToQuery Int where
toQuery = Just . Text.pack . show
instance ToQuery Text where
toQuery = Just
instance ToQuery a => ToQuery (Maybe a) where
toQuery (Just a) = toQuery a
toQuery Nothing = Nothing
instance ToQuery a => ToQuery [a] where
toQuery [] = Nothing
toQuery xs = Just $ Text.intercalate "," $ mapMaybe toQuery xs