X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=time-w3c.git;a=blobdiff_plain;f=Data%2FTime%2FW3C%2FParser.hs;h=8104ce82772f280e4713480b18c4c9f1322e438f;hp=539a024280152be30c6643d4cbbac91157c86821;hb=9b1ea615a387d121a581dc35d0e5bb91d8162811;hpb=3d738487d6fb1077d139fd689279a1ebd27a9fdc diff --git a/Data/Time/W3C/Parser.hs b/Data/Time/W3C/Parser.hs index 539a024..8104ce8 100644 --- a/Data/Time/W3C/Parser.hs +++ b/Data/Time/W3C/Parser.hs @@ -5,11 +5,15 @@ module Data.Time.W3C.Parser import qualified Text.Parsec as P +import Data.Convertible 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