{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE StandaloneDeriving #-}
module Data.Time.Zones.DB (
toTZName,
fromTZName,
tzNameLabelMap,
tzDataByLabel,
tzDataByName,
TZLabel(..),
TZDescription,
tzDescriptions,
KnownTZLabel(..),
SomeTZLabel(..),
someTZLabelVal,
promoteTZLabel,
) where
import Control.DeepSeq (NFData, rnf)
import qualified Data.ByteString.Char8 as BS
import qualified Data.ByteString.Lazy.Char8 as BL
import qualified Data.Map.Lazy as M
import Data.Proxy (Proxy(..))
import Data.Data (Data, Typeable)
import qualified Data.Vector as V
import GHC.Generics (Generic)
{-# ANN module "HLint: ignore Use camelCase" #-}
data TZLabel
= Africa__Abidjan
| Africa__Algiers
| Africa__Bissau
| Africa__Cairo
| Africa__Casablanca
| Africa__Ceuta
| Africa__El_Aaiun
| Africa__Johannesburg
| Africa__Juba
| Africa__Khartoum
| Africa__Lagos
| Africa__Maputo
| Africa__Monrovia
| Africa__Nairobi
| Africa__Ndjamena
| Africa__Sao_Tome
| Africa__Tripoli
| Africa__Tunis
| Africa__Windhoek
| America__Adak
| America__Anchorage
| America__Araguaina
| America__Argentina__Buenos_Aires
| America__Argentina__Catamarca
| America__Argentina__Cordoba
| America__Argentina__Jujuy
| America__Argentina__La_Rioja
| America__Argentina__Mendoza
| America__Argentina__Rio_Gallegos
| America__Argentina__Salta
| America__Argentina__San_Juan
| America__Argentina__San_Luis
| America__Argentina__Tucuman
| America__Argentina__Ushuaia
| America__Asuncion
| America__Bahia
| America__Bahia_Banderas
| America__Barbados
| America__Belem
| America__Belize
| America__Boa_Vista
| America__Bogota
| America__Boise
| America__Cambridge_Bay
| America__Campo_Grande
| America__Cancun
| America__Caracas
| America__Cayenne
| America__Chicago
| America__Chihuahua
| America__Costa_Rica
| America__Cuiaba
| America__Danmarkshavn
| America__Dawson
| America__Dawson_Creek
| America__Denver
| America__Detroit
| America__Edmonton
| America__Eirunepe
| America__El_Salvador
| America__Fort_Nelson
| America__Fortaleza
| America__Glace_Bay
| America__Goose_Bay
| America__Grand_Turk
| America__Guatemala
| America__Guayaquil
| America__Guyana
| America__Halifax
| America__Havana
| America__Hermosillo
| America__Indiana__Indianapolis
| America__Indiana__Knox
| America__Indiana__Marengo
| America__Indiana__Petersburg
| America__Indiana__Tell_City
| America__Indiana__Vevay
| America__Indiana__Vincennes
| America__Indiana__Winamac
| America__Inuvik
| America__Iqaluit
| America__Jamaica
| America__Juneau
| America__Kentucky__Louisville
| America__Kentucky__Monticello
| America__La_Paz
| America__Lima
| America__Los_Angeles
| America__Maceio
| America__Managua
| America__Manaus
| America__Martinique
| America__Matamoros
| America__Mazatlan
| America__Menominee
| America__Merida
| America__Metlakatla
| America__Mexico_City
| America__Miquelon
| America__Moncton
| America__Monterrey
| America__Montevideo
| America__New_York
| America__Nipigon
| America__Nome
| America__Noronha
| America__North_Dakota__Beulah
| America__North_Dakota__Center
| America__North_Dakota__New_Salem
| America__Nuuk
| America__Ojinaga
| America__Panama
| America__Pangnirtung
| America__Paramaribo
| America__Phoenix
| America__Port_au_Prince
| America__Porto_Velho
| America__Puerto_Rico
| America__Punta_Arenas
| America__Rainy_River
| America__Rankin_Inlet
| America__Recife
| America__Regina
| America__Resolute
| America__Rio_Branco
| America__Santarem
| America__Santiago
| America__Santo_Domingo
| America__Sao_Paulo
| America__Scoresbysund
| America__Sitka
| America__St_Johns
| America__Swift_Current
| America__Tegucigalpa
| America__Thule
| America__Thunder_Bay
| America__Tijuana
| America__Toronto
| America__Vancouver
| America__Whitehorse
| America__Winnipeg
| America__Yakutat
| America__Yellowknife
| Antarctica__Casey
| Antarctica__Davis
| Antarctica__Macquarie
| Antarctica__Mawson
| Antarctica__Palmer
| Antarctica__Rothera
| Antarctica__Troll
| Antarctica__Vostok
| Asia__Almaty
| Asia__Amman
| Asia__Anadyr
| Asia__Aqtau
| Asia__Aqtobe
| Asia__Ashgabat
| Asia__Atyrau
| Asia__Baghdad
| Asia__Baku
| Asia__Bangkok
| Asia__Barnaul
| Asia__Beirut
| Asia__Bishkek
| Asia__Brunei
| Asia__Chita
| Asia__Choibalsan
| Asia__Colombo
| Asia__Damascus
| Asia__Dhaka
| Asia__Dili
| Asia__Dubai
| Asia__Dushanbe
| Asia__Famagusta
| Asia__Gaza
| Asia__Hebron
| Asia__Ho_Chi_Minh
| Asia__Hong_Kong
| Asia__Hovd
| Asia__Irkutsk
| Asia__Jakarta
| Asia__Jayapura
| Asia__Jerusalem
| Asia__Kabul
| Asia__Kamchatka
| Asia__Karachi
| Asia__Kathmandu
| Asia__Khandyga
| Asia__Kolkata
| Asia__Krasnoyarsk
| Asia__Kuala_Lumpur
| Asia__Kuching
| Asia__Macau
| Asia__Magadan
| Asia__Makassar
| Asia__Manila
| Asia__Nicosia
| Asia__Novokuznetsk
| Asia__Novosibirsk
| Asia__Omsk
| Asia__Oral
| Asia__Pontianak
| Asia__Pyongyang
| Asia__Qatar
| Asia__Qostanay
| Asia__Qyzylorda
| Asia__Riyadh
| Asia__Sakhalin
| Asia__Samarkand
| Asia__Seoul
| Asia__Shanghai
| Asia__Singapore
| Asia__Srednekolymsk
| Asia__Taipei
| Asia__Tashkent
| Asia__Tbilisi
| Asia__Tehran
| Asia__Thimphu
| Asia__Tokyo
| Asia__Tomsk
| Asia__Ulaanbaatar
| Asia__Urumqi
| Asia__Ust_Nera
| Asia__Vladivostok
| Asia__Yakutsk
| Asia__Yangon
| Asia__Yekaterinburg
| Asia__Yerevan
| Atlantic__Azores
| Atlantic__Bermuda
| Atlantic__Canary
| Atlantic__Cape_Verde
| Atlantic__Faroe
| Atlantic__Madeira
| Atlantic__Reykjavik
| Atlantic__South_Georgia
| Atlantic__Stanley
| Australia__Adelaide
| Australia__Brisbane
| Australia__Broken_Hill
| Australia__Darwin
| Australia__Eucla
| Australia__Hobart
| Australia__Lindeman
| Australia__Lord_Howe
| Australia__Melbourne
| Australia__Perth
| Australia__Sydney
| Etc__GMT
| Etc__GMT'1
| Etc__GMT'10
| Etc__GMT'11
| Etc__GMT'12
| Etc__GMT'2
| Etc__GMT'3
| Etc__GMT'4
| Etc__GMT'5
| Etc__GMT'6
| Etc__GMT'7
| Etc__GMT'8
| Etc__GMT'9
| Etc__GMT_1
| Etc__GMT_10
| Etc__GMT_11
| Etc__GMT_12
| Etc__GMT_13
| Etc__GMT_14
| Etc__GMT_2
| Etc__GMT_3
| Etc__GMT_4
| Etc__GMT_5
| Etc__GMT_6
| Etc__GMT_7
| Etc__GMT_8
| Etc__GMT_9
| Etc__UTC
| Europe__Amsterdam
| Europe__Andorra
| Europe__Astrakhan
| Europe__Athens
| Europe__Belgrade
| Europe__Berlin
| Europe__Brussels
| Europe__Bucharest
| Europe__Budapest
| Europe__Chisinau
| Europe__Copenhagen
| Europe__Dublin
| Europe__Gibraltar
| Europe__Helsinki
| Europe__Istanbul
| Europe__Kaliningrad
| Europe__Kiev
| Europe__Kirov
| Europe__Lisbon
| Europe__London
| Europe__Luxembourg
| Europe__Madrid
| Europe__Malta
| Europe__Minsk
| Europe__Monaco
| Europe__Moscow
| Europe__Oslo
| Europe__Paris
| Europe__Prague
| Europe__Riga
| Europe__Rome
| Europe__Samara
| Europe__Saratov
| Europe__Simferopol
| Europe__Sofia
| Europe__Stockholm
| Europe__Tallinn
| Europe__Tirane
| Europe__Ulyanovsk
| Europe__Uzhgorod
| Europe__Vienna
| Europe__Vilnius
| Europe__Volgograd
| Europe__Warsaw
| Europe__Zaporozhye
| Europe__Zurich
| Indian__Chagos
| Indian__Christmas
| Indian__Cocos
| Indian__Kerguelen
| Indian__Mahe
| Indian__Maldives
| Indian__Mauritius
| Indian__Reunion
| Pacific__Apia
| Pacific__Auckland
| Pacific__Bougainville
| Pacific__Chatham
| Pacific__Chuuk
| Pacific__Easter
| Pacific__Efate
| Pacific__Fakaofo
| Pacific__Fiji
| Pacific__Funafuti
| Pacific__Galapagos
| Pacific__Gambier
| Pacific__Guadalcanal
| Pacific__Guam
| Pacific__Honolulu
| Pacific__Kanton
| Pacific__Kiritimati
| Pacific__Kosrae
| Pacific__Kwajalein
| Pacific__Majuro
| Pacific__Marquesas
| Pacific__Nauru
| Pacific__Niue
| Pacific__Norfolk
| Pacific__Noumea
| Pacific__Pago_Pago
| Pacific__Palau
| Pacific__Pitcairn
| Pacific__Pohnpei
| Pacific__Port_Moresby
| Pacific__Rarotonga
| Pacific__Tahiti
| Pacific__Tarawa
| Pacific__Tongatapu
| Pacific__Wake
| Pacific__Wallis
| Root__CET
| Root__CST6CDT
| Root__EET
| Root__EST
| Root__EST5EDT
| Root__HST
| Root__MET
| Root__MST
| Root__MST7MDT
| Root__PST8PDT
| Root__WET
deriving (TZLabel -> TZLabel -> Bool
(TZLabel -> TZLabel -> Bool)
-> (TZLabel -> TZLabel -> Bool) -> Eq TZLabel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TZLabel -> TZLabel -> Bool
$c/= :: TZLabel -> TZLabel -> Bool
== :: TZLabel -> TZLabel -> Bool
$c== :: TZLabel -> TZLabel -> Bool
Eq,Eq TZLabel
Eq TZLabel
-> (TZLabel -> TZLabel -> Ordering)
-> (TZLabel -> TZLabel -> Bool)
-> (TZLabel -> TZLabel -> Bool)
-> (TZLabel -> TZLabel -> Bool)
-> (TZLabel -> TZLabel -> Bool)
-> (TZLabel -> TZLabel -> TZLabel)
-> (TZLabel -> TZLabel -> TZLabel)
-> Ord TZLabel
TZLabel -> TZLabel -> Bool
TZLabel -> TZLabel -> Ordering
TZLabel -> TZLabel -> TZLabel
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TZLabel -> TZLabel -> TZLabel
$cmin :: TZLabel -> TZLabel -> TZLabel
max :: TZLabel -> TZLabel -> TZLabel
$cmax :: TZLabel -> TZLabel -> TZLabel
>= :: TZLabel -> TZLabel -> Bool
$c>= :: TZLabel -> TZLabel -> Bool
> :: TZLabel -> TZLabel -> Bool
$c> :: TZLabel -> TZLabel -> Bool
<= :: TZLabel -> TZLabel -> Bool
$c<= :: TZLabel -> TZLabel -> Bool
< :: TZLabel -> TZLabel -> Bool
$c< :: TZLabel -> TZLabel -> Bool
compare :: TZLabel -> TZLabel -> Ordering
$ccompare :: TZLabel -> TZLabel -> Ordering
$cp1Ord :: Eq TZLabel
Ord,Int -> TZLabel
TZLabel -> Int
TZLabel -> [TZLabel]
TZLabel -> TZLabel
TZLabel -> TZLabel -> [TZLabel]
TZLabel -> TZLabel -> TZLabel -> [TZLabel]
(TZLabel -> TZLabel)
-> (TZLabel -> TZLabel)
-> (Int -> TZLabel)
-> (TZLabel -> Int)
-> (TZLabel -> [TZLabel])
-> (TZLabel -> TZLabel -> [TZLabel])
-> (TZLabel -> TZLabel -> [TZLabel])
-> (TZLabel -> TZLabel -> TZLabel -> [TZLabel])
-> Enum TZLabel
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: TZLabel -> TZLabel -> TZLabel -> [TZLabel]
$cenumFromThenTo :: TZLabel -> TZLabel -> TZLabel -> [TZLabel]
enumFromTo :: TZLabel -> TZLabel -> [TZLabel]
$cenumFromTo :: TZLabel -> TZLabel -> [TZLabel]
enumFromThen :: TZLabel -> TZLabel -> [TZLabel]
$cenumFromThen :: TZLabel -> TZLabel -> [TZLabel]
enumFrom :: TZLabel -> [TZLabel]
$cenumFrom :: TZLabel -> [TZLabel]
fromEnum :: TZLabel -> Int
$cfromEnum :: TZLabel -> Int
toEnum :: Int -> TZLabel
$ctoEnum :: Int -> TZLabel
pred :: TZLabel -> TZLabel
$cpred :: TZLabel -> TZLabel
succ :: TZLabel -> TZLabel
$csucc :: TZLabel -> TZLabel
Enum,TZLabel
TZLabel -> TZLabel -> Bounded TZLabel
forall a. a -> a -> Bounded a
maxBound :: TZLabel
$cmaxBound :: TZLabel
minBound :: TZLabel
$cminBound :: TZLabel
Bounded,Int -> TZLabel -> ShowS
[TZLabel] -> ShowS
TZLabel -> String
(Int -> TZLabel -> ShowS)
-> (TZLabel -> String) -> ([TZLabel] -> ShowS) -> Show TZLabel
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TZLabel] -> ShowS
$cshowList :: [TZLabel] -> ShowS
show :: TZLabel -> String
$cshow :: TZLabel -> String
showsPrec :: Int -> TZLabel -> ShowS
$cshowsPrec :: Int -> TZLabel -> ShowS
Show,ReadPrec [TZLabel]
ReadPrec TZLabel
Int -> ReadS TZLabel
ReadS [TZLabel]
(Int -> ReadS TZLabel)
-> ReadS [TZLabel]
-> ReadPrec TZLabel
-> ReadPrec [TZLabel]
-> Read TZLabel
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TZLabel]
$creadListPrec :: ReadPrec [TZLabel]
readPrec :: ReadPrec TZLabel
$creadPrec :: ReadPrec TZLabel
readList :: ReadS [TZLabel]
$creadList :: ReadS [TZLabel]
readsPrec :: Int -> ReadS TZLabel
$creadsPrec :: Int -> ReadS TZLabel
Read,