{-# OPTIONS -fno-warn-orphans #-} module Debian.Version.ByteString ( ParseDebianVersion(..) ) where import Text.ParserCombinators.Parsec import qualified Data.ByteString.Char8 as C import Debian.Version.Common import Debian.Version.Internal instance ParseDebianVersion C.ByteString where parseDebianVersion :: ByteString -> Either ParseError DebianVersion parseDebianVersion ByteString byteStr = let str :: [Char] str = ByteString -> [Char] C.unpack ByteString byteStr in case Parsec [Char] () (Found Int, NonNumeric, Found NonNumeric) -> [Char] -> [Char] -> Either ParseError (Found Int, NonNumeric, Found NonNumeric) forall s t a. Stream s Identity t => Parsec s () a -> [Char] -> s -> Either ParseError a parse Parsec [Char] () (Found Int, NonNumeric, Found NonNumeric) parseDV [Char] str [Char] str of Left ParseError e -> ParseError -> Either ParseError DebianVersion forall a b. a -> Either a b Left ParseError e Right (Found Int, NonNumeric, Found NonNumeric) dv -> DebianVersion -> Either ParseError DebianVersion forall a b. b -> Either a b Right ([Char] -> (Found Int, NonNumeric, Found NonNumeric) -> DebianVersion DebianVersion [Char] str (Found Int, NonNumeric, Found NonNumeric) dv)