|
9 | 9 |
|
10 | 10 | {-# OPTIONS_GHC -Wno-orphans #-} |
11 | 11 |
|
12 | | -module Ouroboros.Network.OrphanInstances where |
| 12 | +-- | Orphan JSON instances for Ouroboros.Network types. |
| 13 | +-- |
| 14 | +module Ouroboros.Network.OrphanInstances |
| 15 | + ( networkTopologyFromJSON |
| 16 | + , localRootPeersGroupsFromJSON |
| 17 | + , networkTopologyToJSON |
| 18 | + , localRootPeersGroupsToJSON |
| 19 | + , peerSelectionTargetsToObject |
| 20 | + ) where |
13 | 21 |
|
14 | 22 | import Cardano.Network.NodeToClient (LocalAddress (..), ProtocolLimitFailure) |
15 | 23 | import Control.Applicative (Alternative ((<|>))) |
@@ -149,16 +157,12 @@ localRootPeersGroupToJSON :: (extraFlags -> Maybe (Key, Value)) |
149 | 157 | -> Value |
150 | 158 | localRootPeersGroupToJSON extraFlagsToJSON lrpg = |
151 | 159 | Object $ |
152 | | - ("accessPoints" .?= rootAccessPoints (localRoots lrpg)) |
153 | | - <> ("advertise" .?= rootAdvertise (localRoots lrpg)) |
154 | | - <> ("hotValency" .?= hotValency lrpg) |
155 | | - <> ("warmValency" .?= warmValency lrpg) |
156 | | - <> (case mv of |
157 | | - Nothing -> mempty |
158 | | - Just (k, v) -> k .?= v) |
159 | | - <> ("diffusionMode" .?= rootDiffusionMode lrpg) |
160 | | - where |
161 | | - mv = extraFlagsToJSON (extraFlags lrpg) |
| 160 | + ("accessPoints" .?= rootAccessPoints (localRoots lrpg)) |
| 161 | + <> ("advertise" .?= rootAdvertise (localRoots lrpg)) |
| 162 | + <> ("hotValency" .?= hotValency lrpg) |
| 163 | + <> ("warmValency" .?= warmValency lrpg) |
| 164 | + <> foldMap (uncurry (.?=)) (extraFlagsToJSON (extraFlags lrpg)) |
| 165 | + <> ("diffusionMode" .?= rootDiffusionMode lrpg) |
162 | 166 |
|
163 | 167 | localRootPeersGroupsFromJSON |
164 | 168 | :: (Object -> Parser extraFlags) |
@@ -219,11 +223,7 @@ networkTopologyToJSON |
219 | 223 | <> ("publicRoots" .?= publicRootPeers) |
220 | 224 | <> ("useLedgerAfterSlot" .?= useLedgerPeers) |
221 | 225 | <> ("peerSnapshotFile" .?= peerSnapshotPath) |
222 | | - <> (case mv of |
223 | | - Nothing -> mempty |
224 | | - Just (k,v) -> k .?= v) |
225 | | - where |
226 | | - mv = extraConfigToJSON extraConfig |
| 226 | + <> foldMap (uncurry (.?=)) (extraConfigToJSON extraConfig) |
227 | 227 |
|
228 | 228 | instance FromJSON PeerSharing where |
229 | 229 | parseJSON = withBool "PeerSharing" $ \b -> |
|
0 commit comments