module Instances where import Data.Text (Text) import qualified Data.Text as T (unpack) import Data.Time (UTCTime, formatTime, defaultTimeLocale) import Text.Show.Pretty (Value, PrettyVal(..), dumpStr) import qualified Text.Show.Pretty as PShow (Value(..)) import Thermoprint.Client (Scheme(..), BaseUrl(..), PrinterId(..), JobId(..), DraftId(..), Range(..)) instance PrettyVal Scheme instance PrettyVal BaseUrl instance PrettyVal PrinterId instance PrettyVal JobId instance PrettyVal DraftId instance PrettyVal a => PrettyVal (Range a) instance PrettyVal UTCTime where prettyVal = PShow.String . formatTime defaultTimeLocale "%Z %F %X" instance PrettyVal Text where prettyVal = prettyVal . T.unpack