module Data.Yaml.Extended ( module Data.Yaml , toString , toList ) where import qualified Data.Text as T import qualified Data.Vector as V import Data.Yaml import Data.Scientific toString :: Value -> Maybe String toString (String t) = Just (T.unpack t) toString (Bool True) = Just "true" toString (Bool False) = Just "false" -- | Make sure that numeric fields containing integer numbers are shown as -- | integers (i.e., "42" instead of "42.0"). toString (Number d) | isInteger d = Just (formatScientific Fixed (Just 0) d) | otherwise = Just (show d) toString _ = Nothing toList :: Value -> Maybe [Value] toList (Array a) = Just (V.toList a) toList _ = Nothing