{-# OPTIONS_GHC -Wno-orphans #-}

module Iri.Data.Instances.Show where

import qualified Data.Text as B
import Iri.Data.Types
import Iri.Prelude
import qualified Iri.Rendering.Text.Internal as A

instance Show Iri where
  show :: Iri -> String
show =
    String -> ShowS
forall a. Monoid a => a -> a -> a
mappend String
"\"" ShowS -> (Iri -> String) -> Iri -> String
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 -> ShowS) -> String -> ShowS
forall a b c. (a -> b -> c) -> b -> a -> c
flip String -> ShowS
forall a. Monoid a => a -> a -> a
mappend String
"\"" ShowS -> (Iri -> String) -> Iri -> String
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
. Text -> String
B.unpack (Text -> String) -> (Iri -> Text) -> Iri -> String
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
. Iri -> Text
A.iri

instance Show HttpIri where
  show :: HttpIri -> String
show =
    String -> ShowS
forall a. Monoid a => a -> a -> a
mappend String
"\"" ShowS -> (HttpIri -> String) -> HttpIri -> String
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 -> ShowS) -> String -> ShowS
forall a b c. (a -> b -> c) -> b -> a -> c
flip String -> ShowS
forall a. Monoid a => a -> a -> a
mappend String
"\"" ShowS -> (HttpIri -> String) -> HttpIri -> String
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
. Text -> String
B.unpack (Text -> String) -> (HttpIri -> Text) -> HttpIri -> String
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
. HttpIri -> Text
A.httpIri

deriving instance Show Scheme

deriving instance Show Hierarchy

deriving instance Show Authority

deriving instance Show UserInfo

deriving instance Show User

deriving instance Show Password

deriving instance Show Host

deriving instance Show RegName

deriving instance Show DomainLabel

deriving instance Show Port

deriving instance Show Path

deriving instance Show PathSegment

deriving instance Show Query

deriving instance Show Fragment

deriving instance Show Security