-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A Haskell description of the eBird API
--
-- eBird is a massive collection of ornithological science
-- projects developed by the Cornell Lab of Ornithology. The
-- eBird API offers programmatic access to the incredible dataset
-- backing these projects.
--
-- This library contains a description of the eBird API as a
-- servant API type. It is intended for use by those who wish to
-- write their own clients for the eBird API using servant-client,
-- or do custom processing of eBird data using the types defined here.
--
-- If you are interested in querying the eBird API using an existing
-- client, check out the ebird-client library.
@package ebird-api
@version 0.2.0.0
-- | The EBirdString class contains types whose values may be
-- represented as strings compatible with the eBird API.
module Data.EBird.API.EBirdString
-- | A convenience class for converting the litany of eBird API types to
-- and from their respective eBird API compatible string representations.
class EBirdString a
-- | Convert a value to an eBird string.
toEBirdString :: EBirdString a => a -> Text
-- | Parse a string into an eBird value. If parsing fails, this should
-- result in Left with an error message.
fromEBirdString :: EBirdString a => Text -> Either Text a
-- | Parse a string into an eBird value unsafely.
--
-- Be careful! This can result in runtime errors if the string is
-- malformatted.
unsafeFromEBirdString :: (HasCallStack, EBirdString a) => Text -> a
-- | Types related to eBird product API values.
module Data.EBird.API.Product
-- | Values held in the top 100 contributors list returned by the eBird
-- API.
data Top100ListEntry
Top100ListEntry :: Maybe Text -> Text -> Integer -> Integer -> Integer -> Text -> Top100ListEntry
-- | The profile handle of the user, whocse profile may be seen at
-- ebird.orgprofile{handle} if they have a profile
[_top100ListEntryProfileHandle] :: Top100ListEntry -> Maybe Text
-- | The display name of the user (typically their full name)
[_top100ListEntryUserDisplayName] :: Top100ListEntry -> Text
-- | The number of species the user observed on the date
[_top100ListEntryNumSpecies] :: Top100ListEntry -> Integer
-- | The number of complete checklists the user contributed on the date
[_top100ListEntryNumCompleteChecklists] :: Top100ListEntry -> Integer
-- | The ranking of the user
[_top100ListEntryRowNum] :: Top100ListEntry -> Integer
-- | The user ID od the user
[_top100ListEntryUserId] :: Top100ListEntry -> Text
top100ListEntryUserId :: Lens' Top100ListEntry Text
top100ListEntryUserDisplayName :: Lens' Top100ListEntry Text
top100ListEntryRowNum :: Lens' Top100ListEntry Integer
top100ListEntryProfileHandle :: Lens' Top100ListEntry (Maybe Text)
top100ListEntryNumSpecies :: Lens' Top100ListEntry Integer
top100ListEntryNumCompleteChecklists :: Lens' Top100ListEntry Integer
-- | How to rank the list returned by the Top100API.
data RankTop100By
-- | Rank the list by the number of species seen
RankTop100BySpecies :: RankTop100By
-- | Rank the list by number of contributed checklists
RankTop100ByChecklists :: RankTop100By
-- | Values returned by the RegionalStatisticsAPI.
data RegionalStatistics
RegionalStatistics :: Integer -> Integer -> Integer -> RegionalStatistics
-- | Number of checklists submitted in the region
[_regionalStatisticsNumChecklists] :: RegionalStatistics -> Integer
-- | Number of contributors who have submitted checklists in the region
[_regionalStatisticsNumContributors] :: RegionalStatistics -> Integer
-- | Number of species included in checklists in the region
[_regionalStatisticsNumSpecies] :: RegionalStatistics -> Integer
regionalStatisticsNumSpecies :: Lens' RegionalStatistics Integer
regionalStatisticsNumContributors :: Lens' RegionalStatistics Integer
regionalStatisticsNumChecklists :: Lens' RegionalStatistics Integer
-- | Parse a RankTop100By value
parseRankTop100By :: Parser RankTop100By
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numChecklists" k Data.EBird.API.Product.RegionalStatistics Data.EBird.API.Product.RegionalStatistics a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numContributors" k Data.EBird.API.Product.RegionalStatistics Data.EBird.API.Product.RegionalStatistics a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numSpecies" k Data.EBird.API.Product.RegionalStatistics Data.EBird.API.Product.RegionalStatistics a b
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Product.Top100ListEntry
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Product.Top100ListEntry
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Product.RegionalStatistics
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Product.RegionalStatistics
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Product.RankTop100By
instance Data.String.IsString Data.EBird.API.Product.RankTop100By
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Product.RankTop100By
instance GHC.Classes.Eq Data.EBird.API.Product.RankTop100By
instance GHC.Read.Read Data.EBird.API.Product.RankTop100By
instance GHC.Show.Show Data.EBird.API.Product.RankTop100By
instance GHC.Classes.Eq Data.EBird.API.Product.RegionalStatistics
instance GHC.Read.Read Data.EBird.API.Product.RegionalStatistics
instance GHC.Show.Show Data.EBird.API.Product.RegionalStatistics
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numCompleteChecklists" k Data.EBird.API.Product.Top100ListEntry Data.EBird.API.Product.Top100ListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numSpecies" k Data.EBird.API.Product.Top100ListEntry Data.EBird.API.Product.Top100ListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text, b GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text) => Optics.Label.LabelOptic "profileHandle" k Data.EBird.API.Product.Top100ListEntry Data.EBird.API.Product.Top100ListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "rowNum" k Data.EBird.API.Product.Top100ListEntry Data.EBird.API.Product.Top100ListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "userDisplayName" k Data.EBird.API.Product.Top100ListEntry Data.EBird.API.Product.Top100ListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "userId" k Data.EBird.API.Product.Top100ListEntry Data.EBird.API.Product.Top100ListEntry a b
instance GHC.Classes.Eq Data.EBird.API.Product.Top100ListEntry
instance GHC.Read.Read Data.EBird.API.Product.Top100ListEntry
instance GHC.Show.Show Data.EBird.API.Product.Top100ListEntry
-- | Types related to eBird region API values.
module Data.EBird.API.Regions
-- | eBird divides the world into countries, subnational1 regions (states)
-- or subnational2 regions (counties). Location regions are
-- eBird-specific location identifiers.
data Region
-- | Regions may be specified as location IDs, e.g. L227544
Location :: Integer -> Region
-- | The world is a region
World :: Region
-- | At the top level, the world is divided into countries
Country :: Text -> Region
-- | Subnational1 regions are states within countries
Subnational1 :: Text -> Text -> Region
-- | Subnational2 regions are counties within states
Subnational2 :: Text -> Text -> Text -> Region
-- | One constructor per eBird "region type" (countries, subnational1
-- (states), or subnational2 (counties)).
data RegionType
CountryType :: RegionType
Subnational1Type :: RegionType
Subnational2Type :: RegionType
-- | A RegionCode is a list of one or more Regions.
newtype RegionCode
RegionCode :: NonEmpty Region -> RegionCode
[regionCodeRegions] :: RegionCode -> NonEmpty Region
-- | RegionNameFormat values specify what format the API should
-- return region names in. See the constructor docs for examples.
data RegionNameFormat
-- | DetailedNameFormat region name values are fully qualified with
-- only the country abbreviated, e.g. "Madison County, New York, US"
DetailedNameFormat :: RegionNameFormat
-- | DetailedNoQualNameFormat region name values are like
-- DetailedNameFormat but without the country qualifier and no
-- "county" annotation, e.g. "Madison, New York"
DetailedNoQualNameFormat :: RegionNameFormat
-- | FullNameFormat region name values are fully qualified with no
-- abbreviated country name and no "county" annotation, e.g. "Madison,
-- New York, United States"
FullNameFormat :: RegionNameFormat
-- | NameQualNameFormat region name values are just the annotated
-- name, e.g. "Madison County"
NameQualNameFormat :: RegionNameFormat
-- | NameOnlyNameFormat region name values are just the name, e.g.
-- "Madison"
NameOnlyNameFormat :: RegionNameFormat
-- | RevDetailedNameFormat region name values are like
-- DetailedNameFormat but with reverse qualifiers, e.g. "US, New
-- York, Madison County"
RevDetailedNameFormat :: RegionNameFormat
-- | RegionInfo specifies the name of a region (in some
-- RegionNameFormat) and the bounds of that region as
-- RegionBounds.
data RegionInfo
RegionInfo :: Text -> Maybe RegionBounds -> RegionInfo
[_regionInfoName] :: RegionInfo -> Text
[_regionInfoBounds] :: RegionInfo -> Maybe RegionBounds
-- | RegionBounds specify the corners of a bounding box around a
-- region.
data RegionBounds
RegionBounds :: Double -> Double -> Double -> Double -> RegionBounds
[_regionBoundsMinX] :: RegionBounds -> Double
[_regionBoundsMaxX] :: RegionBounds -> Double
[_regionBoundsMinY] :: RegionBounds -> Double
[_regionBoundsMaxY] :: RegionBounds -> Double
-- | The data structure returned by the eBird SubregionListAPI and
-- AdjacentRegionsAPI.
data RegionListEntry
RegionListEntry :: Region -> Text -> RegionListEntry
[_regionListEntryRegion] :: RegionListEntry -> Region
[_regionListEntryName] :: RegionListEntry -> Text
regionInfoName :: Lens' RegionInfo Text
regionInfoBounds :: Lens' RegionInfo (Maybe RegionBounds)
regionBoundsMinY :: Lens' RegionBounds Double
regionBoundsMinX :: Lens' RegionBounds Double
regionBoundsMaxY :: Lens' RegionBounds Double
regionBoundsMaxX :: Lens' RegionBounds Double
regionListEntryRegion :: Lens' RegionListEntry Region
regionListEntryName :: Lens' RegionListEntry Text
-- | Parse an eBird API region code, which is a comma-separated list of one
-- or more regions. To avoid the partial behavior of converting a
-- sepBy1 result into a NonEmpty, we manually parse the
-- first region followed by an optional tail.
parseRegionCode :: Parser RegionCode
-- | Parse an eBird API region. This parser only ensures that the input is
-- somewhat well-formed, in that it is either:
--
--
-- - A Location region (an 'L' followed by an integral
-- number)
-- - The World region (just the string "world")
-- - A Subnational2 region (formatted as
-- "LETTERS-LETTERS-NUMBER" where LETTERS is one or more letters
-- in any case, and NUMBERS is an integral number)
-- - A Subnational1 region (formatterd as
-- "LETTERS-LETTERS")
-- - A Country region (just "LETTERS")
--
parseRegion :: Parser Region
-- | Parse an eBird API RegionNameFormat.
parseRegionNameFormat :: Parser RegionNameFormat
-- | Parse an eBird API RegionType.
parseRegionType :: Parser RegionType
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "name" k Data.EBird.API.Regions.RegionListEntry Data.EBird.API.Regions.RegionListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "region" k Data.EBird.API.Regions.RegionListEntry Data.EBird.API.Regions.RegionListEntry a b
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Regions.RegionCode
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Regions.RegionCode
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Regions.Region
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Regions.Region
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Regions.RegionInfo
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Regions.RegionInfo
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Regions.RegionBounds
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Regions.RegionBounds
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Regions.RegionListEntry
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Regions.RegionListEntry
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Regions.Region
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Regions.RegionType
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Regions.RegionCode
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Regions.RegionNameFormat
instance Data.String.IsString Data.EBird.API.Regions.Region
instance Data.String.IsString Data.EBird.API.Regions.RegionType
instance Data.String.IsString Data.EBird.API.Regions.RegionCode
instance Data.String.IsString Data.EBird.API.Regions.RegionNameFormat
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Regions.Region
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Regions.RegionType
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Regions.RegionCode
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Regions.RegionNameFormat
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "maxX" k Data.EBird.API.Regions.RegionBounds Data.EBird.API.Regions.RegionBounds a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "maxY" k Data.EBird.API.Regions.RegionBounds Data.EBird.API.Regions.RegionBounds a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "minX" k Data.EBird.API.Regions.RegionBounds Data.EBird.API.Regions.RegionBounds a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "minY" k Data.EBird.API.Regions.RegionBounds Data.EBird.API.Regions.RegionBounds a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.EBird.API.Regions.RegionBounds, b GHC.Types.~ GHC.Maybe.Maybe Data.EBird.API.Regions.RegionBounds) => Optics.Label.LabelOptic "bounds" k Data.EBird.API.Regions.RegionInfo Data.EBird.API.Regions.RegionInfo a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "name" k Data.EBird.API.Regions.RegionInfo Data.EBird.API.Regions.RegionInfo a b
instance GHC.Classes.Eq Data.EBird.API.Regions.Region
instance GHC.Read.Read Data.EBird.API.Regions.Region
instance GHC.Show.Show Data.EBird.API.Regions.Region
instance GHC.Classes.Eq Data.EBird.API.Regions.RegionType
instance GHC.Read.Read Data.EBird.API.Regions.RegionType
instance GHC.Show.Show Data.EBird.API.Regions.RegionType
instance GHC.Classes.Eq Data.EBird.API.Regions.RegionCode
instance GHC.Read.Read Data.EBird.API.Regions.RegionCode
instance GHC.Show.Show Data.EBird.API.Regions.RegionCode
instance GHC.Classes.Eq Data.EBird.API.Regions.RegionNameFormat
instance GHC.Read.Read Data.EBird.API.Regions.RegionNameFormat
instance GHC.Show.Show Data.EBird.API.Regions.RegionNameFormat
instance GHC.Classes.Eq Data.EBird.API.Regions.RegionBounds
instance GHC.Read.Read Data.EBird.API.Regions.RegionBounds
instance GHC.Show.Show Data.EBird.API.Regions.RegionBounds
instance GHC.Classes.Eq Data.EBird.API.Regions.RegionInfo
instance GHC.Read.Read Data.EBird.API.Regions.RegionInfo
instance GHC.Show.Show Data.EBird.API.Regions.RegionInfo
instance GHC.Classes.Eq Data.EBird.API.Regions.RegionListEntry
instance GHC.Read.Read Data.EBird.API.Regions.RegionListEntry
instance GHC.Show.Show Data.EBird.API.Regions.RegionListEntry
-- | Types related to eBird taxonomy-related API values.
module Data.EBird.API.Taxonomy
-- | Taxa in the eBird taxonomy.
data Taxon
Taxon :: Text -> Text -> SpeciesCode -> TaxonomyCategory -> Double -> [Text] -> [Text] -> [Text] -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Taxon
-- | Scientific name, e.g. "Bombycilla garrulus/cedrorum"
[_taxonScientificName] :: Taxon -> Text
-- | Common name, e.g. "Bohemian/Cedar Waxwing"
[_taxonCommonName] :: Taxon -> Text
-- | eBird species code, e.g. "waxwin"
[_taxonSpeciesCode] :: Taxon -> SpeciesCode
-- | eBird species category, e.g. "slash"
--
-- See the eBird documentation for more information on species
-- categories
[_taxonCategory] :: Taxon -> TaxonomyCategory
-- | A numeric value that determines the location of this taxon in the
-- taxonomy list, e.g. 29257.0
[_taxonTaxonOrder] :: Taxon -> Double
-- | Banding codes, e.g. ["BOWA"] for Bohemian Waxwing.
[_taxonBandingCodes] :: Taxon -> [Text]
-- | Common name codes, e.g. ["BOWA","CEDW","CEWA"]
[_taxonCommonNameCodes] :: Taxon -> [Text]
-- | Scientific name codes, e.g. ["BOCE","BOGA"]
[_taxonScientificNameCodes] :: Taxon -> [Text]
-- | Order, e.g. "Passeriformes"
[_taxonOrder] :: Taxon -> Text
-- | Family code, e.g. "bombyc1"
[_taxonFamilyCode] :: Taxon -> Maybe Text
-- | Family common name, e.g. "Waxwings"
[_taxonFamilyCommonName] :: Taxon -> Maybe Text
-- | Family scientific name, e.g. "Bombycillidae"
[_taxonFamilyScientificName] :: Taxon -> Maybe Text
-- | eBird species codes, simply Text; e.g. Gray Vireo is "gryvir",
-- Field Sparrow is "fiespa".
newtype SpeciesCode
SpeciesCode :: Text -> SpeciesCode
[speciesCode] :: SpeciesCode -> Text
-- | A list of eBird SpeciesCodes.
newtype SpeciesCodes
SpeciesCodes :: [SpeciesCode] -> SpeciesCodes
[speciesCodes] :: SpeciesCodes -> [SpeciesCode]
-- | The taxonomy categories are explained in the eBird
-- documentation. Their examples are echoed in the documentation of
-- the constructors of this type.
data TaxonomyCategory
-- | The Species category simply identifies species, e.g. "Tundra
-- Swan Cygnus columbianus"
Species :: TaxonomyCategory
-- | Genus or broad identification, e.g. "swan sp. Cygnus sp."
Spuh :: TaxonomyCategory
-- | Identifiable subspecies or group of subspecies, e.g. "Tundra Swan
-- (Bewick’s) Cygnus columbianus bewickii" or "Tundra Swan
-- (Whistling) Cygnus columbianus columbianus"
ISSF :: TaxonomyCategory
-- | Identification to species pair, e.g. "Tundra/Trumpeter Swan Cygnus
-- columbianus/buccinator"
Slash :: TaxonomyCategory
-- | Hybrid between two species, e.g. "Tundra x Trumpeter Swan (hybrid)"
Hybrid :: TaxonomyCategory
-- | Hybrid between two ISSF (subspecies or subspecies groups), e.g.
-- "Tundra Swan (Whistling x Bewick’s) Cygnus columbianus columbianus
-- x bewickii"
Intergrade :: TaxonomyCategory
-- | Distinctly-plumaged domesticated varieties that may be free-flying
-- (these do not count on personal lists), e.g. "Mallard (Domestic type)"
Domestic :: TaxonomyCategory
-- | Miscellaneous other taxa, including recently-described species yet to
-- be accepted or distinctive forms that are not universally accepted,
-- e.g. Red-tailed Hawk (abieticola), Upland Goose (Bar-breasted).
Form :: TaxonomyCategory
-- | TaxonomyCategories values contain a NonEmpty list of
-- TaxonomyCategorys.
newtype TaxonomyCategories
TaxonomyCategories :: NonEmpty TaxonomyCategory -> TaxonomyCategories
[taxonomyCategoriesCategories] :: TaxonomyCategories -> NonEmpty TaxonomyCategory
taxonTaxonOrder :: Lens' Taxon Double
taxonSpeciesCode :: Lens' Taxon SpeciesCode
taxonScientificNameCodes :: Lens' Taxon [Text]
taxonScientificName :: Lens' Taxon Text
taxonOrder :: Lens' Taxon Text
taxonFamilyScientificName :: Lens' Taxon (Maybe Text)
taxonFamilyCommonName :: Lens' Taxon (Maybe Text)
taxonFamilyCode :: Lens' Taxon (Maybe Text)
taxonCommonNameCodes :: Lens' Taxon [Text]
taxonCommonName :: Lens' Taxon Text
taxonCategory :: Lens' Taxon TaxonomyCategory
taxonBandingCodes :: Lens' Taxon [Text]
-- | eBird maintains many common name translations. See their "Bird
-- Names in eBird" documentation for a discussion of the languages
-- they support.
--
-- This type is an enumeration of those languages, and is used to support
-- the eBird API endpoints which allow a locale to be specified.
data SPPLocale
-- | Afrikaans
Af :: SPPLocale
-- | Albanians
Sq :: SPPLocale
-- | Arabic
Ar :: SPPLocale
-- | Armenian
Hy :: SPPLocale
-- | Assamese
As :: SPPLocale
-- | Asturian
Ast :: SPPLocale
-- | Azerbaijani
Az :: SPPLocale
-- | Basque
Eu :: SPPLocale
-- | Bengali
Bn :: SPPLocale
-- | Bulgarian
Bg :: SPPLocale
-- | Catalan
Ca :: SPPLocale
-- | Chinese, Mandarin (traditional)
Zh :: SPPLocale
-- | Chinese, Simple
Zh_SIM :: SPPLocale
-- | Creole, Haiti
Ht_HT :: SPPLocale
-- | Croatian
Hr :: SPPLocale
-- | Czech
Cs :: SPPLocale
-- | Danish
Da :: SPPLocale
-- | Dutch
Nl :: SPPLocale
-- | English
En :: SPPLocale
-- | English, Australia
En_AU :: SPPLocale
-- | English, Bangladesh
En_BD :: SPPLocale
-- | English, Hawaii
En_HAW :: SPPLocale
-- | English, HBW
En_HBW :: SPPLocale
-- | English, India
En_IN :: SPPLocale
-- | English, IOC
En_IOC :: SPPLocale
-- | English, Kenya
En_KE :: SPPLocale
-- | English, Malaysia
En_MY :: SPPLocale
-- | English, New Zealand
En_NZ :: SPPLocale
-- | English, Philippines
En_PH :: SPPLocale
-- | English, South Africa
En_ZA :: SPPLocale
-- | English, UAE
En_AE :: SPPLocale
-- | English, United Kingdon
En_UK :: SPPLocale
-- | English, United States
En_US :: SPPLocale
-- | Faroese
Fo :: SPPLocale
-- | Finnish
Fi :: SPPLocale
-- | French
Fr :: SPPLocale
-- | French, AOU
Fr_AOU :: SPPLocale
-- | French, France
Fr_FR :: SPPLocale
-- | French, Canada
Fr_CA :: SPPLocale
-- | French, Guiana
Fr_GF :: SPPLocale
-- | French, Guadeloupe
Fr_GP :: SPPLocale
-- | French, Haiti
Fr_HT :: SPPLocale
-- | Gallegan
Gl :: SPPLocale
-- | German
De :: SPPLocale
-- | Greek
El :: SPPLocale
-- | Gujarati
Gu :: SPPLocale
-- | Hebrew
He :: SPPLocale
-- | Hindi
Hi :: SPPLocale
-- | Hungarian
Hu :: SPPLocale
-- | Icelandic
Is :: SPPLocale
-- | Indonesian
In :: SPPLocale
-- | Italian
It :: SPPLocale
-- | Japanese
Ja :: SPPLocale
-- | Korean
Ko :: SPPLocale
-- | Latvian
Lv :: SPPLocale
-- | Lithuanian
Lt :: SPPLocale
-- | Malayalam
Ml :: SPPLocale
-- | Marathi
Mr :: SPPLocale
-- | Mongolian
Mn :: SPPLocale
-- | Norwegian
No :: SPPLocale
-- | Odia
Or :: SPPLocale
-- | Persian
Fa :: SPPLocale
-- | Polish
Pl :: SPPLocale
-- | Portuguese, Angola
Pt_AO :: SPPLocale
-- | Portuguese, Azores
Pt_RAA :: SPPLocale
-- | Portuguese, Brazil
Pt_Br :: SPPLocale
-- | Portuguese, Madeira
Pt_RAM :: SPPLocale
-- | Portuguese, Portugal
Pt_PT :: SPPLocale
-- | Romanian
Ro :: SPPLocale
-- | Russian
Ru :: SPPLocale
-- | Serbian
Sr :: SPPLocale
-- | Slovak
Sk :: SPPLocale
-- | Slovenian
Sl :: SPPLocale
-- | Spanish
Es :: SPPLocale
-- | Spanish, Argentina
Es_AR :: SPPLocale
-- | Spanish, Chile
Es_CL :: SPPLocale
-- | Spanish, Costa Rica
Es_CR :: SPPLocale
-- | Spanish, Cuba
Es_CU :: SPPLocale
-- | Spanish, Dominican Republic
Es_DO :: SPPLocale
-- | Spanish, Ecuador
Es_EC :: SPPLocale
-- | Spanish, Honduras
Es_HN :: SPPLocale
-- | Spanish, Mexico
Es_MX :: SPPLocale
-- | Spanish, Panama
Es_PA :: SPPLocale
-- | Spanish, Paraguay
Es_PY :: SPPLocale
-- | Spanish, Peru
Es_PE :: SPPLocale
-- | Spanish, Puerto Rico
Es_PR :: SPPLocale
-- | Spanish, Spain
Es_ES :: SPPLocale
-- | Spanish, Uruguay
Es_UY :: SPPLocale
-- | Spanish, Venezuela
Es_VE :: SPPLocale
-- | Swedish
Sv :: SPPLocale
-- | Telugu
Te :: SPPLocale
-- | Thai
Th :: SPPLocale
-- | Turkish
Tr :: SPPLocale
-- | Ukrainian
Uk :: SPPLocale
-- | Values returned from the TaxaLocaleCodesAPI.
data SPPLocaleListEntry
SPPLocaleListEntry :: SPPLocale -> Text -> Text -> SPPLocaleListEntry
-- | The code of the locale, e.g. En_US
[_sppLocaleListEntryCode] :: SPPLocaleListEntry -> SPPLocale
-- | The name, e.g. "English (United States)"
[_sppLocaleListEntryName] :: SPPLocaleListEntry -> Text
-- | The date and time of the last update for this locale
[_sppLocaleListEntryLastUpdate] :: SPPLocaleListEntry -> Text
-- | Values represent the different ways that taxonomic groups may be
-- grouped. MerlinGrouping puts like birds together, with falcons
-- next to hawks. EBirdGrouping follows taxonomic order.
data SPPGrouping
MerlinGrouping :: SPPGrouping
EBirdGrouping :: SPPGrouping
-- | Values returned by the TaxonomicGroupsAPI.
data TaxonomicGroupListEntry
TaxonomicGroupListEntry :: Text -> Integer -> [(Integer, Integer)] -> TaxonomicGroupListEntry
-- | Name of the group, e.g. "Waterfowl"
[_taxonomicGroupListEntryName] :: TaxonomicGroupListEntry -> Text
-- | Numeric value determining the location of this group in the list
[_taxonomicGroupListEntryOrder] :: TaxonomicGroupListEntry -> Integer
-- | The bounds of the ordering, depending on the grouping
[_taxonomicGroupListEntryOrderBounds] :: TaxonomicGroupListEntry -> [(Integer, Integer)]
-- | Values returned by the TaxonomyVersionsAPI.
data TaxonomyVersionListEntry
TaxonomyVersionListEntry :: Double -> Bool -> TaxonomyVersionListEntry
[_taxonomyVersionAuthorityVersion] :: TaxonomyVersionListEntry -> Double
[_taxonomyVersionLatest] :: TaxonomyVersionListEntry -> Bool
sppLocaleListEntryName :: Lens' SPPLocaleListEntry Text
sppLocaleListEntryLastUpdate :: Lens' SPPLocaleListEntry Text
sppLocaleListEntryCode :: Lens' SPPLocaleListEntry SPPLocale
taxonomicGroupListEntryOrderBounds :: Lens' TaxonomicGroupListEntry [(Integer, Integer)]
taxonomicGroupListEntryOrder :: Lens' TaxonomicGroupListEntry Integer
taxonomicGroupListEntryName :: Lens' TaxonomicGroupListEntry Text
taxonomyVersionLatest :: Lens' TaxonomyVersionListEntry Bool
taxonomyVersionAuthorityVersion :: Lens' TaxonomyVersionListEntry Double
-- | Parse an eBird species code, which we loosely assume is a string of
-- one or more alphanumeric characters.
parseSpeciesCode :: Parser SpeciesCode
-- | Parse a comma separated list of zero or more SpeciesCodes
parseSpeciesCodes :: Parser SpeciesCodes
-- | Parse an eBird TaxonomyCategory.
parseTaxonomyCategory :: Parser TaxonomyCategory
-- | Parse a list of eBird API taxononomy categories. To avoid the partial
-- behavior of converting a sepBy1 result into a NonEmpty,
-- we manually parse the first category followed by an optional tail.
parseTaxonomyCategories :: Parser TaxonomyCategories
-- | Parse an eBird SPPLocale.
parseSPPLocale :: Parser SPPLocale
-- | Parse an eBird SPPGrouping.
parseSPPGrouping :: Parser SPPGrouping
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.Taxon
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.Taxon
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.SpeciesCode
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.SpeciesCode
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.SpeciesCodes
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.SpeciesCodes
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.TaxonomyCategory
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.TaxonomyCategory
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.TaxonomyVersionListEntry
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.TaxonomyVersionListEntry
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.SPPLocale
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.SPPLocale
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.SPPLocaleListEntry
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.SPPLocaleListEntry
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Taxonomy.TaxonomicGroupListEntry
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Taxonomy.TaxonomicGroupListEntry
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Taxonomy.TaxonomyCategory
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Taxonomy.TaxonomyCategories
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Taxonomy.SpeciesCode
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Taxonomy.SpeciesCodes
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Taxonomy.SPPLocale
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Taxonomy.SPPGrouping
instance Data.String.IsString Data.EBird.API.Taxonomy.TaxonomyCategory
instance Data.String.IsString Data.EBird.API.Taxonomy.TaxonomyCategories
instance Data.String.IsString Data.EBird.API.Taxonomy.SpeciesCode
instance Data.String.IsString Data.EBird.API.Taxonomy.SpeciesCodes
instance Data.String.IsString Data.EBird.API.Taxonomy.SPPLocale
instance Data.String.IsString Data.EBird.API.Taxonomy.SPPGrouping
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Taxonomy.SpeciesCode
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Taxonomy.SpeciesCodes
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Taxonomy.TaxonomyCategories
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Taxonomy.SPPLocale
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Taxonomy.SPPGrouping
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "name" k Data.EBird.API.Taxonomy.TaxonomicGroupListEntry Data.EBird.API.Taxonomy.TaxonomicGroupListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "order" k Data.EBird.API.Taxonomy.TaxonomicGroupListEntry Data.EBird.API.Taxonomy.TaxonomicGroupListEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [(GHC.Num.Integer.Integer, GHC.Num.Integer.Integer)], b GHC.Types.~ [(GHC.Num.Integer.Integer, GHC.Num.Integer.Integer)]) => Optics.Label.LabelOptic "orderBounds" k Data.EBird.API.Taxonomy.TaxonomicGroupListEntry Data.EBird.API.Taxonomy.TaxonomicGroupListEntry a b
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.SPPLocale
instance GHC.Read.Read Data.EBird.API.Taxonomy.SPPLocale
instance GHC.Show.Show Data.EBird.API.Taxonomy.SPPLocale
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.SPPLocaleListEntry
instance GHC.Read.Read Data.EBird.API.Taxonomy.SPPLocaleListEntry
instance GHC.Show.Show Data.EBird.API.Taxonomy.SPPLocaleListEntry
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.SPPGrouping
instance GHC.Read.Read Data.EBird.API.Taxonomy.SPPGrouping
instance GHC.Show.Show Data.EBird.API.Taxonomy.SPPGrouping
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.TaxonomicGroupListEntry
instance GHC.Read.Read Data.EBird.API.Taxonomy.TaxonomicGroupListEntry
instance GHC.Show.Show Data.EBird.API.Taxonomy.TaxonomicGroupListEntry
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.TaxonomyVersionListEntry
instance GHC.Read.Read Data.EBird.API.Taxonomy.TaxonomyVersionListEntry
instance GHC.Show.Show Data.EBird.API.Taxonomy.TaxonomyVersionListEntry
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [Data.Text.Internal.Text], b GHC.Types.~ [Data.Text.Internal.Text]) => Optics.Label.LabelOptic "bandingCodes" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Taxonomy.TaxonomyCategory, b GHC.Types.~ Data.EBird.API.Taxonomy.TaxonomyCategory) => Optics.Label.LabelOptic "category" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "commonName" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [Data.Text.Internal.Text], b GHC.Types.~ [Data.Text.Internal.Text]) => Optics.Label.LabelOptic "commonNameCodes" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text, b GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text) => Optics.Label.LabelOptic "familyCode" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text, b GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text) => Optics.Label.LabelOptic "familyCommonName" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text, b GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text) => Optics.Label.LabelOptic "familyScientificName" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "order" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "scientificName" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [Data.Text.Internal.Text], b GHC.Types.~ [Data.Text.Internal.Text]) => Optics.Label.LabelOptic "scientificNameCodes" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Taxonomy.SpeciesCode, b GHC.Types.~ Data.EBird.API.Taxonomy.SpeciesCode) => Optics.Label.LabelOptic "speciesCode" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "taxonOrder" k Data.EBird.API.Taxonomy.Taxon Data.EBird.API.Taxonomy.Taxon a b
instance GHC.Read.Read Data.EBird.API.Taxonomy.SpeciesCode
instance GHC.Show.Show Data.EBird.API.Taxonomy.SpeciesCode
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.SpeciesCode
instance GHC.Read.Read Data.EBird.API.Taxonomy.SpeciesCodes
instance GHC.Show.Show Data.EBird.API.Taxonomy.SpeciesCodes
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.SpeciesCodes
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.TaxonomyCategory
instance GHC.Read.Read Data.EBird.API.Taxonomy.TaxonomyCategory
instance GHC.Show.Show Data.EBird.API.Taxonomy.TaxonomyCategory
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.Taxon
instance GHC.Read.Read Data.EBird.API.Taxonomy.Taxon
instance GHC.Show.Show Data.EBird.API.Taxonomy.Taxon
instance GHC.Classes.Eq Data.EBird.API.Taxonomy.TaxonomyCategories
instance GHC.Read.Read Data.EBird.API.Taxonomy.TaxonomyCategories
instance GHC.Show.Show Data.EBird.API.Taxonomy.TaxonomyCategories
-- | Utilities for parsing and printing dates and times that the eBird API
-- provides.
module Data.EBird.API.Util.Time
-- | An EBirdDate is simply a Day.
newtype EBirdDate
EBirdDate :: Day -> EBirdDate
[eBirdDate] :: EBirdDate -> Day
-- | Since times that come from the eBird API are not provided with a time
-- zone, an EBirdTime is simply a TimeOfDay. Since eBird
-- times are only provided up to the minute, the todSec value will
-- always be 0.
newtype EBirdTime
EBirdTime :: TimeOfDay -> EBirdTime
[eBirdTime] :: EBirdTime -> TimeOfDay
-- | Dates and times that come from the eBird API are not provided with a
-- time zone. All we can do is track the Day and TimeOfDay
-- with a LocalTime. Comparison of, for example,
-- Observations that happened in different time zones must
-- therefore be done carefully.
newtype EBirdDateTime
EBirdDateTime :: LocalTime -> EBirdDateTime
[eBirdDateTime] :: EBirdDateTime -> LocalTime
-- | Convert an EBirdDate to a gregorian representation. The first
-- element is the year, the second is the month in the year (1 - 12), and
-- the third is the day in the month.
eBirdDateToGregorian :: EBirdDate -> (Integer, Integer, Integer)
-- | Parse an eBird date. Most eBird dates are formatted as YYYY-MM-DD, but
-- the ChecklistFeedAPI gives dates in a format like "19 Jul
-- 2023". So, we try parsing the first format using day, and then
-- use a custom parseTimeM format for the latter format if that
-- fails.
parseEBirdDate :: Parser EBirdDate
-- | Parse an eBird time (just uses timeOfDay).
parseEBirdTime :: Parser EBirdTime
-- | Parse an eBird datetime (just uses localTime).
parseEBirdDateTime :: Parser EBirdDateTime
instance GHC.Enum.Enum Data.EBird.API.Util.Time.EBirdDate
instance GHC.Classes.Ord Data.EBird.API.Util.Time.EBirdDate
instance GHC.Classes.Eq Data.EBird.API.Util.Time.EBirdDate
instance GHC.Read.Read Data.EBird.API.Util.Time.EBirdDate
instance GHC.Show.Show Data.EBird.API.Util.Time.EBirdDate
instance GHC.Classes.Ord Data.EBird.API.Util.Time.EBirdTime
instance GHC.Classes.Eq Data.EBird.API.Util.Time.EBirdTime
instance GHC.Read.Read Data.EBird.API.Util.Time.EBirdTime
instance GHC.Show.Show Data.EBird.API.Util.Time.EBirdTime
instance GHC.Classes.Ord Data.EBird.API.Util.Time.EBirdDateTime
instance GHC.Classes.Eq Data.EBird.API.Util.Time.EBirdDateTime
instance GHC.Read.Read Data.EBird.API.Util.Time.EBirdDateTime
instance GHC.Show.Show Data.EBird.API.Util.Time.EBirdDateTime
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Util.Time.EBirdDateTime
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Util.Time.EBirdDateTime
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Util.Time.EBirdDateTime
instance Data.String.IsString Data.EBird.API.Util.Time.EBirdDateTime
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Util.Time.EBirdTime
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Util.Time.EBirdTime
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Util.Time.EBirdTime
instance Data.String.IsString Data.EBird.API.Util.Time.EBirdTime
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Util.Time.EBirdDate
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Util.Time.EBirdDate
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Util.Time.EBirdDate
instance Data.String.IsString Data.EBird.API.Util.Time.EBirdDate
-- | Types and functions related to eBird observation API values.
module Data.EBird.API.Observations
-- | An observation of a species submitted to eBird within a checklist. The
-- DetailLevel index indicates whether the observation data
-- includes "full" details.
data Observation (detail :: DetailLevel)
Observation :: Text -> Text -> Text -> Text -> Text -> EBirdDateTime -> Maybe Integer -> Double -> Double -> Bool -> Bool -> Bool -> Text -> ObservationDetails detail -> Observation (detail :: DetailLevel)
-- | Species code, e.g. "bohwax"
[_observationSpeciesCode] :: Observation (detail :: DetailLevel) -> Text
-- | Common name, e.g. "Bohemian Waxwing"
[_observationCommonName] :: Observation (detail :: DetailLevel) -> Text
-- | Scientific name, e.g. "Bombycilla garrulus"
[_observationScientificName] :: Observation (detail :: DetailLevel) -> Text
-- | Location ID, e.g. "L7884500"
[_observationLocationId] :: Observation (detail :: DetailLevel) -> Text
-- | Location name, e.g. "Frog Pond"
[_observationLocationName] :: Observation (detail :: DetailLevel) -> Text
-- | Date and time of observation
[_observationDateTime] :: Observation (detail :: DetailLevel) -> EBirdDateTime
-- | How many were seen? Sometimes omitted.
[_observationHowMany] :: Observation (detail :: DetailLevel) -> Maybe Integer
-- | Observation latitude
[_observationLatitude] :: Observation (detail :: DetailLevel) -> Double
-- | Observation longitude
[_observationLongitude] :: Observation (detail :: DetailLevel) -> Double
-- | Is this observation valid?
[_observationValid] :: Observation (detail :: DetailLevel) -> Bool
-- | Has this observation been reviewed?
[_observationReviewed] :: Observation (detail :: DetailLevel) -> Bool
-- | Is the location of this observation private?
[_observationLocationPrivate] :: Observation (detail :: DetailLevel) -> Bool
-- | Submission ID
[_observationSubId] :: Observation (detail :: DetailLevel) -> Text
[_observationFullDetail] :: Observation (detail :: DetailLevel) -> ObservationDetails detail
-- | Extra details that may be attached to an observation. At the moment,
-- it only seems possible to get Full detailed observations from
-- the notable observation endpoints (e.g.
-- RecentNotableObservationsAPI).
data ObservationDetails (detail :: DetailLevel)
[NoDetails] :: ObservationDetails 'Simple
[FullDetails] :: Region -> Text -> Region -> Text -> Region -> Text -> Text -> Text -> Text -> Bool -> Bool -> Text -> Text -> Bool -> ObservationDetails 'Full
-- | Observation values of existentially quantified detail.
data SomeObservation
[SomeObservation] :: Observation detail -> SomeObservation
-- | The promoted constructors of this type are used as type-level indices
-- on the Observation type to determine whether an observation is
-- Simple detail or Full detail.
data DetailLevel
Simple :: DetailLevel
Full :: DetailLevel
-- | Values representing the ways that observations may be sorted in
-- responses from the API.
data SortObservationsBy
SortObservationsByDate :: SortObservationsBy
SortObservationsBySpecies :: SortObservationsBy
-- | Values representing how to pick which Observations are returned
-- from the HistoricalObservationsAPI in the case that there are
-- several observations of the same species on the date.
data SelectObservation
SelectFirstObservation :: SelectObservation
SelectLastObservation :: SelectObservation
observationValid :: forall detail_aWMa. Lens' (Observation detail_aWMa) Bool
observationSubId :: forall detail_aWMa. Lens' (Observation detail_aWMa) Text
observationSpeciesCode :: forall detail_aWMa. Lens' (Observation detail_aWMa) Text
observationScientificName :: forall detail_aWMa. Lens' (Observation detail_aWMa) Text
observationReviewed :: forall detail_aWMa. Lens' (Observation detail_aWMa) Bool
observationLongitude :: forall detail_aWMa. Lens' (Observation detail_aWMa) Double
observationLocationPrivate :: forall detail_aWMa. Lens' (Observation detail_aWMa) Bool
observationLocationName :: forall detail_aWMa. Lens' (Observation detail_aWMa) Text
observationLocationId :: forall detail_aWMa. Lens' (Observation detail_aWMa) Text
observationLatitude :: forall detail_aWMa. Lens' (Observation detail_aWMa) Double
observationHowMany :: forall detail_aWMa. Lens' (Observation detail_aWMa) (Maybe Integer)
observationFullDetail :: forall detail_aWMa detail_aXcx. Lens (Observation detail_aWMa) (Observation detail_aXcx) (ObservationDetails detail_aWMa) (ObservationDetails detail_aXcx)
observationDateTime :: forall detail_aWMa. Lens' (Observation detail_aWMa) EBirdDateTime
observationCommonName :: forall detail_aWMa. Lens' (Observation detail_aWMa) Text
observationDetailsSubnational2Code :: Lens' (ObservationDetails 'Full) Region
observationDetailsSubnational2Name :: Lens' (ObservationDetails 'Full) Text
observationDetailsSubnational1Code :: Lens' (ObservationDetails 'Full) Region
observationDetailsSubnational1Name :: Lens' (ObservationDetails 'Full) Text
observationDetailsCountryCode :: Lens' (ObservationDetails 'Full) Region
observationDetailsCountryName :: Lens' (ObservationDetails 'Full) Text
observationDetailsUserDisplayName :: Lens' (ObservationDetails 'Full) Text
observationDetailsObsId :: Lens' (ObservationDetails 'Full) Text
observationDetailsChecklistId :: Lens' (ObservationDetails 'Full) Text
observationDetailsPresenceNoted :: Lens' (ObservationDetails 'Full) Bool
observationDetailsHasComments :: Lens' (ObservationDetails 'Full) Bool
observationDetailsLastName :: Lens' (ObservationDetails 'Full) Text
observationDetailsFirstName :: Lens' (ObservationDetails 'Full) Text
observationDetailsHasRichMedia :: Lens' (ObservationDetails 'Full) Bool
-- | Parse a list of eBird API taxononomy categories. To avoid the partial
-- behavior of converting a sepBy1 result into a NonEmpty,
-- we manually parse the first category followed by an optional tail.
parseDetailLevel :: Parser DetailLevel
-- | Parse a SortObservationsBy value
parseSortObservationsBy :: Parser SortObservationsBy
-- | Parse a SelectObservation value
parseSelectObservation :: Parser SelectObservation
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "commonName" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime) => Optics.Label.LabelOptic "dateTime" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Observations.ObservationDetails detail1, b GHC.Types.~ Data.EBird.API.Observations.ObservationDetails detail2) => Optics.Label.LabelOptic "fullDetail" k (Data.EBird.API.Observations.Observation detail1) (Data.EBird.API.Observations.Observation detail2) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Maybe.Maybe GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "howMany" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "latitude" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "locationId" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "locationName" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Bool, b GHC.Types.~ GHC.Types.Bool) => Optics.Label.LabelOptic "locationPrivate" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "longitude" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Bool, b GHC.Types.~ GHC.Types.Bool) => Optics.Label.LabelOptic "reviewed" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "scientificName" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "speciesCode" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subId" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Bool, b GHC.Types.~ GHC.Types.Bool) => Optics.Label.LabelOptic "valid" k (Data.EBird.API.Observations.Observation detail) (Data.EBird.API.Observations.Observation detail) a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "subnational2Code" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.EBird.API.Regions.Region Data.EBird.API.Regions.Region
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "subnational2Name" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "subnational1Code" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.EBird.API.Regions.Region Data.EBird.API.Regions.Region
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "subnational1Name" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "countryCode" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.EBird.API.Regions.Region Data.EBird.API.Regions.Region
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "countryName" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "userDisplayName" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "obsId" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "checklistId" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "presenceNoted" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) GHC.Types.Bool GHC.Types.Bool
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "hasComments" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) GHC.Types.Bool GHC.Types.Bool
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "lastName" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "firstName" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) Data.Text.Internal.Text Data.Text.Internal.Text
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens) => Optics.Label.LabelOptic "hasRichMedia" k (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full) GHC.Types.Bool GHC.Types.Bool
instance Data.Aeson.Types.FromJSON.FromJSON (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Simple)
instance Data.Aeson.Types.ToJSON.ToJSON (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Simple)
instance Data.Aeson.Types.FromJSON.FromJSON (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Full)
instance Data.Aeson.Types.ToJSON.ToJSON (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Full)
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Observations.SomeObservation
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Observations.SomeObservation
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Observations.DetailLevel
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Observations.SortObservationsBy
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Observations.SelectObservation
instance Data.String.IsString Data.EBird.API.Observations.DetailLevel
instance Data.String.IsString Data.EBird.API.Observations.SortObservationsBy
instance Data.String.IsString Data.EBird.API.Observations.SelectObservation
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Observations.DetailLevel
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Observations.SortObservationsBy
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Observations.SelectObservation
instance GHC.Classes.Eq Data.EBird.API.Observations.DetailLevel
instance GHC.Read.Read Data.EBird.API.Observations.DetailLevel
instance GHC.Show.Show Data.EBird.API.Observations.DetailLevel
instance GHC.Classes.Eq Data.EBird.API.Observations.SortObservationsBy
instance GHC.Read.Read Data.EBird.API.Observations.SortObservationsBy
instance GHC.Show.Show Data.EBird.API.Observations.SortObservationsBy
instance GHC.Classes.Eq Data.EBird.API.Observations.SelectObservation
instance GHC.Read.Read Data.EBird.API.Observations.SelectObservation
instance GHC.Show.Show Data.EBird.API.Observations.SelectObservation
instance GHC.Show.Show (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Simple)
instance GHC.Show.Show (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Full)
instance GHC.Classes.Eq (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Simple)
instance GHC.Classes.Eq (Data.EBird.API.Observations.Observation 'Data.EBird.API.Observations.Full)
instance GHC.Show.Show (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Simple)
instance GHC.Show.Show (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full)
instance GHC.Classes.Eq (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Simple)
instance GHC.Classes.Eq (Data.EBird.API.Observations.ObservationDetails 'Data.EBird.API.Observations.Full)
instance GHC.Show.Show Data.EBird.API.Observations.SomeObservation
-- | Types and functions related to eBird hotspot API values.
module Data.EBird.API.Hotspots
-- | eBird hotspots, as returned by the RegionHotspotsAPI
data Hotspot
Hotspot :: Text -> Text -> Region -> Region -> Region -> Double -> Double -> Maybe EBirdDateTime -> Maybe Integer -> Hotspot
-- | Location ID of the hotspot
[_hotspotLocationId] :: Hotspot -> Text
-- | Name of the hotspot
[_hotspotLocationName] :: Hotspot -> Text
-- | The country the hotspot is in
[_hotspotCountryCode] :: Hotspot -> Region
-- | The state the hotspot is in
[_hotspotSubnational1Code] :: Hotspot -> Region
-- | The county the hotspot is in
[_hotspotSubnational2Code] :: Hotspot -> Region
-- | The latitude of the hotspot
[_hotspotLatitude] :: Hotspot -> Double
-- | The longitude of the hotspot
[_hotspotLongitude] :: Hotspot -> Double
-- | The date and time of the latest observation at the hotspot. Could be
-- Nothing if the hotspot has never been birded
[_hotspotLatestObsDateTime] :: Hotspot -> Maybe EBirdDateTime
-- | The number of species ever seen at the hotspot. Could be
-- Nothing if the hotspot has never been birded
[_hotspotNumSpeciesAllTime] :: Hotspot -> Maybe Integer
hotspotSubnational2Code :: Lens' Hotspot Region
hotspotSubnational1Code :: Lens' Hotspot Region
hotspotNumSpeciesAllTime :: Lens' Hotspot (Maybe Integer)
hotspotLongitude :: Lens' Hotspot Double
hotspotLocationName :: Lens' Hotspot Text
hotspotLocationId :: Lens' Hotspot Text
hotspotLatitude :: Lens' Hotspot Double
hotspotLatestObsDateTime :: Lens' Hotspot (Maybe EBirdDateTime)
hotspotCountryCode :: Lens' Hotspot Region
-- | Used to specify what format hotspot values should be returned in from
-- the hotspots APIs.
data CSVOrJSONFormat
CSVFormat :: CSVOrJSONFormat
JSONFormat :: CSVOrJSONFormat
-- | Parse a list of eBird API taxononomy categories. To avoid the partial
-- behavior of converting a sepBy1 result into a NonEmpty,
-- we manually parse the first category followed by an optional tail.
parseCSVOrJSONFormat :: Parser CSVOrJSONFormat
instance GHC.Classes.Eq Data.EBird.API.Hotspots.CSVOrJSONFormat
instance GHC.Read.Read Data.EBird.API.Hotspots.CSVOrJSONFormat
instance GHC.Show.Show Data.EBird.API.Hotspots.CSVOrJSONFormat
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Hotspots.CSVOrJSONFormat
instance Data.String.IsString Data.EBird.API.Hotspots.CSVOrJSONFormat
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Hotspots.CSVOrJSONFormat
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "countryCode" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.EBird.API.Util.Time.EBirdDateTime, b GHC.Types.~ GHC.Maybe.Maybe Data.EBird.API.Util.Time.EBirdDateTime) => Optics.Label.LabelOptic "latestObsDateTime" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "latitude" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "locationId" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "locationName" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "longitude" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Maybe.Maybe GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numSpeciesAllTime" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "subnational1Code" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "subnational2Code" k Data.EBird.API.Hotspots.Hotspot Data.EBird.API.Hotspots.Hotspot a b
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Hotspots.Hotspot
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Hotspots.Hotspot
instance GHC.Classes.Eq Data.EBird.API.Hotspots.Hotspot
instance GHC.Read.Read Data.EBird.API.Hotspots.Hotspot
instance GHC.Show.Show Data.EBird.API.Hotspots.Hotspot
-- | Types related to eBird checklist API values.
module Data.EBird.API.Checklists
-- | Values returned by the ViewChecklistAPI
data Checklist
Checklist :: Text -> Text -> Text -> Text -> Text -> Maybe Double -> Bool -> EBirdDateTime -> EBirdDateTime -> EBirdDateTime -> Bool -> Text -> Integer -> Maybe Double -> Maybe Text -> Region -> Text -> Text -> Text -> Text -> Integer -> [SubAux] -> [SubAuxAI] -> [ChecklistObservation] -> Checklist
-- | Project ID, e.g. "EBIRD"
[_checklistProjectId] :: Checklist -> Text
-- | Checklist submission ID, e.g. "S144646447"
[_checklistSubId] :: Checklist -> Text
-- | Checklist protocol ID, e.g. "P21"
[_checklistProtocolId] :: Checklist -> Text
-- | Checklist location ID
[_checklistLocationId] :: Checklist -> Text
-- | Checklist group ID
[_checklistGroupId] :: Checklist -> Text
-- | Checklist duration, only Just for checklists of appropriate
-- protocols (e.g. not incidentals)
[_checklistDurationHours] :: Checklist -> Maybe Double
-- | Was every bird observed reported?
[_checklistAllObsReported] :: Checklist -> Bool
-- | What date and time was the checklist created (i.e. submitted)?
[_checklistCreationDateTime] :: Checklist -> EBirdDateTime
-- | What date and time what the checklist last edited?
[_checklistLastEditedDateTime] :: Checklist -> EBirdDateTime
-- | What date and time what the checklist started?
[_checklistObsDateTime] :: Checklist -> EBirdDateTime
-- | TODO: Not sure what this is for
[_checklistObsTimeValid] :: Checklist -> Bool
-- | The ID of the checklist, e.g. "CL24936"
[_checklistChecklistId] :: Checklist -> Text
-- | The number of observers on this checklist
[_checklistNumObservers] :: Checklist -> Integer
-- | Distance travelled during this checklist in kilometers, only
-- Just for checklists of appropriate protocols (e.g. not
-- incidentals)
[_checklistEffortDistanceKm] :: Checklist -> Maybe Double
-- | The unit of distance used for the checklist submission (e.g. "mi"),
-- only Just for checklists of appropriate protocols (e.g. not
-- incidentals)
[_checklistEffortDistanceEnteredUnit] :: Checklist -> Maybe Text
-- | The subnational1 region (state) that the checklist was submitted in
[_checklistSubnational1Code] :: Checklist -> Region
-- | Method of checklist submission
[_checklistSubmissionMethodCode] :: Checklist -> Text
-- | Version of the method of checklist submission, e.g. "2.13.2_SDK33"
[_checklistSubmissionMethodVersion] :: Checklist -> Text
-- | Display-ready version of the method of checklist submission, e.g.
-- "2.13.2"
[_checklistSubmissionMethodVersionDisp] :: Checklist -> Text
-- | Display name of the user that submitted the checklist
[_checklistUserDisplayName] :: Checklist -> Text
-- | Number of species included in observations on this checklist
[_checklistNumSpecies] :: Checklist -> Integer
-- | Submission auxiliary entry methods
--
-- TODO: Not sure what these are about
[_checklistSubAux] :: Checklist -> [SubAux]
-- | Submission auxiliary entry methods that use aritificial intelligence
--
-- TODO: Not sure what these are about
[_checklistSubAuxAI] :: Checklist -> [SubAuxAI]
-- | Observations included in the checklist
[_checklistObs] :: Checklist -> [ChecklistObservation]
-- | Observation values included in checklists.
data ChecklistObservation
ChecklistObservation :: SpeciesCode -> EBirdDateTime -> Text -> Text -> ChecklistObservation
-- | Species code of the species, e.g. "norfli"
[_checklistObservationSpeciesCode] :: ChecklistObservation -> SpeciesCode
-- | The date and time of the observation. It is not clear when this would
-- not be equal to the checklistObsDateTime field of the enclosing
-- checklist.
[_checklistObservationObsDateTime] :: ChecklistObservation -> EBirdDateTime
-- | ID of the observation
[_checklistObservationObsId] :: ChecklistObservation -> Text
-- | A string representation of the quantity of the observation. If just
-- the presence is noted, the string will be "X"
[_checklistObservationHowManyStr] :: ChecklistObservation -> Text
-- | Values included in the checklistSubAux field of
-- Checklists.
data SubAux
SubAux :: Text -> Text -> Text -> Text -> SubAux
-- | Submission ID
[_subAuxSubId] :: SubAux -> Text
-- | E.g. "nocturnal"
[_subAuxFieldName] :: SubAux -> Text
-- | E.g. "ebird_nocturnal"
[_subAuxEntryMethodCode] :: SubAux -> Text
-- | E.g. "0"
[_subAuxAuxCode] :: SubAux -> Text
-- | Values included in the checklistSubAuxAI field of
-- Checklists.
data SubAuxAI
SubAuxAI :: Text -> Text -> Text -> Text -> Integer -> SubAuxAI
-- | Submission ID
[_subAuxAISubId] :: SubAuxAI -> Text
-- | E.g. "concurrent"
[_subAuxAIMethod] :: SubAuxAI -> Text
-- | E.g. "sound"
[_subAuxAIType] :: SubAuxAI -> Text
-- | E.g. "merlin"
[_subAuxAISource] :: SubAuxAI -> Text
-- | E.g. 0
[_subAuxEventId] :: SubAuxAI -> Integer
-- | eBird checklists. Note that we do not include some redundant fields of
-- checklist values returned by the API (e.g. subID, which is
-- always the same value as subId).
data ChecklistFeedEntry
ChecklistFeedEntry :: Text -> Text -> Text -> Integer -> EBirdDate -> EBirdTime -> LocationData -> ChecklistFeedEntry
-- | The location ID of the checklist
[_checklistFeedEntryLocationId] :: ChecklistFeedEntry -> Text
-- | Checklist submission ID
[_checklistFeedEntrySubId] :: ChecklistFeedEntry -> Text
-- | The display name of the user that submitted this checklist
[_checklistFeedEntryUserDisplayName] :: ChecklistFeedEntry -> Text
-- | Number of species included on this checklist
[_checklistFeedEntryNumSpecies] :: ChecklistFeedEntry -> Integer
-- | Date that this checklist was started
[_checklistFeedEntryDate] :: ChecklistFeedEntry -> EBirdDate
-- | Time that this checklist was started
[_checklistFeedEntryTime] :: ChecklistFeedEntry -> EBirdTime
-- | Location data for the checklist
[_checklistFeedEntryLocationData] :: ChecklistFeedEntry -> LocationData
-- | eBird checklist or hotspot location data. Note that we do not include
-- some redundant fields of location data values returned by the API
-- (e.g. locName, which is always the same value as
-- name).
data LocationData
LocationData :: Text -> Double -> Double -> Region -> Text -> Region -> Text -> Region -> Text -> Bool -> Text -> LocationData
-- | Name of the location
[_locationDataName] :: LocationData -> Text
-- | Latitude of the location
[_locationDataLatitude] :: LocationData -> Double
-- | Longitude of the location
[_locationDataLongitude] :: LocationData -> Double
-- | Country code of the location
[_locationDataCountryCode] :: LocationData -> Region
-- | Country name of the location
[_locationDataCountryName] :: LocationData -> Text
-- | Subnational1 region that this location is in
[_locationDataSubnational1Code] :: LocationData -> Region
-- | Name of the subnational1 region that this location is in
[_locationDataSubnational1Name] :: LocationData -> Text
-- | Subnational2 region that this location is in
[_locationDataSubnational2Code] :: LocationData -> Region
-- | Name of the subnational2 region that this location is in
[_locationDataSubnational2Name] :: LocationData -> Text
-- | Is this location an eBird hotspot?
[_locationDataIsHotspot] :: LocationData -> Bool
-- | A compound name for the location consisting of the location name,
-- county name, state name, and country name.
[_locationDataHeirarchicalName] :: LocationData -> Text
-- | How to rank the list returned by the Top100API.
data SortChecklistsBy
-- | Sort checklists by the date of the observations they contain
SortChecklistsByDateCreated :: SortChecklistsBy
-- | Sort checklists by the date they were submitted
SortChecklistsByDateSubmitted :: SortChecklistsBy
checklistUserDisplayName :: Lens' Checklist Text
checklistSubnational1Code :: Lens' Checklist Region
checklistSubmissionMethodVersionDisp :: Lens' Checklist Text
checklistSubmissionMethodVersion :: Lens' Checklist Text
checklistSubmissionMethodCode :: Lens' Checklist Text
checklistSubId :: Lens' Checklist Text
checklistSubAuxAI :: Lens' Checklist [SubAuxAI]
checklistSubAux :: Lens' Checklist [SubAux]
checklistProtocolId :: Lens' Checklist Text
checklistProjectId :: Lens' Checklist Text
checklistObsTimeValid :: Lens' Checklist Bool
checklistObsDateTime :: Lens' Checklist EBirdDateTime
checklistObs :: Lens' Checklist [ChecklistObservation]
checklistNumSpecies :: Lens' Checklist Integer
checklistNumObservers :: Lens' Checklist Integer
checklistLocationId :: Lens' Checklist Text
checklistLastEditedDateTime :: Lens' Checklist EBirdDateTime
checklistGroupId :: Lens' Checklist Text
checklistEffortDistanceKm :: Lens' Checklist (Maybe Double)
checklistEffortDistanceEnteredUnit :: Lens' Checklist (Maybe Text)
checklistDurationHours :: Lens' Checklist (Maybe Double)
checklistCreationDateTime :: Lens' Checklist EBirdDateTime
checklistChecklistId :: Lens' Checklist Text
checklistAllObsReported :: Lens' Checklist Bool
checklistObservationSpeciesCode :: Lens' ChecklistObservation SpeciesCode
checklistObservationObsId :: Lens' ChecklistObservation Text
checklistObservationObsDateTime :: Lens' ChecklistObservation EBirdDateTime
checklistObservationHowManyStr :: Lens' ChecklistObservation Text
subAuxSubId :: Lens' SubAux Text
subAuxFieldName :: Lens' SubAux Text
subAuxEntryMethodCode :: Lens' SubAux Text
subAuxAuxCode :: Lens' SubAux Text
subAuxEventId :: Lens' SubAuxAI Integer
subAuxAIType :: Lens' SubAuxAI Text
subAuxAISubId :: Lens' SubAuxAI Text
subAuxAISource :: Lens' SubAuxAI Text
subAuxAIMethod :: Lens' SubAuxAI Text
checklistFeedEntryUserDisplayName :: Lens' ChecklistFeedEntry Text
checklistFeedEntryTime :: Lens' ChecklistFeedEntry EBirdTime
checklistFeedEntrySubId :: Lens' ChecklistFeedEntry Text
checklistFeedEntryNumSpecies :: Lens' ChecklistFeedEntry Integer
checklistFeedEntryLocationId :: Lens' ChecklistFeedEntry Text
checklistFeedEntryLocationData :: Lens' ChecklistFeedEntry LocationData
checklistFeedEntryDate :: Lens' ChecklistFeedEntry EBirdDate
locationDataSubnational2Name :: Lens' LocationData Text
locationDataSubnational2Code :: Lens' LocationData Region
locationDataSubnational1Name :: Lens' LocationData Text
locationDataSubnational1Code :: Lens' LocationData Region
locationDataName :: Lens' LocationData Text
locationDataLongitude :: Lens' LocationData Double
locationDataLatitude :: Lens' LocationData Double
locationDataIsHotspot :: Lens' LocationData Bool
locationDataHeirarchicalName :: Lens' LocationData Text
locationDataCountryName :: Lens' LocationData Text
locationDataCountryCode :: Lens' LocationData Region
-- | Parse a SortChecklistsBy value
parseSortChecklistsBy :: Parser SortChecklistsBy
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "countryCode" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "countryName" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "heirarchicalName" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Bool, b GHC.Types.~ GHC.Types.Bool) => Optics.Label.LabelOptic "isHotspot" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "latitude" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Double, b GHC.Types.~ GHC.Types.Double) => Optics.Label.LabelOptic "longitude" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "name" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "subnational1Code" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subnational1Name" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "subnational2Code" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subnational2Name" k Data.EBird.API.Checklists.LocationData Data.EBird.API.Checklists.LocationData a b
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Checklists.Checklist
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Checklists.Checklist
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Checklists.ChecklistObservation
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Checklists.ChecklistObservation
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Checklists.SubAux
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Checklists.SubAux
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Checklists.SubAuxAI
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Checklists.SubAuxAI
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Checklists.ChecklistFeedEntry
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Checklists.ChecklistFeedEntry
instance Data.Aeson.Types.FromJSON.FromJSON Data.EBird.API.Checklists.LocationData
instance Data.Aeson.Types.ToJSON.ToJSON Data.EBird.API.Checklists.LocationData
instance Data.EBird.API.EBirdString.EBirdString Data.EBird.API.Checklists.SortChecklistsBy
instance Data.String.IsString Data.EBird.API.Checklists.SortChecklistsBy
instance Web.Internal.HttpApiData.ToHttpApiData Data.EBird.API.Checklists.SortChecklistsBy
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdDate, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdDate) => Optics.Label.LabelOptic "date" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Checklists.LocationData, b GHC.Types.~ Data.EBird.API.Checklists.LocationData) => Optics.Label.LabelOptic "locationData" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "locationId" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numSpecies" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subId" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdTime, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdTime) => Optics.Label.LabelOptic "time" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "userDisplayName" k Data.EBird.API.Checklists.ChecklistFeedEntry Data.EBird.API.Checklists.ChecklistFeedEntry a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "method" k Data.EBird.API.Checklists.SubAuxAI Data.EBird.API.Checklists.SubAuxAI a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "source" k Data.EBird.API.Checklists.SubAuxAI Data.EBird.API.Checklists.SubAuxAI a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subId" k Data.EBird.API.Checklists.SubAuxAI Data.EBird.API.Checklists.SubAuxAI a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "type" k Data.EBird.API.Checklists.SubAuxAI Data.EBird.API.Checklists.SubAuxAI a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "auxCode" k Data.EBird.API.Checklists.SubAux Data.EBird.API.Checklists.SubAux a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "entryMethodCode" k Data.EBird.API.Checklists.SubAux Data.EBird.API.Checklists.SubAux a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "fieldName" k Data.EBird.API.Checklists.SubAux Data.EBird.API.Checklists.SubAux a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subId" k Data.EBird.API.Checklists.SubAux Data.EBird.API.Checklists.SubAux a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "howManyStr" k Data.EBird.API.Checklists.ChecklistObservation Data.EBird.API.Checklists.ChecklistObservation a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime) => Optics.Label.LabelOptic "obsDateTime" k Data.EBird.API.Checklists.ChecklistObservation Data.EBird.API.Checklists.ChecklistObservation a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "obsId" k Data.EBird.API.Checklists.ChecklistObservation Data.EBird.API.Checklists.ChecklistObservation a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Taxonomy.SpeciesCode, b GHC.Types.~ Data.EBird.API.Taxonomy.SpeciesCode) => Optics.Label.LabelOptic "speciesCode" k Data.EBird.API.Checklists.ChecklistObservation Data.EBird.API.Checklists.ChecklistObservation a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Bool, b GHC.Types.~ GHC.Types.Bool) => Optics.Label.LabelOptic "allObsReported" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "checklistId" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime) => Optics.Label.LabelOptic "creationDateTime" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe GHC.Types.Double, b GHC.Types.~ GHC.Maybe.Maybe GHC.Types.Double) => Optics.Label.LabelOptic "durationHours" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text, b GHC.Types.~ GHC.Maybe.Maybe Data.Text.Internal.Text) => Optics.Label.LabelOptic "effortDistanceEnteredUnit" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Maybe.Maybe GHC.Types.Double, b GHC.Types.~ GHC.Maybe.Maybe GHC.Types.Double) => Optics.Label.LabelOptic "effortDistanceKm" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "groupId" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime) => Optics.Label.LabelOptic "lastEditedDateTime" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "locationId" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numObservers" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Num.Integer.Integer, b GHC.Types.~ GHC.Num.Integer.Integer) => Optics.Label.LabelOptic "numSpecies" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [Data.EBird.API.Checklists.ChecklistObservation], b GHC.Types.~ [Data.EBird.API.Checklists.ChecklistObservation]) => Optics.Label.LabelOptic "obs" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime, b GHC.Types.~ Data.EBird.API.Util.Time.EBirdDateTime) => Optics.Label.LabelOptic "obsDateTime" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ GHC.Types.Bool, b GHC.Types.~ GHC.Types.Bool) => Optics.Label.LabelOptic "obsTimeValid" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "projectId" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "protocolId" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [Data.EBird.API.Checklists.SubAux], b GHC.Types.~ [Data.EBird.API.Checklists.SubAux]) => Optics.Label.LabelOptic "subAux" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ [Data.EBird.API.Checklists.SubAuxAI], b GHC.Types.~ [Data.EBird.API.Checklists.SubAuxAI]) => Optics.Label.LabelOptic "subAuxAI" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "subId" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "submissionMethodCode" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "submissionMethodVersion" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "submissionMethodVersionDisp" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.EBird.API.Regions.Region, b GHC.Types.~ Data.EBird.API.Regions.Region) => Optics.Label.LabelOptic "subnational1Code" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance (k GHC.Types.~ Optics.Internal.Optic.Types.A_Lens, a GHC.Types.~ Data.Text.Internal.Text, b GHC.Types.~ Data.Text.Internal.Text) => Optics.Label.LabelOptic "userDisplayName" k Data.EBird.API.Checklists.Checklist Data.EBird.API.Checklists.Checklist a b
instance GHC.Classes.Eq Data.EBird.API.Checklists.ChecklistObservation
instance GHC.Read.Read Data.EBird.API.Checklists.ChecklistObservation
instance GHC.Show.Show Data.EBird.API.Checklists.ChecklistObservation
instance GHC.Classes.Eq Data.EBird.API.Checklists.SubAux
instance GHC.Read.Read Data.EBird.API.Checklists.SubAux
instance GHC.Show.Show Data.EBird.API.Checklists.SubAux
instance GHC.Classes.Eq Data.EBird.API.Checklists.SubAuxAI
instance GHC.Read.Read Data.EBird.API.Checklists.SubAuxAI
instance GHC.Show.Show Data.EBird.API.Checklists.SubAuxAI
instance GHC.Classes.Eq Data.EBird.API.Checklists.Checklist
instance GHC.Read.Read Data.EBird.API.Checklists.Checklist
instance GHC.Show.Show Data.EBird.API.Checklists.Checklist
instance GHC.Classes.Eq Data.EBird.API.Checklists.LocationData
instance GHC.Read.Read Data.EBird.API.Checklists.LocationData
instance GHC.Show.Show Data.EBird.API.Checklists.LocationData
instance GHC.Classes.Eq Data.EBird.API.Checklists.ChecklistFeedEntry
instance GHC.Read.Read Data.EBird.API.Checklists.ChecklistFeedEntry
instance GHC.Show.Show Data.EBird.API.Checklists.ChecklistFeedEntry
instance GHC.Classes.Eq Data.EBird.API.Checklists.SortChecklistsBy
instance GHC.Read.Read Data.EBird.API.Checklists.SortChecklistsBy
instance GHC.Show.Show Data.EBird.API.Checklists.SortChecklistsBy
-- | A description of the eBird API as a servant API type.
--
-- Intended for use by those who wish to write their own clients for the
-- eBird API using servant-client.
--
-- If you are interested in querying the eBird API using an
-- existing client, check out the ebird-client library.
module Data.EBird.API
-- | The eBird API as a Haskell type.
type EBirdAPI = RecentObservationsAPI :<|> RecentNotableObservationsAPI :<|> RecentSpeciesObservationsAPI :<|> RecentNearbyObservationsAPI :<|> RecentNearbySpeciesObservationsAPI :<|> RecentNearestSpeciesObservationsAPI :<|> RecentNearbyNotableObservationsAPI :<|> HistoricalObservationsAPI :<|> RecentChecklistsAPI :<|> Top100API :<|> ChecklistFeedAPI :<|> RegionalStatisticsAPI :<|> SpeciesListAPI :<|> ViewChecklistAPI :<|> RegionHotspotsAPI :<|> NearbyHotspotsAPI :<|> HotspotInfoAPI :<|> TaxonomyAPI :<|> TaxonomicFormsAPI :<|> TaxaLocaleCodesAPI :<|> TaxonomyVersionsAPI :<|> TaxonomicGroupsAPI :<|> RegionInfoAPI :<|> SubregionListAPI :<|> AdjacentRegionsAPI
-- | Convenient synonym for requiring an x-ebirdapitoken on a
-- route
type WithAPIKey = Header' '[Required] "x-ebirdapitoken" Text
-- | Recent observations within a region. Note that this endpoint only ever
-- returns Simple detail observations.
--
-- See the eBird API documentation for this route.
type RecentObservationsAPI = "v2" :> "data" :> "obs" :> WithAPIKey :> Capture "regionCode" RegionCode :> "recent" :> QueryParam "back" Integer :> QueryParam "cat" TaxonomyCategories :> QueryParam "hotspot" Bool :> QueryParam "includeProvisional" Bool :> QueryParam "maxResults" Integer :> QueryParam "r" RegionCode :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [Observation 'Simple]
-- | Recent notable observations within a region. Since this
-- endpoint can return both Simple and Full detail
-- observations, depending on the value provided for the "detail" query
-- parameter, we existentially quantify the detail level of the resulting
-- observations.
--
-- See the eBird API documentation for this route.
type RecentNotableObservationsAPI = "v2" :> "data" :> "obs" :> WithAPIKey :> Capture "regionCode" RegionCode :> "recent" :> "notable" :> QueryParam "back" Integer :> QueryParam "detail" DetailLevel :> QueryParam "hotspot" Bool :> QueryParam "maxResults" Integer :> QueryParam "r" RegionCode :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [SomeObservation]
-- | Recent observations of a species within a region. Note that this
-- endpoint only ever returns Simple detail observations.
--
-- See the eBird API documentation for this route.
type RecentSpeciesObservationsAPI = "v2" :> "data" :> "obs" :> WithAPIKey :> Capture "regionCode" RegionCode :> "recent" :> Capture "speciesCode" SpeciesCode :> QueryParam "back" Integer :> QueryParam "hotspot" Bool :> QueryParam "includeProvisional" Bool :> QueryParam "maxResults" Integer :> QueryParam "r" RegionCode :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [Observation 'Simple]
-- | Recent observations within some radius of some latitude/longitude.
--
-- See the eBird API documentation for this route.
type RecentNearbyObservationsAPI = "v2" :> "data" :> "obs" :> "geo" :> "recent" :> WithAPIKey :> QueryParam' '[Required] "lat" Double :> QueryParam' '[Required] "lng" Double :> QueryParam "dist" Integer :> QueryParam "back" Integer :> QueryParam "cat" TaxonomyCategories :> QueryParam "hotspot" Bool :> QueryParam "includeProvisional" Bool :> QueryParam "maxResults" Integer :> QueryParam "sort" SortObservationsBy :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [Observation 'Simple]
-- | Recent observations of a species within some radius of some
-- latitude/longitude.
--
-- See the eBird API documentation for this route.
type RecentNearbySpeciesObservationsAPI = "v2" :> "data" :> "obs" :> "geo" :> "recent" :> WithAPIKey :> Capture "species" SpeciesCode :> QueryParam' '[Required] "lat" Double :> QueryParam' '[Required] "lng" Double :> QueryParam "dist" Integer :> QueryParam "back" Integer :> QueryParam "cat" TaxonomyCategories :> QueryParam "hotspot" Bool :> QueryParam "includeProvisional" Bool :> QueryParam "maxResults" Integer :> QueryParam "sort" SortObservationsBy :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [Observation 'Simple]
-- | Nearest recent observations including a species.
--
-- See the eBird API documentation for this route.
type RecentNearestSpeciesObservationsAPI = "v2" :> "data" :> "nearest" :> "geo" :> "recent" :> WithAPIKey :> Capture "species" SpeciesCode :> QueryParam' '[Required] "lat" Double :> QueryParam' '[Required] "lng" Double :> QueryParam "dist" Integer :> QueryParam "back" Integer :> QueryParam "hotspot" Bool :> QueryParam "includeProvisional" Bool :> QueryParam "maxResults" Integer :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [Observation 'Simple]
-- | Recent notable observations of a within some radius of some
-- latitude/longitude.
--
-- See the eBird API documentation for this route.
type RecentNearbyNotableObservationsAPI = "v2" :> "data" :> "obs" :> "geo" :> "recent" :> "notable" :> WithAPIKey :> QueryParam' '[Required] "lat" Double :> QueryParam' '[Required] "lng" Double :> QueryParam "dist" Integer :> QueryParam "detail" DetailLevel :> QueryParam "back" Integer :> QueryParam "hotspot" Bool :> QueryParam "maxResults" Integer :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [SomeObservation]
-- | A list of all observations for each taxa seen in some
-- RegionCode on a specific date. The specific observations
-- returned are determined by the rank parameter - first
-- observation of the species (SelectFirstObservation, default) or
-- last observation (SelectLastObservation).
--
-- See the eBird API documentation for this route.
type HistoricalObservationsAPI = "v2" :> "data" :> "obs" :> WithAPIKey :> Capture "regionCode" RegionCode :> "historic" :> Capture "year" Integer :> Capture "month" Integer :> Capture "day" Integer :> QueryParam "cat" TaxonomyCategories :> QueryParam "detail" DetailLevel :> QueryParam "hotspot" Bool :> QueryParam "includeProvisional" Bool :> QueryParam "maxResults" Integer :> QueryParam "rank" SelectObservation :> QueryParam "r" RegionCode :> QueryParam "sppLocale" SPPLocale :> Get '[JSON] [SomeObservation]
-- | A list of recent checklists submitted in a region.
--
-- See the eBird API documentation for this route.
type RecentChecklistsAPI = "v2" :> "product" :> "lists" :> WithAPIKey :> Capture "regionCode" RegionCode :> QueryParam "maxResults" Integer :> Get '[JSON] [ChecklistFeedEntry]
-- | A list of the top 100 contributors on a given date, ranked by species
-- count or checklist count.
--
-- See the eBird API documentation for this route.
type Top100API = "v2" :> "product" :> "top100" :> WithAPIKey :> Capture "regionCode" Region :> Capture "year" Integer :> Capture "month" Integer :> Capture "day" Integer :> QueryParam "rankedBy" RankTop100By :> QueryParam "maxResults" Integer :> Get '[JSON] [Top100ListEntry]
-- | A list of checklists submitted in a region on a date.
--
-- See the eBird API documentation for this route.
type ChecklistFeedAPI = "v2" :> "product" :> "lists" :> WithAPIKey :> Capture "regionCode" Region :> Capture "year" Integer :> Capture "month" Integer :> Capture "day" Integer :> QueryParam "sortKey" SortChecklistsBy :> QueryParam "maxResults" Integer :> Get '[JSON] [ChecklistFeedEntry]
-- | A list of checklists submitted on a date.
--
-- See the eBird API documentation for this route.
type RegionalStatisticsAPI = "v2" :> "product" :> "stats" :> WithAPIKey :> Capture "regionCode" Region :> Capture "year" Integer :> Capture "month" Integer :> Capture "day" Integer :> Get '[JSON] RegionalStatistics
-- | A list of all species ever seen in a region.
--
-- See the eBird API documentation for this route.
type SpeciesListAPI = "v2" :> "product" :> "spplist" :> WithAPIKey :> Capture "regionCode" Region :> Get '[JSON] [SpeciesCode]
-- | The details and observations for a checklist.
--
-- See the eBird API documentation for this route.
type ViewChecklistAPI = "v2" :> "product" :> "checklist" :> "view" :> WithAPIKey :> Capture "subId" Text :> Get '[JSON] Checklist
-- | The hotspots within a list of one or more regions.
--
-- NOTE: This endpoint switches the content type of the response based on
-- a query parameter, not an "Accept" header, and for some reason it
-- chooses to make the default content type CSV. Any client for this
-- endpoint should hardcode the "fmt" parameter to JSONFormat.
--
-- See the eBird API documentation for this route.
type RegionHotspotsAPI = "v2" :> "ref" :> "hotspot" :> Capture "regionCode" RegionCode :> QueryParam "back" Integer :> QueryParam "fmt" CSVOrJSONFormat :> Get '[JSON] [Hotspot]
-- | The hotspots within a radius of some latitude/longitude.
--
-- NOTE: This endpoint switches the content type of the response based on
-- a query parameter, not an "Accept" header, and for some reason it
-- chooses to make the default content type CSV. Any client for this
-- endpoint should hardcode the "fmt" parameter to JSONFormat.
--
-- See the eBird API documentation for this route.
type NearbyHotspotsAPI = "v2" :> "ref" :> "hotspot" :> "geo" :> QueryParam' '[Required] "lat" Double :> QueryParam' '[Required] "lng" Double :> QueryParam "back" Integer :> QueryParam "dist" Integer :> QueryParam "fmt" CSVOrJSONFormat :> Get '[JSON] [Hotspot]
-- | Information about a hotspot.
--
-- See the eBird API documentation for this route.
type HotspotInfoAPI = "v2" :> "ref" :> "hotspot" :> "info" :> Capture "locId" Text :> Get '[JSON] LocationData
-- | The eBird taxonomy, in part or in full.
--
-- NOTE: This endpoint switches the content type of the response based on
-- a query parameter, not an "Accept" header, and for some reason it
-- chooses to make the default content type CSV. Any client for this
-- endpoint should hardcode the "fmt" parameter to JSONFormat.
--
-- See the eBird API documentation for this route.
type TaxonomyAPI = "v2" :> "ref" :> "taxonomy" :> "ebird" :> QueryParam "cat" TaxonomyCategories :> QueryParam "fmt" CSVOrJSONFormat :> QueryParam "locale" SPPLocale :> QueryParam "species" SpeciesCodes :> QueryParam "version" Text :> Get '[JSON] [Taxon]
-- | The list of subspecies of a given species recognized in the taxonomy.
--
-- See the eBird API documentation for this route.
type TaxonomicFormsAPI = "v2" :> "ref" :> "taxon" :> "forms" :> WithAPIKey :> Capture "speciesCode" SpeciesCode :> Get '[JSON] SpeciesCodes
-- | The supported locale codes and names for species common names.
--
-- See the eBird API documentation for this route.
type TaxaLocaleCodesAPI = "v2" :> "ref" :> "taxa-locales" :> "ebird" :> WithAPIKey :> Header "Accept-Language" SPPLocale :> Get '[JSON] [SPPLocaleListEntry]
-- | The complete list of taxonomy versions, with a flag indicating which
-- is the latest.
--
-- See the eBird API documentation for this route.
type TaxonomyVersionsAPI = "v2" :> "ref" :> "taxonomy" :> "versions" :> Get '[JSON] [TaxonomyVersionListEntry]
-- | The list of species groups, e.g. terns, finches, etc.
--
-- See the eBird API documentation for this route.
type TaxonomicGroupsAPI = "v2" :> "ref" :> "sppgroup" :> Capture "speciesGrouping" SPPGrouping :> QueryParam "groupNameLocale" SPPLocale :> Get '[JSON] [TaxonomicGroupListEntry]
-- | Get a RegionInfo for a Region.
--
-- See the eBird API documentation for this route.
type RegionInfoAPI = "v2" :> "ref" :> "region" :> "info" :> WithAPIKey :> Capture "regionCode" Region :> QueryParam "regionNameFormat" RegionNameFormat :> Get '[JSON] RegionInfo
-- | Get a list of subregions of a certain RegionType within a
-- RegionCode.
--
-- See the eBird API documentation for this route.
type SubregionListAPI = "v2" :> "ref" :> "region" :> "list" :> WithAPIKey :> Capture "regionType" RegionType :> Capture "regionCode" RegionCode :> Get '[JSON] [RegionListEntry]
-- | Adjacent regions to a given region. Only Subnational2 region
-- codes in the United States, New Zealand, or Mexico are currently
-- supported.
--
-- See the eBird API documentation for this route.
type AdjacentRegionsAPI = "v2" :> "ref" :> "adjacent" :> WithAPIKey :> Capture "regionCode" Region :> Get '[JSON] [RegionListEntry]