{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
module Data.EBird.Client.Taxonomy where
import Data.Default
import Data.Text
import Optics.TH
import Servant.Client
import Data.EBird.API
import Data.EBird.Client.Generated
taxonomy
:: TaxonomyParams
-> ClientM [Taxon]
taxonomy :: TaxonomyParams -> ClientM [Taxon]
taxonomy TaxonomyParams{Maybe Text
Maybe TaxonomyCategories
Maybe SpeciesCodes
Maybe SPPLocale
_taxonomyParamsCategories :: Maybe TaxonomyCategories
_taxonomyParamsLocale :: Maybe SPPLocale
_taxonomyParamsSpecies :: Maybe SpeciesCodes
_taxonomyParamsVersion :: Maybe Text
_taxonomyParamsCategories :: TaxonomyParams -> Maybe TaxonomyCategories
_taxonomyParamsLocale :: TaxonomyParams -> Maybe SPPLocale
_taxonomyParamsSpecies :: TaxonomyParams -> Maybe SpeciesCodes
_taxonomyParamsVersion :: TaxonomyParams -> Maybe Text
..} =
Maybe TaxonomyCategories
-> Maybe CSVOrJSONFormat
-> Maybe SPPLocale
-> Maybe SpeciesCodes
-> Maybe Text
-> ClientM [Taxon]
taxonomy_
Maybe TaxonomyCategories
_taxonomyParamsCategories
(CSVOrJSONFormat -> Maybe CSVOrJSONFormat
forall a. a -> Maybe a
Just CSVOrJSONFormat
JSONFormat)
Maybe SPPLocale
_taxonomyParamsLocale
Maybe SpeciesCodes
_taxonomyParamsSpecies
Maybe Text
_taxonomyParamsVersion
data TaxonomyParams =
TaxonomyParams
{
TaxonomyParams -> Maybe TaxonomyCategories
_taxonomyParamsCategories :: Maybe TaxonomyCategories
, TaxonomyParams -> Maybe SPPLocale
_taxonomyParamsLocale :: Maybe SPPLocale
, TaxonomyParams -> Maybe SpeciesCodes
_taxonomyParamsSpecies :: Maybe SpeciesCodes
, TaxonomyParams -> Maybe Text
_taxonomyParamsVersion :: Maybe Text
}
deriving (Int -> TaxonomyParams -> ShowS
[TaxonomyParams] -> ShowS
TaxonomyParams -> String
(Int -> TaxonomyParams -> ShowS)
-> (TaxonomyParams -> String)
-> ([TaxonomyParams] -> ShowS)
-> Show TaxonomyParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TaxonomyParams -> ShowS
showsPrec :: Int -> TaxonomyParams -> ShowS
$cshow :: TaxonomyParams -> String
show :: TaxonomyParams -> String
$cshowList :: [TaxonomyParams] -> ShowS
showList :: [TaxonomyParams] -> ShowS
Show, ReadPrec [TaxonomyParams]
ReadPrec TaxonomyParams
Int -> ReadS TaxonomyParams
ReadS [TaxonomyParams]
(Int -> ReadS TaxonomyParams)
-> ReadS [TaxonomyParams]
-> ReadPrec TaxonomyParams
-> ReadPrec [TaxonomyParams]
-> Read TaxonomyParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS TaxonomyParams
readsPrec :: Int -> ReadS TaxonomyParams
$creadList :: ReadS [TaxonomyParams]
readList :: ReadS [TaxonomyParams]
$creadPrec :: ReadPrec TaxonomyParams
readPrec :: ReadPrec TaxonomyParams
$creadListPrec :: ReadPrec [TaxonomyParams]
readListPrec :: ReadPrec [TaxonomyParams]
Read, TaxonomyParams -> TaxonomyParams -> Bool
(TaxonomyParams -> TaxonomyParams -> Bool)
-> (TaxonomyParams -> TaxonomyParams -> Bool) -> Eq TaxonomyParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TaxonomyParams -> TaxonomyParams -> Bool
== :: TaxonomyParams -> TaxonomyParams -> Bool
$c/= :: TaxonomyParams -> TaxonomyParams -> Bool
/= :: TaxonomyParams -> TaxonomyParams -> Bool
Eq)
defaultTaxonomyParams :: TaxonomyParams
defaultTaxonomyParams :: TaxonomyParams
defaultTaxonomyParams =
TaxonomyParams
{ _taxonomyParamsCategories :: Maybe TaxonomyCategories
_taxonomyParamsCategories = Maybe TaxonomyCategories
forall a. Maybe a
Nothing
, _taxonomyParamsLocale :: Maybe SPPLocale
_taxonomyParamsLocale = Maybe SPPLocale
forall a. Maybe a
Nothing
, _taxonomyParamsSpecies :: Maybe SpeciesCodes
_taxonomyParamsSpecies = Maybe SpeciesCodes
forall a. Maybe a
Nothing
, _taxonomyParamsVersion :: Maybe Text
_taxonomyParamsVersion = Maybe Text
forall a. Maybe a
Nothing
}
instance Default TaxonomyParams where
def :: TaxonomyParams
def = TaxonomyParams
defaultTaxonomyParams
makeLenses ''TaxonomyParams
makeFieldLabels ''TaxonomyParams
taxonomicForms
:: Text
-> SpeciesCode
-> ClientM SpeciesCodes
taxonomicForms :: Text -> SpeciesCode -> ClientM SpeciesCodes
taxonomicForms = Text -> SpeciesCode -> ClientM SpeciesCodes
taxonomicForms_
taxaLocaleCodes
:: Text
-> TaxaLocaleCodesParams
-> ClientM [SPPLocaleListEntry]
taxaLocaleCodes :: Text -> TaxaLocaleCodesParams -> ClientM [SPPLocaleListEntry]
taxaLocaleCodes Text
k TaxaLocaleCodesParams{Maybe SPPLocale
_taxaLocaleCodesParamsLocale :: Maybe SPPLocale
_taxaLocaleCodesParamsLocale :: TaxaLocaleCodesParams -> Maybe SPPLocale
..} =
Text -> Maybe SPPLocale -> ClientM [SPPLocaleListEntry]
taxaLocaleCodes_ Text
k Maybe SPPLocale
_taxaLocaleCodesParamsLocale
newtype TaxaLocaleCodesParams =
TaxaLocaleCodesParams
{
TaxaLocaleCodesParams -> Maybe SPPLocale
_taxaLocaleCodesParamsLocale :: Maybe SPPLocale
}
deriving (Int -> TaxaLocaleCodesParams -> ShowS
[TaxaLocaleCodesParams] -> ShowS
TaxaLocaleCodesParams -> String
(Int -> TaxaLocaleCodesParams -> ShowS)
-> (TaxaLocaleCodesParams -> String)
-> ([TaxaLocaleCodesParams] -> ShowS)
-> Show TaxaLocaleCodesParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TaxaLocaleCodesParams -> ShowS
showsPrec :: Int -> TaxaLocaleCodesParams -> ShowS
$cshow :: TaxaLocaleCodesParams -> String
show :: TaxaLocaleCodesParams -> String
$cshowList :: [TaxaLocaleCodesParams] -> ShowS
showList :: [TaxaLocaleCodesParams] -> ShowS
Show, ReadPrec [TaxaLocaleCodesParams]
ReadPrec TaxaLocaleCodesParams
Int -> ReadS TaxaLocaleCodesParams
ReadS [TaxaLocaleCodesParams]
(Int -> ReadS TaxaLocaleCodesParams)
-> ReadS [TaxaLocaleCodesParams]
-> ReadPrec TaxaLocaleCodesParams
-> ReadPrec [TaxaLocaleCodesParams]
-> Read TaxaLocaleCodesParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS TaxaLocaleCodesParams
readsPrec :: Int -> ReadS TaxaLocaleCodesParams
$creadList :: ReadS [TaxaLocaleCodesParams]
readList :: ReadS [TaxaLocaleCodesParams]
$creadPrec :: ReadPrec TaxaLocaleCodesParams
readPrec :: ReadPrec TaxaLocaleCodesParams
$creadListPrec :: ReadPrec [TaxaLocaleCodesParams]
readListPrec :: ReadPrec [TaxaLocaleCodesParams]
Read, TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool
(TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool)
-> (TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool)
-> Eq TaxaLocaleCodesParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool
== :: TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool
$c/= :: TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool
/= :: TaxaLocaleCodesParams -> TaxaLocaleCodesParams -> Bool
Eq)
defaultTaxaLocaleCodesParams :: TaxaLocaleCodesParams
defaultTaxaLocaleCodesParams :: TaxaLocaleCodesParams
defaultTaxaLocaleCodesParams =
TaxaLocaleCodesParams
{ _taxaLocaleCodesParamsLocale :: Maybe SPPLocale
_taxaLocaleCodesParamsLocale = Maybe SPPLocale
forall a. Maybe a
Nothing
}
instance Default TaxaLocaleCodesParams where
def :: TaxaLocaleCodesParams
def = TaxaLocaleCodesParams
defaultTaxaLocaleCodesParams
makeLenses ''TaxaLocaleCodesParams
makeFieldLabels ''TaxaLocaleCodesParams
taxonomyVersions :: ClientM [TaxonomyVersionListEntry]
taxonomyVersions :: ClientM [TaxonomyVersionListEntry]
taxonomyVersions = ClientM [TaxonomyVersionListEntry]
taxonomyVersions_
taxonomicGroups
:: SPPGrouping
-> TaxonomicGroupsParams
-> ClientM [TaxonomicGroupListEntry]
taxonomicGroups :: SPPGrouping
-> TaxonomicGroupsParams -> ClientM [TaxonomicGroupListEntry]
taxonomicGroups SPPGrouping
r TaxonomicGroupsParams{Maybe SPPLocale
_taxonomicGroupsParamsLocale :: Maybe SPPLocale
_taxonomicGroupsParamsLocale :: TaxonomicGroupsParams -> Maybe SPPLocale
..} =
SPPGrouping -> Maybe SPPLocale -> ClientM [TaxonomicGroupListEntry]
taxonomicGroups_ SPPGrouping
r Maybe SPPLocale
_taxonomicGroupsParamsLocale
newtype TaxonomicGroupsParams =
TaxonomicGroupsParams
{
TaxonomicGroupsParams -> Maybe SPPLocale
_taxonomicGroupsParamsLocale :: Maybe SPPLocale
}
deriving (Int -> TaxonomicGroupsParams -> ShowS
[TaxonomicGroupsParams] -> ShowS
TaxonomicGroupsParams -> String
(Int -> TaxonomicGroupsParams -> ShowS)
-> (TaxonomicGroupsParams -> String)
-> ([TaxonomicGroupsParams] -> ShowS)
-> Show TaxonomicGroupsParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TaxonomicGroupsParams -> ShowS
showsPrec :: Int -> TaxonomicGroupsParams -> ShowS
$cshow :: TaxonomicGroupsParams -> String
show :: TaxonomicGroupsParams -> String
$cshowList :: [TaxonomicGroupsParams] -> ShowS
showList :: [TaxonomicGroupsParams] -> ShowS
Show, ReadPrec [TaxonomicGroupsParams]
ReadPrec TaxonomicGroupsParams
Int -> ReadS TaxonomicGroupsParams
ReadS [TaxonomicGroupsParams]
(Int -> ReadS TaxonomicGroupsParams)
-> ReadS [TaxonomicGroupsParams]
-> ReadPrec TaxonomicGroupsParams
-> ReadPrec [TaxonomicGroupsParams]
-> Read TaxonomicGroupsParams
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS TaxonomicGroupsParams
readsPrec :: Int -> ReadS TaxonomicGroupsParams
$creadList :: ReadS [TaxonomicGroupsParams]
readList :: ReadS [TaxonomicGroupsParams]
$creadPrec :: ReadPrec TaxonomicGroupsParams
readPrec :: ReadPrec TaxonomicGroupsParams
$creadListPrec :: ReadPrec [TaxonomicGroupsParams]
readListPrec :: ReadPrec [TaxonomicGroupsParams]
Read, TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool
(TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool)
-> (TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool)
-> Eq TaxonomicGroupsParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool
== :: TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool
$c/= :: TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool
/= :: TaxonomicGroupsParams -> TaxonomicGroupsParams -> Bool
Eq)
defaultTaxonomicGroupsParams :: TaxonomicGroupsParams
defaultTaxonomicGroupsParams :: TaxonomicGroupsParams
defaultTaxonomicGroupsParams =
TaxonomicGroupsParams
{ _taxonomicGroupsParamsLocale :: Maybe SPPLocale
_taxonomicGroupsParamsLocale = Maybe SPPLocale
forall a. Maybe a
Nothing
}
instance Default TaxonomicGroupsParams where
def :: TaxonomicGroupsParams
def = TaxonomicGroupsParams
defaultTaxonomicGroupsParams
makeLenses ''TaxonomicGroupsParams
makeFieldLabels ''TaxonomicGroupsParams