@@ -10,6 +10,7 @@ import Control.Monad
10import Data.Aeson
10import Data.Aeson
11import qualified Data.HashMap.Strict as HM
11import qualified Data.HashMap.Strict as HM
12import Data.Monoid
12import Data.Monoid
13+import Data.Scientific as S
13import Data.Text (Text)
14import Data.Text (Text)
14import Data.Text.Lazy.Builder
15import Data.Text.Lazy.Builder
15import Data.Text.Lazy.IO as T
16import Data.Text.Lazy.IO as T
@@ -34,10 +35,13 @@ getKeys verb a = concat (renderPair A.<$> HM.toList (payloadObject verb a))
35 Object o -> concat [renderPair (k <> "." <> k', v') | (k', v') <- HM.toList o]
36 Object o -> concat [renderPair (k <> "." <> k', v') | (k', v') <- HM.toList o]
36 String t -> [fromText (k <> ":" <> t)]
37 String t -> [fromText (k <> ":" <> t)]
37− Number n -> [fromText (k <> ":") <> fromString (show n)]
38+ Number n -> [fromText (k <> ":") <> fromString (formatNumber n)]
38 Bool b -> [fromText (k <> ":") <> fromString (show b)]
39 Bool b -> [fromText (k <> ":") <> fromString (show b)]
39 Null -> [fromText (k <> ":null")]
40 Null -> [fromText (k <> ":null")]
40 _ -> mempty -- Can't think of a sensible way to handle arrays
41 _ -> mempty -- Can't think of a sensible way to handle arrays
42+ formatNumber :: Scientific -> String
44+ formatScientific Generic (if isFloating n then Nothing else Just 0) n
43-------------------------------------------------------------------------------
47-------------------------------------------------------------------------------