| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Country
Synopsis
- data Country
- encodeNumeric :: Country -> Word16
- decodeNumeric :: Word16 -> Maybe Country
- encodeEnglish :: Country -> Text
- decode :: Text -> Maybe Country
- decodeUtf8 :: ByteString -> Maybe Country
- parser :: Parser Country
- parserUtf8 :: Parser Country
- alphaTwoUpper :: Country -> Text
- alphaThreeUpper :: Country -> Text
- alphaThreeLower :: Country -> Text
- alphaTwoLower :: Country -> Text
- decodeAlphaTwo :: Text -> Maybe Country
- decodeAlphaThree :: Text -> Maybe Country
Documentation
A country recognized by ISO 3166.
Instances
Three digit code
encodeNumeric :: Country -> Word16 #
Convert a country to its numeric code. This is a three-digit number and will consequently be less than 1000.
decodeNumeric :: Word16 -> Maybe Country #
Get a country from a numeric code. Any code greater than 999 will not have a country associated with it. Additionally, many codes are unassigned.
Name
encodeEnglish :: Country -> Text #
The name of a country given in English
decode :: Text -> Maybe Country #
Parse a country from its name. This function is language-agnostic and is very generous with what it accepts. It handles official names, colloquial names, acroynms, and obsolete names for many countries. It strives to handle any source language. Open an issue on the issue tracker if their are names that are missing.
decodeUtf8 :: ByteString -> Maybe Country #
Parse a country from its name using an attoparsec text parser. This function is language-agnostic and can handle any source language. In the case that one possible country name is a prefix of another possible name (for example, United States vs United States of America), the longest possible will be parsed.
parserUtf8 :: Parser Country #
Alpha-2 and Alpha-3
alphaTwoUpper :: Country -> Text #
The alpha-2 country code, uppercase
alphaThreeUpper :: Country -> Text #
The alpha-3 country code, uppercase
alphaThreeLower :: Country -> Text #
The alpha-3 country code, lowercase
alphaTwoLower :: Country -> Text #
The alpha-2 country code, lowercase
decodeAlphaTwo :: Text -> Maybe Country #
decodeAlphaThree :: Text -> Maybe Country #