{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE TemplateHaskell #-}

module Data.Aviation.Casr.Logbook.Meta.Visualisation(
  Visualisation(Doarama)
, HasVisualisation(..)
, doaramaname'
) where

import Control.Category ( Category((.)) )
import Control.Lens(makeClassy, Traversal', _Just)
import Data.Eq(Eq)
import Data.Maybe(Maybe)
import Data.Ord(Ord)
import Data.String(String)
import Prelude(Show)

data Visualisation =
  Doarama {
    Visualisation -> String
_doaramaid :: String
  , Visualisation -> String
_oembedid :: String
  , Visualisation -> Maybe String
_doaramaname :: Maybe String
  } deriving (Visualisation -> Visualisation -> Bool
(Visualisation -> Visualisation -> Bool)
-> (Visualisation -> Visualisation -> Bool) -> Eq Visualisation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Visualisation -> Visualisation -> Bool
== :: Visualisation -> Visualisation -> Bool
$c/= :: Visualisation -> Visualisation -> Bool
/= :: Visualisation -> Visualisation -> Bool
Eq, Eq Visualisation
Eq Visualisation =>
(Visualisation -> Visualisation -> Ordering)
-> (Visualisation -> Visualisation -> Bool)
-> (Visualisation -> Visualisation -> Bool)
-> (Visualisation -> Visualisation -> Bool)
-> (Visualisation -> Visualisation -> Bool)
-> (Visualisation -> Visualisation -> Visualisation)
-> (Visualisation -> Visualisation -> Visualisation)
-> Ord Visualisation
Visualisation -> Visualisation -> Bool
Visualisation -> Visualisation -> Ordering
Visualisation -> Visualisation -> Visualisation
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
$ccompare :: Visualisation -> Visualisation -> Ordering
compare :: Visualisation -> Visualisation -> Ordering
$c< :: Visualisation -> Visualisation -> Bool
< :: Visualisation -> Visualisation -> Bool
$c<= :: Visualisation -> Visualisation -> Bool
<= :: Visualisation -> Visualisation -> Bool
$c> :: Visualisation -> Visualisation -> Bool
> :: Visualisation -> Visualisation -> Bool
$c>= :: Visualisation -> Visualisation -> Bool
>= :: Visualisation -> Visualisation -> Bool
$cmax :: Visualisation -> Visualisation -> Visualisation
max :: Visualisation -> Visualisation -> Visualisation
$cmin :: Visualisation -> Visualisation -> Visualisation
min :: Visualisation -> Visualisation -> Visualisation
Ord, Int -> Visualisation -> ShowS
[Visualisation] -> ShowS
Visualisation -> String
(Int -> Visualisation -> ShowS)
-> (Visualisation -> String)
-> ([Visualisation] -> ShowS)
-> Show Visualisation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Visualisation -> ShowS
showsPrec :: Int -> Visualisation -> ShowS
$cshow :: Visualisation -> String
show :: Visualisation -> String
$cshowList :: [Visualisation] -> ShowS
showList :: [Visualisation] -> ShowS
Show)

makeClassy ''Visualisation

doaramaname' ::
  HasVisualisation c =>
  Traversal' c String
doaramaname' :: forall c. HasVisualisation c => Traversal' c String
doaramaname' =
  (Maybe String -> f (Maybe String)) -> c -> f c
forall c. HasVisualisation c => Lens' c (Maybe String)
Lens' c (Maybe String)
doaramaname ((Maybe String -> f (Maybe String)) -> c -> f c)
-> ((String -> f String) -> Maybe String -> f (Maybe String))
-> (String -> f String)
-> c
-> f c
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. (String -> f String) -> Maybe String -> f (Maybe String)
forall a b (p :: * -> * -> *) (f :: * -> *).
(Choice p, Applicative f) =>
p a (f b) -> p (Maybe a) (f (Maybe b))
_Just