@@ -3,19 +3,19 @@ module Data.Argonaut.JCursor where
33import Prelude
44
55import Data.Argonaut.Core
6- import Data.Argonaut.Encode
76import Data.Argonaut.Decode
8- import Data.Maybe (Maybe (..), fromMaybe , maybe )
9- import Data.List (List (), zipWith , range , head , singleton , toList )
7+ import Data.Argonaut.Encode
108import Data.Either (Either (..))
9+ import Data.Foldable (foldl )
10+ import Data.List (List (), zipWith , range , head , singleton , toList )
11+ import Data.Maybe (Maybe (..), fromMaybe , maybe )
1112import Data.Monoid (Monoid , mempty )
1213import Data.Tuple (Tuple (..), fst , snd )
13- import Data.Foldable (foldl )
1414
15- import qualified Data.Int as I
1615import qualified Data.Array as A
17- import qualified Data.StrMap as M
16+ import qualified Data.Int as I
1817import qualified Data.Maybe.Unsafe as MU
18+ import qualified Data.StrMap as M
1919
2020data JCursor
2121 = JCursorTop
@@ -58,7 +58,7 @@ insideOut (JIndex i c) = downIndex i (insideOut c)
5858downField :: String -> JCursor -> JCursor
5959downField i = downField' where
6060 downField' JCursorTop = JField i JCursorTop
61- downField' (JField i' c) = JField i' (downField' c)
61+ downField' (JField i' c) = JField i' (downField' c)
6262 downField' (JIndex i' c) = JIndex i' (downField' c)
6363
6464downIndex :: Int -> JCursor -> JCursor
@@ -83,7 +83,7 @@ cursorSet :: JCursor -> Json -> Json -> Maybe Json
8383cursorSet JCursorTop v = pure <<< const v
8484cursorSet (JField i c) v = foldJsonObject defaultObj mergeObjs
8585 where
86- defaultObj :: Maybe Json
86+ defaultObj :: Maybe Json
8787 defaultObj = fromObject <<< M .singleton i <$> cursorSet c v (inferEmpty c)
8888
8989 mergeObjs :: JObject -> Maybe Json
@@ -94,7 +94,7 @@ cursorSet (JIndex i c) v = foldJsonArray defaultArr mergeArrs
9494 where
9595 defaultArr :: Maybe Json
9696 defaultArr = fromArray <<< MU .fromJust <<<
97- flip (A .updateAt i) (A .replicate (i + 1 ) jsonNull) <$>
97+ flip (A .updateAt i) (A .replicate (i + 1 ) jsonNull) <$>
9898 cursorSet c v (inferEmpty c)
9999
100100 mergeArrs :: JArray -> Maybe Json
@@ -108,14 +108,14 @@ cursorSet (JIndex i c) v = foldJsonArray defaultArr mergeArrs
108108 else if i >= len
109109 then setArr (xs <> (A .replicate (i - len + 1 ) jsonNull)) i v
110110 else Just <<< fromArray <<< MU .fromJust $ A .updateAt i v xs
111-
111+
112112
113113toPrims :: Json -> List (Tuple JCursor JsonPrim )
114114toPrims = foldJson nullFn boolFn numFn strFn arrFn objFn
115115 where
116116 mkTop :: JsonPrim -> List (Tuple JCursor JsonPrim )
117117 mkTop p = singleton $ Tuple JCursorTop p
118-
118+
119119 nullFn :: JNull -> List (Tuple JCursor JsonPrim )
120120 nullFn _ = mkTop primNull
121121
@@ -139,7 +139,7 @@ toPrims = foldJson nullFn boolFn numFn strFn arrFn objFn
139139 arrFn' (Tuple i j) = toList ((\t -> Tuple (JIndex i (fst t)) (snd t))
140140 <$> toPrims j)
141141
142-
142+
143143 objFn :: JObject -> List (Tuple JCursor JsonPrim )
144144 objFn obj =
145145 let f :: Tuple String Json -> List (Tuple JCursor JsonPrim )
@@ -197,7 +197,7 @@ instance encodeJsonJCursor :: EncodeJson JCursor where
197197 loop (JIndex i c) = [encodeJson i] <> loop c
198198
199199fail :: forall a b . (Show a ) => a -> Either String b
200- fail x = Left $ " Expected String or Number but found: " ++ show x
200+ fail x = Left $ " Expected String or Number but found: " ++ show x
201201
202202instance decodeJsonJCursor :: DecodeJson JCursor where
203203 decodeJson j = decodeJson j >>= loop
@@ -220,4 +220,4 @@ instance decodeJsonJCursor :: DecodeJson JCursor where
220220
221221
222222
223-
223+
0 commit comments