{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}

module Web.OpenWeatherMap.Types.Forecast
  ( Forecast(..)
  ) where

import GHC.Generics (Generic)

import Data.Aeson (FromJSON)

import Web.OpenWeatherMap.Types.Clouds (Clouds)
import Web.OpenWeatherMap.Types.Main (Main)
import Web.OpenWeatherMap.Types.Weather (Weather)
import Web.OpenWeatherMap.Types.Wind (Wind)

data Forecast =
  Forecast
    { Forecast -> Int
dt :: Int
    , Forecast -> Clouds
clouds :: Clouds
    , Forecast -> Main
main :: Main
    , Forecast -> [Weather]
weather :: [Weather]
    , Forecast -> Wind
wind :: Wind
    }
  deriving (Int -> Forecast -> ShowS
[Forecast] -> ShowS
Forecast -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Forecast] -> ShowS
$cshowList :: [Forecast] -> ShowS
show :: Forecast -> String
$cshow :: Forecast -> String
showsPrec :: Int -> Forecast -> ShowS
$cshowsPrec :: Int -> Forecast -> ShowS
Show, forall x. Rep Forecast x -> Forecast
forall x. Forecast -> Rep Forecast x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Forecast x -> Forecast
$cfrom :: forall x. Forecast -> Rep Forecast x
Generic, Value -> Parser [Forecast]
Value -> Parser Forecast
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [Forecast]
$cparseJSONList :: Value -> Parser [Forecast]
parseJSON :: Value -> Parser Forecast
$cparseJSON :: Value -> Parser Forecast
FromJSON)