{-# options_haddock prune #-}

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

import Polysemy.Time.Json (json)

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

json ''AgentId