bytestring-from 0.2.1 → 0.3
raw patch · 2 files changed
+12/−3 lines, 2 files
Files
- bytestring-from.cabal +1/−1
- src/Data/ByteString/From.hs +11/−2
bytestring-from.cabal view
@@ -1,5 +1,5 @@ name: bytestring-from-version: 0.2.1+version: 0.3 synopsis: A type-class to convert values from ByteString. license: OtherLicense license-file: LICENSE
src/Data/ByteString/From.hs view
@@ -22,7 +22,9 @@ import Data.Word import Prelude hiding (elem) -import qualified Data.ByteString.Lazy as Lazy+import qualified Data.ByteString.Lazy as LB+import qualified Data.Text.Lazy as LT+import qualified Data.Text.Lazy.Encoding as LT -- | Parse 'ByteString's. class FromByteString a where@@ -44,7 +46,7 @@ instance FromByteString ByteString where parser = takeByteString -instance FromByteString Lazy.ByteString where+instance FromByteString LB.ByteString where parser = takeLazyByteString -- | A (flat) comma-separated list of values without spaces.@@ -55,6 +57,10 @@ instance FromByteString Text where parser = takeByteString >>= text +-- | UTF-8 is assumed as encoding format.+instance FromByteString LT.Text where+ parser = takeLazyByteString >>= ltext+ instance FromByteString Bool where parser = satisfy (`elem` "tT") *> string "rue" *> pure True <|>@@ -142,4 +148,7 @@ text :: ByteString -> Parser Text text = either (fail . ("Invalid UTF-8: " ++) . show) return . decodeUtf8'++ltext :: LB.ByteString -> Parser LT.Text+ltext = either (fail . ("Invalid UTF-8: " ++) . show) return . LT.decodeUtf8'