on master help sign in
Merge
ba81513Bryan O'Sullivan
Data/Aeson/Types.hs+9
@@ -79,6 +79,7 @@ import qualified Data.ByteString.Lazy as LB
79import qualified Data.HashMap.Strict as H
79import qualified Data.HashMap.Strict as H
80import qualified Data.HashSet as HashSet
80import qualified Data.HashSet as HashSet
81import qualified Data.IntSet as IntSet
81import qualified Data.IntSet as IntSet
82+import qualified Data.IntMap as IntMap
82import qualified Data.Map as M
83import qualified Data.Map as M
83import qualified Data.Set as Set
84import qualified Data.Set as Set
84import qualified Data.Text as T
85import qualified Data.Text as T
@@ -653,6 +654,14 @@ instance FromJSON IntSet.IntSet where
653 parseJSON = fmap IntSet.fromList . parseJSON
654 parseJSON = fmap IntSet.fromList . parseJSON
654 {-# INLINE parseJSON #-}
655 {-# INLINE parseJSON #-}
655
656
657+instance ToJSON a => ToJSON (IntMap.IntMap a) where
658+ toJSON = toJSON . IntMap.toList
659+ {-# INLINE toJSON #-}
660+
661+instance FromJSON a => FromJSON (IntMap.IntMap a) where
662+ parseJSON = fmap IntMap.fromList . parseJSON
663+ {-# INLINE parseJSON #-}
664+
656instance (ToJSON v) => ToJSON (M.Map Text v) where
665instance (ToJSON v) => ToJSON (M.Map Text v) where
657 toJSON = Object . M.map toJSON
666 toJSON = Object . M.map toJSON
658 {-# INLINE toJSON #-}
667 {-# INLINE toJSON #-}