{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.CodeCommit.Types.SortByEnum
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CodeCommit.Types.SortByEnum
  ( SortByEnum
      ( ..,
        SortByEnum_LastModifiedDate,
        SortByEnum_RepositoryName
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype SortByEnum = SortByEnum'
  { SortByEnum -> Text
fromSortByEnum ::
      Core.Text
  }
  deriving stock
    ( Int -> SortByEnum -> ShowS
[SortByEnum] -> ShowS
SortByEnum -> String
(Int -> SortByEnum -> ShowS)
-> (SortByEnum -> String)
-> ([SortByEnum] -> ShowS)
-> Show SortByEnum
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SortByEnum] -> ShowS
$cshowList :: [SortByEnum] -> ShowS
show :: SortByEnum -> String
$cshow :: SortByEnum -> String
showsPrec :: Int -> SortByEnum -> ShowS
$cshowsPrec :: Int -> SortByEnum -> ShowS
Prelude.Show,
      ReadPrec [SortByEnum]
ReadPrec SortByEnum
Int -> ReadS SortByEnum
ReadS [SortByEnum]
(Int -> ReadS SortByEnum)
-> ReadS [SortByEnum]
-> ReadPrec SortByEnum
-> ReadPrec [SortByEnum]
-> Read SortByEnum
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SortByEnum]
$creadListPrec :: ReadPrec [SortByEnum]
readPrec :: ReadPrec SortByEnum
$creadPrec :: ReadPrec SortByEnum
readList :: ReadS [SortByEnum]
$creadList :: ReadS [SortByEnum]
readsPrec :: Int -> ReadS SortByEnum
$creadsPrec :: Int -> ReadS SortByEnum
Prelude.Read,
      SortByEnum -> SortByEnum -> Bool
(SortByEnum -> SortByEnum -> Bool)
-> (SortByEnum -> SortByEnum -> Bool) -> Eq SortByEnum
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SortByEnum -> SortByEnum -> Bool
$c/= :: SortByEnum -> SortByEnum -> Bool
== :: SortByEnum -> SortByEnum -> Bool
$c== :: SortByEnum -> SortByEnum -> Bool
Prelude.Eq,
      Eq SortByEnum
Eq SortByEnum
-> (SortByEnum -> SortByEnum -> Ordering)
-> (SortByEnum -> SortByEnum -> Bool)
-> (SortByEnum -> SortByEnum -> Bool)
-> (SortByEnum -> SortByEnum -> Bool)
-> (SortByEnum -> SortByEnum -> Bool)
-> (SortByEnum -> SortByEnum -> SortByEnum)
-> (SortByEnum -> SortByEnum -> SortByEnum)
-> Ord SortByEnum
SortByEnum -> SortByEnum -> Bool
SortByEnum -> SortByEnum -> Ordering
SortByEnum -> SortByEnum -> SortByEnum
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 :: SortByEnum -> SortByEnum -> SortByEnum
$cmin :: SortByEnum -> SortByEnum -> SortByEnum
max :: SortByEnum -> SortByEnum -> SortByEnum
$cmax :: SortByEnum -> SortByEnum -> SortByEnum
>= :: SortByEnum -> SortByEnum -> Bool
$c>= :: SortByEnum -> SortByEnum -> Bool
> :: SortByEnum -> SortByEnum -> Bool
$c> :: SortByEnum -> SortByEnum -> Bool
<= :: SortByEnum -> SortByEnum -> Bool
$c<= :: SortByEnum -> SortByEnum -> Bool
< :: SortByEnum -> SortByEnum -> Bool
$c< :: SortByEnum -> SortByEnum -> Bool
compare :: SortByEnum -> SortByEnum -> Ordering
$ccompare :: SortByEnum -> SortByEnum -> Ordering
$cp1Ord :: Eq SortByEnum
Prelude.Ord,
      (forall x. SortByEnum -> Rep SortByEnum x)
-> (forall x. Rep SortByEnum x -> SortByEnum) -> Generic SortByEnum
forall x. Rep SortByEnum x -> SortByEnum
forall x. SortByEnum -> Rep SortByEnum x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SortByEnum x -> SortByEnum
$cfrom :: forall x. SortByEnum -> Rep SortByEnum x
Prelude.Generic
    )
  deriving newtype
    ( Int -> SortByEnum -> Int
SortByEnum -> Int
(Int -> SortByEnum -> Int)
-> (SortByEnum -> Int) -> Hashable SortByEnum
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: SortByEnum -> Int
$chash :: SortByEnum -> Int
hashWithSalt :: Int -> SortByEnum -> Int
$chashWithSalt :: Int -> SortByEnum -> Int
Prelude.Hashable,
      SortByEnum -> ()
(SortByEnum -> ()) -> NFData SortByEnum
forall a. (a -> ()) -> NFData a
rnf :: SortByEnum -> ()
$crnf :: SortByEnum -> ()
Prelude.NFData,
      Text -> Either String SortByEnum
(Text -> Either String SortByEnum) -> FromText SortByEnum
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String SortByEnum
$cfromText :: Text -> Either String SortByEnum
Core.FromText,
      SortByEnum -> Text
(SortByEnum -> Text) -> ToText SortByEnum
forall a. (a -> Text) -> ToText a
toText :: SortByEnum -> Text
$ctoText :: SortByEnum -> Text
Core.ToText,
      SortByEnum -> ByteString
(SortByEnum -> ByteString) -> ToByteString SortByEnum
forall a. (a -> ByteString) -> ToByteString a
toBS :: SortByEnum -> ByteString
$ctoBS :: SortByEnum -> ByteString
Core.ToByteString,
      SortByEnum -> ByteStringBuilder
(SortByEnum -> ByteStringBuilder) -> ToLog SortByEnum
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: SortByEnum -> ByteStringBuilder
$cbuild :: SortByEnum -> ByteStringBuilder
Core.ToLog,
      HeaderName -> SortByEnum -> [Header]
(HeaderName -> SortByEnum -> [Header]) -> ToHeader SortByEnum
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> SortByEnum -> [Header]
$ctoHeader :: HeaderName -> SortByEnum -> [Header]
Core.ToHeader,
      SortByEnum -> QueryString
(SortByEnum -> QueryString) -> ToQuery SortByEnum
forall a. (a -> QueryString) -> ToQuery a
toQuery :: SortByEnum -> QueryString
$ctoQuery :: SortByEnum -> QueryString
Core.ToQuery,
      Value -> Parser [SortByEnum]
Value -> Parser SortByEnum
(Value -> Parser SortByEnum)
-> (Value -> Parser [SortByEnum]) -> FromJSON SortByEnum
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [SortByEnum]
$cparseJSONList :: Value -> Parser [SortByEnum]
parseJSON :: Value -> Parser SortByEnum
$cparseJSON :: Value -> Parser SortByEnum
Core.FromJSON,
      FromJSONKeyFunction [SortByEnum]
FromJSONKeyFunction SortByEnum
FromJSONKeyFunction SortByEnum
-> FromJSONKeyFunction [SortByEnum] -> FromJSONKey SortByEnum
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [SortByEnum]
$cfromJSONKeyList :: FromJSONKeyFunction [SortByEnum]
fromJSONKey :: FromJSONKeyFunction SortByEnum
$cfromJSONKey :: FromJSONKeyFunction SortByEnum
Core.FromJSONKey,
      [SortByEnum] -> Encoding
[SortByEnum] -> Value
SortByEnum -> Encoding
SortByEnum -> Value
(SortByEnum -> Value)
-> (SortByEnum -> Encoding)
-> ([SortByEnum] -> Value)
-> ([SortByEnum] -> Encoding)
-> ToJSON SortByEnum
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [SortByEnum] -> Encoding
$ctoEncodingList :: [SortByEnum] -> Encoding
toJSONList :: [SortByEnum] -> Value
$ctoJSONList :: [SortByEnum] -> Value
toEncoding :: SortByEnum -> Encoding
$ctoEncoding :: SortByEnum -> Encoding
toJSON :: SortByEnum -> Value
$ctoJSON :: SortByEnum -> Value
Core.ToJSON,
      ToJSONKeyFunction [SortByEnum]
ToJSONKeyFunction SortByEnum
ToJSONKeyFunction SortByEnum
-> ToJSONKeyFunction [SortByEnum] -> ToJSONKey SortByEnum
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [SortByEnum]
$ctoJSONKeyList :: ToJSONKeyFunction [SortByEnum]
toJSONKey :: ToJSONKeyFunction SortByEnum
$ctoJSONKey :: ToJSONKeyFunction SortByEnum
Core.ToJSONKey,
      [Node] -> Either String SortByEnum
([Node] -> Either String SortByEnum) -> FromXML SortByEnum
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String SortByEnum
$cparseXML :: [Node] -> Either String SortByEnum
Core.FromXML,
      SortByEnum -> XML
(SortByEnum -> XML) -> ToXML SortByEnum
forall a. (a -> XML) -> ToXML a
toXML :: SortByEnum -> XML
$ctoXML :: SortByEnum -> XML
Core.ToXML
    )

pattern SortByEnum_LastModifiedDate :: SortByEnum
pattern $bSortByEnum_LastModifiedDate :: SortByEnum
$mSortByEnum_LastModifiedDate :: forall r. SortByEnum -> (Void# -> r) -> (Void# -> r) -> r
SortByEnum_LastModifiedDate = SortByEnum' "lastModifiedDate"

pattern SortByEnum_RepositoryName :: SortByEnum
pattern $bSortByEnum_RepositoryName :: SortByEnum
$mSortByEnum_RepositoryName :: forall r. SortByEnum -> (Void# -> r) -> (Void# -> r) -> r
SortByEnum_RepositoryName = SortByEnum' "repositoryName"

{-# COMPLETE
  SortByEnum_LastModifiedDate,
  SortByEnum_RepositoryName,
  SortByEnum'
  #-}