@@ -30,47 +30,46 @@ fromString : String -> Maybe Value
3030fromString s = Native.fromJSString (JS.fromString s)
3131
3232fromJSString : JSString -> Maybe Value
33−fromJSString = Native.fromJSString
3433
3534
3635-- Extract Elm values from Json values
3736
38−string : String -> Value -> String
39−string base v = case v of { String s -> s ; _ -> base }
37+string : Value -> String
38+string v = case v of { String s -> s ; _ -> "" }
4039
41−number : Float -> Value -> Float
42−number base v = case v of { Number n -> n ; _ -> base }
40+number : Value -> Float
41+number v = case v of { Number n -> n ; _ -> 0 }
4342
44−boolean : Bool -> Value -> Bool
45−boolean base v = case v of { Boolean b -> b ; _ -> base }
43+boolean : Value -> Bool
44+boolean v = case v of { Boolean b -> b ; _ -> False }
4645
47−array : [Value] -> Value -> [Value]
48−array base v = case v of { Array a -> a ; _ -> base }
46+array : Value -> [Value]
47+array v = case v of { Array a -> a ; _ -> [] }
4948
50−object : Dict String Value -> Value -> Dict String Value
51−object base v = case v of { Object o -> o ; _ -> base }
49+object : Value -> Dict String Value
50+object v = case v of { Object o -> o ; _ -> Dict.empty }
5251
5352
5453-- Extract Elm values from dictionaries of Json values
5554
56−find get =
57− let f base key dict =
55+find get base =
56+ let f key dict =
5857 case Dict.lookup key dict of
5958 Nothing -> base
60− Just v -> get base v
59+ Just v -> get v
6160 in f
6261
6362findString : String -> Dict String Value -> String
64−findString = find string
63+findString = find string ""
6564
66−findNumber : Float -> Dict String Value -> Float
67−findNumber = find number
65+findNumber : String -> Dict String Value -> Float
66+findNumber = find number 0
6867
69−findBoolean : Bool -> Dict String Value -> Bool
70−findBoolean = find boolean
68+findBoolean : String -> Dict String Value -> Bool
69+findBoolean = find boolean False
7170
72−findArray : [Value] -> Dict String Value -> [Value]
73−findArray = find array
71+findArray : String -> Dict String Value -> [Value]
72+findArray = find array []
7473
75−findObject : Dict String Value -> Dict String Value -> Dict String Value
76−findObject = find object
74+findObject : String -> Dict String Value -> Dict String Value
75+findObject = find object Dict.empty