]> gitweb @ CieloNegro.org - time-w3c.git/blobdiff - Data/Time/W3C/Parser.hs
'parse' should assume EOF after w3cDateTime.
[time-w3c.git] / Data / Time / W3C / Parser.hs
index 539a024280152be30c6643d4cbbac91157c86821..8104ce82772f280e4713480b18c4c9f1322e438f 100644 (file)
@@ -5,11 +5,15 @@ module Data.Time.W3C.Parser
 
 import qualified Text.Parsec as P
 
 
 import qualified Text.Parsec as P
 
+import Data.Convertible
 import Data.Time.W3C.Parser.Parsec
 import Data.Time.W3C.Types
 
 import Data.Time.W3C.Parser.Parsec
 import Data.Time.W3C.Types
 
-parse :: String -> Maybe W3CDateTime
-parse src
-    = case P.parse w3cDateTime "" src of
-        Right w3c -> Just w3c
-        Left  _   -> Nothing
+parse :: Convertible W3CDateTime t => String -> Maybe t
+parse src = case P.parse p "" src of
+              Right w3c -> Just (convert w3c)
+              Left  _   -> Nothing
+    where
+      p = do w3c <- w3cDateTime
+             _   <- P.eof
+             return w3c
\ No newline at end of file