Add instance IsYamlObject Bool

Ilya Portnov [2010-05-09 13:38:07]
Add instance IsYamlObject Bool
Filename
Network/YAML/Instances.hs
diff --git a/Network/YAML/Instances.hs b/Network/YAML/Instances.hs
index 2ad71d2..2b654b3 100644
--- a/Network/YAML/Instances.hs
+++ b/Network/YAML/Instances.hs
@@ -120,6 +120,26 @@ instance ConvertSuccess Integer YamlObject where

 instance IsYamlObject Integer where

+instance IsYamlScalar Bool where
+  toYamlScalar True = stringScalar "True"
+  toYamlScalar False = stringScalar "False"
+
+  fromYamlScalar x =
+    case fromYamlScalar x :: String of
+      "True" -> True
+      _      -> False
+
+instance Default Bool where
+  def = False
+
+instance ConvertSuccess Bool YamlObject where
+  convertSuccess x = Scalar $ toYamlScalar x
+
+instance ConvertSuccess YamlObject Bool where
+  convertSuccess x = fromMaybe def $ getScalar x
+
+instance IsYamlObject Bool where
+
 instance ConvertSuccess YamlObject BS.ByteString where
   convertSuccess x = fromMaybe def $ getScalar x
ViewGit