@@ -30,47 +30,46 @@ fromString : String -> Maybe Value
30fromString s = Native.fromJSString (JS.fromString s)
30fromString s = Native.fromJSString (JS.fromString s)
32fromJSString : JSString -> Maybe Value
32fromJSString : JSString -> Maybe Value
33−fromJSString = Native.fromJSString
36-- Extract Elm values from Json values
35-- Extract Elm values from Json values
38−string : String -> Value -> String
37+string : Value -> String
39−string base v = case v of { String s -> s ; _ -> base }
38+string v = case v of { String s -> s ; _ -> "" }
41−number : Float -> Value -> Float
40+number : Value -> Float
42−number base v = case v of { Number n -> n ; _ -> base }
41+number v = case v of { Number n -> n ; _ -> 0 }
44−boolean : Bool -> Value -> Bool
43+boolean : Value -> Bool
45−boolean base v = case v of { Boolean b -> b ; _ -> base }
44+boolean v = case v of { Boolean b -> b ; _ -> False }
47−array : [Value] -> Value -> [Value]
46+array : Value -> [Value]
48−array base v = case v of { Array a -> a ; _ -> base }
47+array v = case v of { Array a -> a ; _ -> [] }
50−object : Dict String Value -> Value -> Dict String Value
49+object : Value -> Dict String Value
51−object base v = case v of { Object o -> o ; _ -> base }
50+object v = case v of { Object o -> o ; _ -> Dict.empty }
54-- Extract Elm values from dictionaries of Json values
53-- Extract Elm values from dictionaries of Json values
56−find get =
55+find get base =
57− let f base key dict =
56+ let f key dict =
58 case Dict.lookup key dict of
57 case Dict.lookup key dict of
59 Nothing -> base
58 Nothing -> base
60− Just v -> get base v
59+ Just v -> get v
63findString : String -> Dict String Value -> String
62findString : String -> Dict String Value -> String
64−findString = find string
63+findString = find string ""
66−findNumber : Float -> Dict String Value -> Float
65+findNumber : String -> Dict String Value -> Float
67−findNumber = find number
66+findNumber = find number 0
69−findBoolean : Bool -> Dict String Value -> Bool
68+findBoolean : String -> Dict String Value -> Bool
70−findBoolean = find boolean
69+findBoolean = find boolean False
72−findArray : [Value] -> Dict String Value -> [Value]
71+findArray : String -> Dict String Value -> [Value]
73−findArray = find array
72+findArray = find array []
75−findObject : Dict String Value -> Dict String Value -> Dict String Value
74+findObject : String -> Dict String Value -> Dict String Value
76−findObject = find object
75+findObject = find object Dict.empty