@@ -34,7 +34,6 @@ import Prelude hiding (map)
3434import Control.Lazy as Lazy
3535
3636import Data.Argonaut as JS
37- import Data.Array as A
3837import Data.Bitraversable (bitraverse )
3938import Data.Either as E
4039import Data.Functor as F
@@ -92,52 +91,52 @@ array ∷ ∀ t. Corecursive t Sig.EJsonF ⇒ Array t → t
9291array = embed <<< Sig.Array
9392
9493map ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Map.Map t t → t
95- map = embed <<< Sig.Map <<< Sig.EJsonMap <<< A .fromFoldable <<< Map .toList
94+ map = embed <<< Sig.Map <<< Sig.EJsonMap <<< Map .toUnfoldable
9695
9796map' ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ SM.StrMap t → t
98- map' = embed <<< Sig.Map <<< Sig.EJsonMap <<< F .map go <<< A .fromFoldable <<< SM .toList
97+ map' = embed <<< Sig.Map <<< Sig.EJsonMap <<< F .map go <<< SM .toUnfoldable
9998 where
10099 go (T.Tuple a b) = T.Tuple (string a) b
101100
102101getType ∷ ∀ t . Recursive t Sig.EJsonF ⇒ t → EJsonType
103102getType = Sig .getType <<< project
104103
105- _Null ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t Unit
104+ _Null ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t Unit
106105_Null = prism' (const null) $ project >>> case _ of
107106 Sig.Null → M.Just unit
108107 _ → M.Nothing
109108
110- _String ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t String
109+ _String ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t String
111110_String = prism' string $ project >>> case _ of
112111 Sig.String s → M.Just s
113112 _ → M.Nothing
114113
115- _Boolean ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t Boolean
114+ _Boolean ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t Boolean
116115_Boolean = prism' boolean $ project >>> case _ of
117116 Sig.Boolean b → M.Just b
118117 _ → M.Nothing
119118
120- _Integer ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t Int
119+ _Integer ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t Int
121120_Integer = prism' integer $ project >>> case _ of
122121 Sig.Integer i → M.Just i
123122 _ → M.Nothing
124123
125- _Decimal ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t HN.HugeNum
124+ _Decimal ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t HN.HugeNum
126125_Decimal = prism' decimal $ project >>> case _ of
127126 Sig.Decimal d → M.Just d
128127 _ → M.Nothing
129128
130- _Array ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t (Array t )
129+ _Array ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t (Array t )
131130_Array = prism' array $ project >>> case _ of
132131 Sig.Array xs → M.Just xs
133132 _ → M.Nothing
134133
135- _Map ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF , Ord t ) ⇒ Prism' t (Map.Map t t )
134+ _Map ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Ord t ⇒ Prism' t (Map.Map t t )
136135_Map = prism' map $ project >>> case _ of
137136 Sig.Map (Sig.EJsonMap kvs) → M.Just $ Map .fromFoldable kvs
138137 _ → M.Nothing
139138
140- _Map' ∷ ∀ t . ( Corecursive t Sig.EJsonF , Recursive t Sig.EJsonF ) ⇒ Prism' t (SM.StrMap t )
139+ _Map' ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t (SM.StrMap t )
141140_Map' = prism' map' $ project >>> case _ of
142141 Sig.Map (Sig.EJsonMap kvs) → SM .fromFoldable <$> for kvs (bitraverse (preview _String) pure)
143142 _ → M.Nothing
0 commit comments