module Data.MediaType where

import HPrelude

newtype MediaType = MediaType Text
  deriving newtype (MediaType -> MediaType -> Bool
(MediaType -> MediaType -> Bool)
-> (MediaType -> MediaType -> Bool) -> Eq MediaType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MediaType -> MediaType -> Bool
== :: MediaType -> MediaType -> Bool
$c/= :: MediaType -> MediaType -> Bool
/= :: MediaType -> MediaType -> Bool
Eq, Eq MediaType
Eq MediaType =>
(MediaType -> MediaType -> Ordering)
-> (MediaType -> MediaType -> Bool)
-> (MediaType -> MediaType -> Bool)
-> (MediaType -> MediaType -> Bool)
-> (MediaType -> MediaType -> Bool)
-> (MediaType -> MediaType -> MediaType)
-> (MediaType -> MediaType -> MediaType)
-> Ord MediaType
MediaType -> MediaType -> Bool
MediaType -> MediaType -> Ordering
MediaType -> MediaType -> MediaType
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 :: MediaType -> MediaType -> Ordering
compare :: MediaType -> MediaType -> Ordering
$c< :: MediaType -> MediaType -> Bool
< :: MediaType -> MediaType -> Bool
$c<= :: MediaType -> MediaType -> Bool
<= :: MediaType -> MediaType -> Bool
$c> :: MediaType -> MediaType -> Bool
> :: MediaType -> MediaType -> Bool
$c>= :: MediaType -> MediaType -> Bool
>= :: MediaType -> MediaType -> Bool
$cmax :: MediaType -> MediaType -> MediaType
max :: MediaType -> MediaType -> MediaType
$cmin :: MediaType -> MediaType -> MediaType
min :: MediaType -> MediaType -> MediaType
Ord, Int -> MediaType -> ShowS
[MediaType] -> ShowS
MediaType -> String
(Int -> MediaType -> ShowS)
-> (MediaType -> String)
-> ([MediaType] -> ShowS)
-> Show MediaType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MediaType -> ShowS
showsPrec :: Int -> MediaType -> ShowS
$cshow :: MediaType -> String
show :: MediaType -> String
$cshowList :: [MediaType] -> ShowS
showList :: [MediaType] -> ShowS
Show)

-- | The `application/x-www-form-urlencoded` media type.
applicationFormURLEncoded :: MediaType
applicationFormURLEncoded :: MediaType
applicationFormURLEncoded = Text -> MediaType
MediaType Text
"application/x-www-form-urlencoded"

-- | The `application/json` media type.
applicationJSON :: MediaType
applicationJSON :: MediaType
applicationJSON = Text -> MediaType
MediaType Text
"application/json"

-- | The `application/javascript` media type.
applicationJavascript :: MediaType
applicationJavascript :: MediaType
applicationJavascript = Text -> MediaType
MediaType Text
"application/javascript"

-- | The `application/octet-stream` media type.
applicationOctetStream :: MediaType
applicationOctetStream :: MediaType
applicationOctetStream = Text -> MediaType
MediaType Text
"application/octet-stream"

-- | The `application/xml` media type.
applicationXML :: MediaType
applicationXML :: MediaType
applicationXML = Text -> MediaType
MediaType Text
"application/xml"

-- | The `image/gif` media type.
imageGIF :: MediaType
imageGIF :: MediaType
imageGIF = Text -> MediaType
MediaType Text
"image/gif"

-- | The `image/jpeg` media type.
imageJPEG :: MediaType
imageJPEG :: MediaType
imageJPEG = Text -> MediaType
MediaType Text
"image/jpeg"

-- | The `image/png` media type.
imagePNG :: MediaType
imagePNG :: MediaType
imagePNG = Text -> MediaType
MediaType Text
"image/png"

-- | The `multipart/form-data` media type.
multipartFormData :: MediaType
multipartFormData :: MediaType
multipartFormData = Text -> MediaType
MediaType Text
"multipart/form-data"

-- | The `text/csv` media type.
textCSV :: MediaType
textCSV :: MediaType
textCSV = Text -> MediaType
MediaType Text
"text/csv"

-- | The `text/html` media type.
textHTML :: MediaType
textHTML :: MediaType
textHTML = Text -> MediaType
MediaType Text
"text/html"

-- | The `text/plain` media type.
textPlain :: MediaType
textPlain :: MediaType
textPlain = Text -> MediaType
MediaType Text
"text/plain"

-- | The `text/xml` media type.
textXML :: MediaType
textXML :: MediaType
textXML = Text -> MediaType
MediaType Text
"text/xml"

-- | The `text/css` media type.
textCSS :: MediaType
textCSS :: MediaType
textCSS = Text -> MediaType
MediaType Text
"text/css"