{-# 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.Comprehend.Types.TargetedSentimentEntityType
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Comprehend.Types.TargetedSentimentEntityType
  ( TargetedSentimentEntityType
      ( ..,
        TargetedSentimentEntityType_ATTRIBUTE,
        TargetedSentimentEntityType_BOOK,
        TargetedSentimentEntityType_BRAND,
        TargetedSentimentEntityType_COMMERCIAL_ITEM,
        TargetedSentimentEntityType_DATE,
        TargetedSentimentEntityType_EVENT,
        TargetedSentimentEntityType_FACILITY,
        TargetedSentimentEntityType_GAME,
        TargetedSentimentEntityType_LOCATION,
        TargetedSentimentEntityType_MOVIE,
        TargetedSentimentEntityType_MUSIC,
        TargetedSentimentEntityType_ORGANIZATION,
        TargetedSentimentEntityType_OTHER,
        TargetedSentimentEntityType_PERSON,
        TargetedSentimentEntityType_PERSONAL_TITLE,
        TargetedSentimentEntityType_QUANTITY,
        TargetedSentimentEntityType_SOFTWARE
      ),
  )
where

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

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

pattern TargetedSentimentEntityType_ATTRIBUTE :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_ATTRIBUTE :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_ATTRIBUTE :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_ATTRIBUTE = TargetedSentimentEntityType' "ATTRIBUTE"

pattern TargetedSentimentEntityType_BOOK :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_BOOK :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_BOOK :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_BOOK = TargetedSentimentEntityType' "BOOK"

pattern TargetedSentimentEntityType_BRAND :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_BRAND :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_BRAND :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_BRAND = TargetedSentimentEntityType' "BRAND"

pattern TargetedSentimentEntityType_COMMERCIAL_ITEM :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_COMMERCIAL_ITEM :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_COMMERCIAL_ITEM :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_COMMERCIAL_ITEM = TargetedSentimentEntityType' "COMMERCIAL_ITEM"

pattern TargetedSentimentEntityType_DATE :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_DATE :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_DATE :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_DATE = TargetedSentimentEntityType' "DATE"

pattern TargetedSentimentEntityType_EVENT :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_EVENT :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_EVENT :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_EVENT = TargetedSentimentEntityType' "EVENT"

pattern TargetedSentimentEntityType_FACILITY :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_FACILITY :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_FACILITY :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_FACILITY = TargetedSentimentEntityType' "FACILITY"

pattern TargetedSentimentEntityType_GAME :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_GAME :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_GAME :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_GAME = TargetedSentimentEntityType' "GAME"

pattern TargetedSentimentEntityType_LOCATION :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_LOCATION :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_LOCATION :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_LOCATION = TargetedSentimentEntityType' "LOCATION"

pattern TargetedSentimentEntityType_MOVIE :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_MOVIE :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_MOVIE :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_MOVIE = TargetedSentimentEntityType' "MOVIE"

pattern TargetedSentimentEntityType_MUSIC :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_MUSIC :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_MUSIC :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_MUSIC = TargetedSentimentEntityType' "MUSIC"

pattern TargetedSentimentEntityType_ORGANIZATION :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_ORGANIZATION :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_ORGANIZATION :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_ORGANIZATION = TargetedSentimentEntityType' "ORGANIZATION"

pattern TargetedSentimentEntityType_OTHER :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_OTHER :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_OTHER :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_OTHER = TargetedSentimentEntityType' "OTHER"

pattern TargetedSentimentEntityType_PERSON :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_PERSON :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_PERSON :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_PERSON = TargetedSentimentEntityType' "PERSON"

pattern TargetedSentimentEntityType_PERSONAL_TITLE :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_PERSONAL_TITLE :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_PERSONAL_TITLE :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_PERSONAL_TITLE = TargetedSentimentEntityType' "PERSONAL_TITLE"

pattern TargetedSentimentEntityType_QUANTITY :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_QUANTITY :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_QUANTITY :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_QUANTITY = TargetedSentimentEntityType' "QUANTITY"

pattern TargetedSentimentEntityType_SOFTWARE :: TargetedSentimentEntityType
pattern $bTargetedSentimentEntityType_SOFTWARE :: TargetedSentimentEntityType
$mTargetedSentimentEntityType_SOFTWARE :: forall {r}.
TargetedSentimentEntityType -> ((# #) -> r) -> ((# #) -> r) -> r
TargetedSentimentEntityType_SOFTWARE = TargetedSentimentEntityType' "SOFTWARE"

{-# COMPLETE
  TargetedSentimentEntityType_ATTRIBUTE,
  TargetedSentimentEntityType_BOOK,
  TargetedSentimentEntityType_BRAND,
  TargetedSentimentEntityType_COMMERCIAL_ITEM,
  TargetedSentimentEntityType_DATE,
  TargetedSentimentEntityType_EVENT,
  TargetedSentimentEntityType_FACILITY,
  TargetedSentimentEntityType_GAME,
  TargetedSentimentEntityType_LOCATION,
  TargetedSentimentEntityType_MOVIE,
  TargetedSentimentEntityType_MUSIC,
  TargetedSentimentEntityType_ORGANIZATION,
  TargetedSentimentEntityType_OTHER,
  TargetedSentimentEntityType_PERSON,
  TargetedSentimentEntityType_PERSONAL_TITLE,
  TargetedSentimentEntityType_QUANTITY,
  TargetedSentimentEntityType_SOFTWARE,
  TargetedSentimentEntityType'
  #-}