@@ -23,24 +23,18 @@ import Data.ByteString (ByteString)
2323import Text.Libyaml
2424import Data.Yaml.Internal
2525import Data.Text (Text)
26−#if MIN_VERSION_aeson(0, 7, 0)
2726import Data.Scientific (Scientific)
2827import Data.Aeson.Types (Value(..))
29−#endif
3028import qualified Data.HashSet as HashSet
3129import Data.Text.Encoding (encodeUtf8)
3230import System.IO.Unsafe (unsafePerformIO)
3331import Control.Arrow (second)
3432import qualified Data.ByteString.Char8 as S8
3533import Control.Monad.Trans.Resource (runResourceT)
36−#if MIN_VERSION_aeson(0, 7, 0)
3734import qualified Data.Text.Encoding as TE
3835import qualified Data.Text.Lazy as TL
3936import Data.Text.Lazy.Builder (toLazyText)
4037import Data.Aeson.Encode (encodeToTextBuilder)
41−#else
42−import Data.Attoparsec.Number
43−#endif
4438import Prelude hiding (null)
4539
4640(.=) :: ToYaml a => Text -> a -> (Text, YamlBuilder)
@@ -89,22 +83,12 @@ string s =
8983 | otherwise = EventScalar (encodeUtf8 s) StrTag PlainNoTag Nothing
9084
9185-- Use aeson's implementation which gets rid of annoying decimal points
92−#if MIN_VERSION_aeson(0, 7, 0)
9386scientific :: Scientific -> YamlBuilder
9487scientific n = YamlBuilder (EventScalar (TE.encodeUtf8 $ TL.toStrict $ toLazyText $ encodeToTextBuilder (Number n)) IntTag PlainNoTag Nothing :)
95−#else
96−scientific :: Number -> YamlBuilder
97−scientific n = YamlBuilder (EventScalar (S8.pack $ show n) IntTag PlainNoTag Nothing :)
98−#endif
9988
10089{-# DEPRECATED number "Use scientific" #-}
101−#if MIN_VERSION_aeson(0,7,0)
10290number :: Scientific -> YamlBuilder
10391number = scientific
104−#else
105−number :: Number -> YamlBuilder
106−number n = YamlBuilder (EventScalar (S8.pack $ show n) IntTag PlainNoTag Nothing :)
107−#endif
10892
10993bool :: Bool -> YamlBuilder
11094bool True = YamlBuilder (EventScalar "true" BoolTag PlainNoTag Nothing :)