module Network.Google.CustomSearch.Types.Sum where
import Network.Google.Prelude
data CSEListImgType
= CliPart
| Face
| Lineart
| News
| Photo
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListImgType
instance FromHttpApiData CSEListImgType where
parseQueryParam = \case
"clipart" -> Right CliPart
"face" -> Right Face
"lineart" -> Right Lineart
"news" -> Right News
"photo" -> Right Photo
x -> Left ("Unable to parse CSEListImgType from: " <> x)
instance ToHttpApiData CSEListImgType where
toQueryParam = \case
CliPart -> "clipart"
Face -> "face"
Lineart -> "lineart"
News -> "news"
Photo -> "photo"
instance FromJSON CSEListImgType where
parseJSON = parseJSONText "CSEListImgType"
instance ToJSON CSEListImgType where
toJSON = toJSONText
data CSEListSiteSearchFilter
= E
| I
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListSiteSearchFilter
instance FromHttpApiData CSEListSiteSearchFilter where
parseQueryParam = \case
"e" -> Right E
"i" -> Right I
x -> Left ("Unable to parse CSEListSiteSearchFilter from: " <> x)
instance ToHttpApiData CSEListSiteSearchFilter where
toQueryParam = \case
E -> "e"
I -> "i"
instance FromJSON CSEListSiteSearchFilter where
parseJSON = parseJSONText "CSEListSiteSearchFilter"
instance ToJSON CSEListSiteSearchFilter where
toJSON = toJSONText
data CSEListImgDominantColor
= Black
| Blue
| Brown
| Gray
| Green
| Pink
| Purple
| Teal
| White
| Yellow
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListImgDominantColor
instance FromHttpApiData CSEListImgDominantColor where
parseQueryParam = \case
"black" -> Right Black
"blue" -> Right Blue
"brown" -> Right Brown
"gray" -> Right Gray
"green" -> Right Green
"pink" -> Right Pink
"purple" -> Right Purple
"teal" -> Right Teal
"white" -> Right White
"yellow" -> Right Yellow
x -> Left ("Unable to parse CSEListImgDominantColor from: " <> x)
instance ToHttpApiData CSEListImgDominantColor where
toQueryParam = \case
Black -> "black"
Blue -> "blue"
Brown -> "brown"
Gray -> "gray"
Green -> "green"
Pink -> "pink"
Purple -> "purple"
Teal -> "teal"
White -> "white"
Yellow -> "yellow"
instance FromJSON CSEListImgDominantColor where
parseJSON = parseJSONText "CSEListImgDominantColor"
instance ToJSON CSEListImgDominantColor where
toJSON = toJSONText
data CSEListSafe
= High
| Medium
| Off
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListSafe
instance FromHttpApiData CSEListSafe where
parseQueryParam = \case
"high" -> Right High
"medium" -> Right Medium
"off" -> Right Off
x -> Left ("Unable to parse CSEListSafe from: " <> x)
instance ToHttpApiData CSEListSafe where
toQueryParam = \case
High -> "high"
Medium -> "medium"
Off -> "off"
instance FromJSON CSEListSafe where
parseJSON = parseJSONText "CSEListSafe"
instance ToJSON CSEListSafe where
toJSON = toJSONText
data CSEListImgColorType
= CSELICTColor
| CSELICTGray
| CSELICTMono
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListImgColorType
instance FromHttpApiData CSEListImgColorType where
parseQueryParam = \case
"color" -> Right CSELICTColor
"gray" -> Right CSELICTGray
"mono" -> Right CSELICTMono
x -> Left ("Unable to parse CSEListImgColorType from: " <> x)
instance ToHttpApiData CSEListImgColorType where
toQueryParam = \case
CSELICTColor -> "color"
CSELICTGray -> "gray"
CSELICTMono -> "mono"
instance FromJSON CSEListImgColorType where
parseJSON = parseJSONText "CSEListImgColorType"
instance ToJSON CSEListImgColorType where
toJSON = toJSONText
data CSEListFilter
= CSELF0
| CSELF1
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListFilter
instance FromHttpApiData CSEListFilter where
parseQueryParam = \case
"0" -> Right CSELF0
"1" -> Right CSELF1
x -> Left ("Unable to parse CSEListFilter from: " <> x)
instance ToHttpApiData CSEListFilter where
toQueryParam = \case
CSELF0 -> "0"
CSELF1 -> "1"
instance FromJSON CSEListFilter where
parseJSON = parseJSONText "CSEListFilter"
instance ToJSON CSEListFilter where
toJSON = toJSONText
data CSEListLr
= LangAr
| LangBg
| LangCa
| LangCs
| LangDa
| LangDe
| LangEl
| LangEn
| LangEs
| LangEt
| LangFi
| LangFr
| LangHr
| LangHu
| LangId
| LangIs
| LangIt
| LangIw
| LangJa
| LangKo
| LangLT
| LangLv
| LangNl
| LangNo
| LangPl
| LangPt
| LangRo
| LangRu
| LangSk
| LangSl
| LangSr
| LangSv
| LangTr
| LangZhCn
| LangZhTw
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListLr
instance FromHttpApiData CSEListLr where
parseQueryParam = \case
"lang_ar" -> Right LangAr
"lang_bg" -> Right LangBg
"lang_ca" -> Right LangCa
"lang_cs" -> Right LangCs
"lang_da" -> Right LangDa
"lang_de" -> Right LangDe
"lang_el" -> Right LangEl
"lang_en" -> Right LangEn
"lang_es" -> Right LangEs
"lang_et" -> Right LangEt
"lang_fi" -> Right LangFi
"lang_fr" -> Right LangFr
"lang_hr" -> Right LangHr
"lang_hu" -> Right LangHu
"lang_id" -> Right LangId
"lang_is" -> Right LangIs
"lang_it" -> Right LangIt
"lang_iw" -> Right LangIw
"lang_ja" -> Right LangJa
"lang_ko" -> Right LangKo
"lang_lt" -> Right LangLT
"lang_lv" -> Right LangLv
"lang_nl" -> Right LangNl
"lang_no" -> Right LangNo
"lang_pl" -> Right LangPl
"lang_pt" -> Right LangPt
"lang_ro" -> Right LangRo
"lang_ru" -> Right LangRu
"lang_sk" -> Right LangSk
"lang_sl" -> Right LangSl
"lang_sr" -> Right LangSr
"lang_sv" -> Right LangSv
"lang_tr" -> Right LangTr
"lang_zh-CN" -> Right LangZhCn
"lang_zh-TW" -> Right LangZhTw
x -> Left ("Unable to parse CSEListLr from: " <> x)
instance ToHttpApiData CSEListLr where
toQueryParam = \case
LangAr -> "lang_ar"
LangBg -> "lang_bg"
LangCa -> "lang_ca"
LangCs -> "lang_cs"
LangDa -> "lang_da"
LangDe -> "lang_de"
LangEl -> "lang_el"
LangEn -> "lang_en"
LangEs -> "lang_es"
LangEt -> "lang_et"
LangFi -> "lang_fi"
LangFr -> "lang_fr"
LangHr -> "lang_hr"
LangHu -> "lang_hu"
LangId -> "lang_id"
LangIs -> "lang_is"
LangIt -> "lang_it"
LangIw -> "lang_iw"
LangJa -> "lang_ja"
LangKo -> "lang_ko"
LangLT -> "lang_lt"
LangLv -> "lang_lv"
LangNl -> "lang_nl"
LangNo -> "lang_no"
LangPl -> "lang_pl"
LangPt -> "lang_pt"
LangRo -> "lang_ro"
LangRu -> "lang_ru"
LangSk -> "lang_sk"
LangSl -> "lang_sl"
LangSr -> "lang_sr"
LangSv -> "lang_sv"
LangTr -> "lang_tr"
LangZhCn -> "lang_zh-CN"
LangZhTw -> "lang_zh-TW"
instance FromJSON CSEListLr where
parseJSON = parseJSONText "CSEListLr"
instance ToJSON CSEListLr where
toJSON = toJSONText
data CSEListSearchType
= Image
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListSearchType
instance FromHttpApiData CSEListSearchType where
parseQueryParam = \case
"image" -> Right Image
x -> Left ("Unable to parse CSEListSearchType from: " <> x)
instance ToHttpApiData CSEListSearchType where
toQueryParam = \case
Image -> "image"
instance FromJSON CSEListSearchType where
parseJSON = parseJSONText "CSEListSearchType"
instance ToJSON CSEListSearchType where
toJSON = toJSONText
data CSEListImgSize
= CSELISHuge
| CSELISIcon
| CSELISLarge
| CSELISMedium
| CSELISSmall
| CSELISXlarge
| CSELISXxlarge
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CSEListImgSize
instance FromHttpApiData CSEListImgSize where
parseQueryParam = \case
"huge" -> Right CSELISHuge
"icon" -> Right CSELISIcon
"large" -> Right CSELISLarge
"medium" -> Right CSELISMedium
"small" -> Right CSELISSmall
"xlarge" -> Right CSELISXlarge
"xxlarge" -> Right CSELISXxlarge
x -> Left ("Unable to parse CSEListImgSize from: " <> x)
instance ToHttpApiData CSEListImgSize where
toQueryParam = \case
CSELISHuge -> "huge"
CSELISIcon -> "icon"
CSELISLarge -> "large"
CSELISMedium -> "medium"
CSELISSmall -> "small"
CSELISXlarge -> "xlarge"
CSELISXxlarge -> "xxlarge"
instance FromJSON CSEListImgSize where
parseJSON = parseJSONText "CSEListImgSize"
instance ToJSON CSEListImgSize where
toJSON = toJSONText