@@ -64,6 +64,7 @@ import System.Locale (defaultTimeLocale)
64import qualified Data.ByteString as B
64import qualified Data.ByteString as B
65import qualified Data.ByteString.Lazy as LB
65import qualified Data.ByteString.Lazy as LB
66import qualified Data.HashMap.Strict as H
66import qualified Data.HashMap.Strict as H
67+import qualified Data.HashSet as HashSet
67import qualified Data.IntSet as IntSet
68import qualified Data.IntSet as IntSet
68import qualified Data.Map as M
69import qualified Data.Map as M
69import qualified Data.Set as Set
70import qualified Data.Set as Set
@@ -569,6 +570,14 @@ instance (Ord a, FromJSON a) => FromJSON (Set.Set a) where
569 parseJSON = fmap Set.fromList . parseJSON
570 parseJSON = fmap Set.fromList . parseJSON
570 {-# INLINE parseJSON #-}
571 {-# INLINE parseJSON #-}
573+instance (ToJSON a) => ToJSON (HashSet.HashSet a) where
574+ toJSON = toJSON . HashSet.toList
575+ {-# INLINE toJSON #-}
577+instance (Eq a, Hashable a, FromJSON a) => FromJSON (HashSet.HashSet a) where
578+ parseJSON = fmap HashSet.fromList . parseJSON
579+ {-# INLINE parseJSON #-}
572instance ToJSON IntSet.IntSet where
581instance ToJSON IntSet.IntSet where
573 toJSON = toJSON . IntSet.toList
582 toJSON = toJSON . IntSet.toList
574 {-# INLINE toJSON #-}
583 {-# INLINE toJSON #-}