lawful-conversions 0.1.5 → 0.1.6
raw patch · 4 files changed
+45/−4 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- lawful-conversions.cabal +6/−4
- src/library/LawfulConversions/Relations.hs +2/−0
- src/library/LawfulConversions/Relations/ByteStringAndString.hs +18/−0
- src/library/LawfulConversions/Relations/LazyByteStringAndString.hs +19/−0
lawful-conversions.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: lawful-conversions-version: 0.1.5+version: 0.1.6 synopsis: Lawful typeclasses for bidirectional conversion between types category: Conversion homepage: https://github.com/nikita-volkov/lawful-conversions@@ -58,7 +58,7 @@ type: git location: git://github.com/nikita-volkov/lawful-conversions.git -common language-settings+common base default-language: Haskell2010 default-extensions: BlockArguments@@ -73,7 +73,7 @@ UndecidableSuperClasses library- import: language-settings+ import: base hs-source-dirs: src/library exposed-modules: LawfulConversions other-modules:@@ -99,6 +99,7 @@ LawfulConversions.Relations.ByteStringAndLazyByteStringBuilder LawfulConversions.Relations.ByteStringAndLazyText LawfulConversions.Relations.ByteStringAndShortByteString+ LawfulConversions.Relations.ByteStringAndString LawfulConversions.Relations.ByteStringAndText LawfulConversions.Relations.ByteStringAndTextArray LawfulConversions.Relations.ByteStringAndWord8List@@ -117,6 +118,7 @@ LawfulConversions.Relations.LazyByteStringAndLazyByteStringBuilder LawfulConversions.Relations.LazyByteStringAndLazyText LawfulConversions.Relations.LazyByteStringAndShortByteString+ LawfulConversions.Relations.LazyByteStringAndString LawfulConversions.Relations.LazyByteStringAndText LawfulConversions.Relations.LazyByteStringAndTextArray LawfulConversions.Relations.LazyByteStringAndWord8List@@ -164,7 +166,7 @@ vector >=0.12 && <0.14, test-suite test- import: language-settings+ import: base type: exitcode-stdio-1.0 hs-source-dirs: src/test main-is: Main.hs
src/library/LawfulConversions/Relations.hs view
@@ -12,6 +12,7 @@ import LawfulConversions.Relations.ByteStringAndLazyByteStringBuilder () import LawfulConversions.Relations.ByteStringAndLazyText () import LawfulConversions.Relations.ByteStringAndShortByteString ()+import LawfulConversions.Relations.ByteStringAndString () import LawfulConversions.Relations.ByteStringAndText () import LawfulConversions.Relations.ByteStringAndTextArray () import LawfulConversions.Relations.ByteStringAndWord8List ()@@ -30,6 +31,7 @@ import LawfulConversions.Relations.LazyByteStringAndLazyByteStringBuilder () import LawfulConversions.Relations.LazyByteStringAndLazyText () import LawfulConversions.Relations.LazyByteStringAndShortByteString ()+import LawfulConversions.Relations.LazyByteStringAndString () import LawfulConversions.Relations.LazyByteStringAndText () import LawfulConversions.Relations.LazyByteStringAndTextArray () import LawfulConversions.Relations.LazyByteStringAndWord8List ()
+ src/library/LawfulConversions/Relations/ByteStringAndString.hs view
@@ -0,0 +1,18 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.ByteStringAndString where++import qualified Data.Text+import qualified Data.Text.Encoding+import qualified Data.Text.Encoding.Error+import LawfulConversions.Classes+import LawfulConversions.Prelude++-- | UTF-8 codec.+instance IsSome ByteString String where+ to = Data.Text.Encoding.encodeUtf8 . Data.Text.pack+ maybeFrom = either (const Nothing) (Just . Data.Text.unpack) . Data.Text.Encoding.decodeUtf8'++-- | Lenient UTF-8 decoding.+instance IsMany ByteString String where+ from = Data.Text.unpack . Data.Text.Encoding.decodeUtf8With Data.Text.Encoding.Error.lenientDecode
+ src/library/LawfulConversions/Relations/LazyByteStringAndString.hs view
@@ -0,0 +1,19 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.LazyByteStringAndString where++import qualified Data.ByteString.Lazy+import qualified Data.Text.Encoding.Error+import qualified Data.Text.Lazy+import qualified Data.Text.Lazy.Encoding+import LawfulConversions.Classes+import LawfulConversions.Prelude++-- | UTF-8 codec.+instance IsSome Data.ByteString.Lazy.ByteString String where+ to = Data.Text.Lazy.Encoding.encodeUtf8 . Data.Text.Lazy.pack+ maybeFrom = either (const Nothing) (Just . Data.Text.Lazy.unpack) . Data.Text.Lazy.Encoding.decodeUtf8'++-- | Lenient UTF-8 decoding.+instance IsMany Data.ByteString.Lazy.ByteString String where+ from = Data.Text.Lazy.unpack . Data.Text.Lazy.Encoding.decodeUtf8With Data.Text.Encoding.Error.lenientDecode