on master help sign in
Switch from Aeson to Json.Encode
commit01e6c522f0b6d084746385d8bafcb66b10a1c4c7 authorEvan Czaplicki <evancz@users.noreply.github.com> dateFri 19 Jan 2018, 00:52 (9 years ago) parent261b7ff
1 file changed+17−16
src/Reporting/Region.hs+17−16
src/Reporting/Region.hs+17−16
@@ -3,12 +3,13 @@ module Reporting.Region
33 ( Region(..)
44 , Position(..)
55 , merge
6+ , encode
67 )
78 where
89
9−import Data.Aeson ((.=))
10−import qualified Data.Aeson as Json
11−import Data.Binary
10+
11+import qualified Json.Encode as Json
12+import Data.Binary (Binary, get, put)
1213
1314
1415
@@ -33,27 +34,27 @@ data Position =
3334
3435merge :: Region -> Region -> Region
3536merge (Region start _) (Region _ end) =
36− Region start end
37+ Region start end
3738
3839
3940
4041-- JSON
4142
4243
43−instance Json.ToJSON Region where
44− toJSON (Region start end) =
45− Json.object
46− [ "start" .= start
47− , "end" .= end
48− ]
44+encode :: Region -> Json.Value
45+encode (Region start end) =
46+ Json.object
47+ [ ("start", encodePosition start)
48+ , ("end", encodePosition end)
49+ ]
4950
5051
51−instance Json.ToJSON Position where
52− toJSON (Position line column) =
53− Json.object
54− [ "line" .= line
55− , "column" .= column
56− ]
52+encodePosition :: Position -> Json.Value
53+encodePosition (Position line column) =
54+ Json.object
55+ [ ("line", Json.int line)
56+ , ("column", Json.int column)
57+ ]
5758
5859
5960