@@ -24,10 +24,10 @@ import Data.Foldable (toList)
2424import Data.List.Compat (uncons )
2525import Data.Proxy (Proxy (.. ))
2626import GHC.Generics
27- ((:*:) (.. ), (:+:) (.. ), Constructor (.. ), Generic (.. ), K1 (.. ),
28- M1 (.. ), Selector ( .. ), U1 (.. ), V1 )
27+ (Constructor (.. ), Generic (.. ), K1 (.. ), M1 (.. ), Selector (.. ),
28+ U1 (.. ), V1 , (:*:) ( .. ), (:+:) (.. ))
2929
30- import qualified Data.Map as Map
30+ import qualified Data.Map as Map
3131import qualified Data.TreeDiff.OMap as OMap
3232
3333import Data.TreeDiff.Expr
@@ -94,6 +94,10 @@ import qualified Data.HashSet as HS
9494
9595-- aeson
9696import qualified Data.Aeson as Aeson
97+ #if MIN_VERSION_aeson(2,0,0)
98+ import qualified Data.Aeson.Key as Key
99+ import qualified Data.Aeson.KeyMap as KM
100+ #endif
97101
98102-- strict
99103import qualified Data.Strict as Strict
@@ -550,6 +554,14 @@ instance (ToExpr k) => ToExpr (HS.HashSet k) where
550554
551555instance ToExpr Aeson. Value
552556
557+ #if MIN_VERSION_aeson(2,0,0)
558+ instance ToExpr Key. Key where
559+ toExpr = stringToExpr " Key.concat" . unconcat T. uncons . Key. toText
560+
561+ instance ToExpr a => ToExpr (KM. KeyMap a ) where
562+ toExpr x = App " KM.fromList" [ toExpr $ KM. toList x ]
563+ #endif
564+
553565-------------------------------------------------------------------------------
554566-- strict
555567-------------------------------------------------------------------------------
0 commit comments