File tree Expand file tree Collapse file tree 2 files changed +8
-0
lines changed Expand file tree Collapse file tree 2 files changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import Data.List as L
12
12
import Data.Map as M
13
13
import Data.Maybe (maybe , Maybe (..))
14
14
import Data.NonEmpty (NonEmpty , (:|))
15
+ import Data.Set as S
15
16
import Data.String (CodePoint , codePointAt )
16
17
import Data.Symbol (class IsSymbol , SProxy (..), reflectSymbol )
17
18
import Data.Traversable (traverse )
@@ -102,6 +103,9 @@ instance decodeList :: DecodeJson a => DecodeJson (List a) where
102
103
= lmap (" Couldn't decode List: " <> _)
103
104
<<< (traverse decodeJson <=< map (map fromFoldable) decodeJArray)
104
105
106
+ instance decodeSet :: (Ord a , DecodeJson a ) => DecodeJson (S.Set a ) where
107
+ decodeJson = map (S .fromFoldable :: List a -> S.Set a ) <<< decodeJson
108
+
105
109
instance decodeMap :: (Ord a , DecodeJson a , DecodeJson b ) => DecodeJson (M.Map a b ) where
106
110
decodeJson = map (M .fromFoldable :: List (Tuple a b ) -> M.Map a b ) <<< decodeJson
107
111
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import Data.List as L
11
11
import Data.Map as M
12
12
import Data.Maybe (Maybe (..))
13
13
import Data.NonEmpty (NonEmpty (..))
14
+ import Data.Set as S
14
15
import Data.String (CodePoint )
15
16
import Data.String.CodePoints as CP
16
17
import Data.String.CodeUnits as CU
@@ -79,6 +80,9 @@ instance encodeJsonList :: EncodeJson a => EncodeJson (List a) where
79
80
instance encodeForeignObject :: EncodeJson a => EncodeJson (FO.Object a ) where
80
81
encodeJson = fromObject <<< map encodeJson
81
82
83
+ instance encodeSet :: (Ord a , EncodeJson a ) => EncodeJson (S.Set a ) where
84
+ encodeJson = encodeJson <<< (S .toUnfoldable :: S.Set a -> List a )
85
+
82
86
instance encodeMap :: (Ord a , EncodeJson a , EncodeJson b ) => EncodeJson (M.Map a b ) where
83
87
encodeJson = encodeJson <<< (M .toUnfoldable :: M.Map a b -> List (Tuple a b ))
84
88
You can’t perform that action at this time.
0 commit comments