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
1212import Data.Map as M
1313import Data.Maybe (maybe , Maybe (..))
1414import Data.NonEmpty (NonEmpty , (:|))
15+ import Data.Set as S
1516import Data.String (CodePoint , codePointAt )
1617import Data.Symbol (class IsSymbol , SProxy (..), reflectSymbol )
1718import Data.Traversable (traverse )
@@ -102,6 +103,9 @@ instance decodeList :: DecodeJson a => DecodeJson (List a) where
102103 = lmap (" Couldn't decode List: " <> _)
103104 <<< (traverse decodeJson <=< map (map fromFoldable) decodeJArray)
104105
106+ instance decodeSet :: (Ord a , DecodeJson a ) => DecodeJson (S.Set a ) where
107+ decodeJson = map (S .fromFoldable :: List a -> S.Set a ) <<< decodeJson
108+
105109instance decodeMap :: (Ord a , DecodeJson a , DecodeJson b ) => DecodeJson (M.Map a b ) where
106110 decodeJson = map (M .fromFoldable :: List (Tuple a b ) -> M.Map a b ) <<< decodeJson
107111
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import Data.List as L
1111import Data.Map as M
1212import Data.Maybe (Maybe (..))
1313import Data.NonEmpty (NonEmpty (..))
14+ import Data.Set as S
1415import Data.String (CodePoint )
1516import Data.String.CodePoints as CP
1617import Data.String.CodeUnits as CU
@@ -79,6 +80,9 @@ instance encodeJsonList :: EncodeJson a => EncodeJson (List a) where
7980instance encodeForeignObject :: EncodeJson a => EncodeJson (FO.Object a ) where
8081 encodeJson = fromObject <<< map encodeJson
8182
83+ instance encodeSet :: (Ord a , EncodeJson a ) => EncodeJson (S.Set a ) where
84+ encodeJson = encodeJson <<< (S .toUnfoldable :: S.Set a -> List a )
85+
8286instance encodeMap :: (Ord a , EncodeJson a , EncodeJson b ) => EncodeJson (M.Map a b ) where
8387 encodeJson = encodeJson <<< (M .toUnfoldable :: M.Map a b -> List (Tuple a b ))
8488
You can’t perform that action at this time.
0 commit comments