{-# options_haddock prune #-}

-- |InstanceName Data Type, Internal
module Helic.Data.InstanceName where

import Polysemy.Time.Json (json)

newtype InstanceName =
  InstanceName { InstanceName -> Text
unInstanceName :: Text }
  deriving stock (InstanceName -> InstanceName -> Bool
(InstanceName -> InstanceName -> Bool)
-> (InstanceName -> InstanceName -> Bool) -> Eq InstanceName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InstanceName -> InstanceName -> Bool
$c/= :: InstanceName -> InstanceName -> Bool
== :: InstanceName -> InstanceName -> Bool
$c== :: InstanceName -> InstanceName -> Bool
Eq, Int -> InstanceName -> ShowS
[InstanceName] -> ShowS
InstanceName -> String
(Int -> InstanceName -> ShowS)
-> (InstanceName -> String)
-> ([InstanceName] -> ShowS)
-> Show InstanceName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InstanceName] -> ShowS
$cshowList :: [InstanceName] -> ShowS
show :: InstanceName -> String
$cshow :: InstanceName -> String
showsPrec :: Int -> InstanceName -> ShowS
$cshowsPrec :: Int -> InstanceName -> ShowS
Show, (forall x. InstanceName -> Rep InstanceName x)
-> (forall x. Rep InstanceName x -> InstanceName)
-> Generic InstanceName
forall x. Rep InstanceName x -> InstanceName
forall x. InstanceName -> Rep InstanceName x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep InstanceName x -> InstanceName
$cfrom :: forall x. InstanceName -> Rep InstanceName x
Generic)
  deriving newtype (String -> InstanceName
(String -> InstanceName) -> IsString InstanceName
forall a. (String -> a) -> IsString a
fromString :: String -> InstanceName
$cfromString :: String -> InstanceName
IsString)

json ''InstanceName