on master help sign in
Add Encode.int and (==>)
6b96fe7Evan Czaplicki
src/Json/Encode.hs+20
@@ -9,8 +9,10 @@ module Json.Encode
9 , text
9 , text
10 , string
10 , string
11 , bool
11 , bool
12+ , int
12 , dict
13 , dict
13 , list
14 , list
15+ , (==>)
14 )
16 )
15 where
17 where
16
18
@@ -34,6 +36,7 @@ data Value
34 | Object [(String, Value)]
36 | Object [(String, Value)]
35 | String B.Builder
37 | String B.Builder
36 | Boolean Bool
38 | Boolean Bool
39+ | Integer Int
37
40
38
41
39array :: [Value] -> Value
42array :: [Value] -> Value
@@ -61,6 +64,11 @@ bool =
61 Boolean
64 Boolean
62
65
63
66
67+int :: Int -> Value
68+int =
69+ Integer
70+
71+
64dict :: (k -> String) -> (v -> Value) -> Map.Map k v -> Value
72dict :: (k -> String) -> (v -> Value) -> Map.Map k v -> Value
65dict encodeKey encodeValue pairs =
73dict encodeKey encodeValue pairs =
66 Object $ map (encodeKey *** encodeValue) (Map.toList pairs)
74 Object $ map (encodeKey *** encodeValue) (Map.toList pairs)
@@ -72,6 +80,15 @@ list encodeEntry entries =
72
80
73
81
74
82
83+-- HELPERS
84+
85+
86+(==>) :: a -> b -> (a, b)
87+(==>) a b =
88+ (a, b)
89+
90+
91+
75-- WRITE TO FILE
92-- WRITE TO FILE
76
93
77
94
@@ -111,6 +128,9 @@ encodeHelp indent value =
111 Boolean boolean ->
128 Boolean boolean ->
112 B.string7 (if boolean then "true" else "false")
129 B.string7 (if boolean then "true" else "false")
113
130
131+ Integer n ->
132+ B.intDec n
133+
114
134
115
135
116-- ENCODE ARRAY
136-- ENCODE ARRAY