{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE DefaultSignatures #-}
module Data.Aviation.Aip.AipContents(
AipContents(..)
, AsAipContents(..)
, FoldAipContents(..)
, GetAipContents(..)
, SetAipContents(..)
, ManyAipContents(..)
, HasAipContents(..)
, IsAipContents(..)
) where
import Control.Category((.), id)
import Control.Lens
import Data.Eq(Eq)
import Data.Functor((<$>))
import Data.Ord(Ord)
import Data.String(String)
import Prelude(Show)
data AipContents =
AipContents
String
String
String
deriving (Eq, Ord, Show)
class ManyAipContents a => AsAipContents a where
_AipContents ::
Prism' a AipContents
default _AipContents ::
IsAipContents a =>
Prism' a AipContents
_AipContents =
_IsAipContents
instance AsAipContents AipContents where
_AipContents =
id
class FoldAipContents a where
_FoldAipContents ::
Fold a AipContents
instance FoldAipContents AipContents where
_FoldAipContents =
id
class FoldAipContents a => GetAipContents a where
_GetAipContents ::
Getter a AipContents
default _GetAipContents ::
HasAipContents a =>
Getter a AipContents
_GetAipContents =
aipContents
instance GetAipContents AipContents where
_GetAipContents =
id
class SetAipContents a where
_SetAipContents ::
Setter' a AipContents
default _SetAipContents ::
ManyAipContents a =>
Setter' a AipContents
_SetAipContents =
_ManyAipContents
instance SetAipContents AipContents where
_SetAipContents =
id
class (FoldAipContents a, SetAipContents a) => ManyAipContents a where
_ManyAipContents ::
Traversal' a AipContents
instance ManyAipContents AipContents where
_ManyAipContents =
id
class (GetAipContents a, ManyAipContents a) => HasAipContents a where
aipContents ::
Lens' a AipContents
default aipContents ::
IsAipContents a =>
Lens' a AipContents
aipContents =
_IsAipContents
aipContentsPath ::
Lens' a String
aipContentsPath =
aipContents . aipContentsPath
aipContentsQuery ::
Lens' a String
aipContentsQuery =
aipContents . aipContentsQuery
aipContentsBody ::
Lens' a String
aipContentsBody =
aipContents . aipContentsBody
instance HasAipContents AipContents where
aipContents =
id
aipContentsPath f (AipContents p q b) =
(\p' -> AipContents p' q b) <$> f p
aipContentsQuery f (AipContents p q b) =
(\q' -> AipContents p q' b) <$> f q
aipContentsBody f (AipContents p q b) =
(\b' -> AipContents p q b') <$> f b
class (HasAipContents a, AsAipContents a) => IsAipContents a where
_IsAipContents ::
Iso' a AipContents
instance IsAipContents AipContents where
_IsAipContents =
id