2
{-# LANGUAGE StandaloneDeriving #-}
4
{-# OPTIONS_GHC -Wno-orphans #-}
6
module Cardano.Node.Orphans () where
11
import Data.Aeson (FromJSON (..), Value (..))
12
import qualified Data.Text as Text
14
import Cardano.BM.Data.Tracer (TracingVerbosity (..))
15
import qualified Cardano.Chain.Update as Update
17
instance FromJSON TracingVerbosity where
18
parseJSON (String str) = case str of
19
"MinimalVerbosity" -> pure MinimalVerbosity
20
"MaximalVerbosity" -> pure MaximalVerbosity
21
"NormalVerbosity" -> pure NormalVerbosity
22
err -> fail $ "Parsing of TracingVerbosity failed, "
23
<> Text.unpack err <> " is not a valid TracingVerbosity"
24
parseJSON invalid = fail $ "Parsing of TracingVerbosity failed due to type mismatch. "
25
<> "Encountered: " <> show invalid
27
deriving instance Show TracingVerbosity
29
instance FromJSON Update.ApplicationName where
30
parseJSON (String x) = pure $ Update.ApplicationName x
32
fail $ "Parsing of application name failed due to type mismatch. "
33
<> "Encountered: " <> show invalid