packages feed

ascii 1.0.0.2 → 1.0.1.0

raw patch · 4 files changed

+77/−12 lines, 4 filesdep ~ascii-casedep ~ascii-chardep ~ascii-groupPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: ascii-case, ascii-char, ascii-group, ascii-predicates, ascii-superset, ascii-th, bytestring, data-ascii, text

API changes (from Hackage documentation)

+ ASCII: byteListToUnicodeStringMaybe :: [Word8] -> Maybe String
+ ASCII: byteStringToUnicodeStringMaybe :: ByteString -> Maybe String
+ ASCII: convertCharMaybe :: (CharSuperset char1, CharSuperset char2) => char1 -> Maybe char2
+ ASCII: convertCharOrFail :: (CharSuperset char1, CharSuperset char2, MonadFail context) => char1 -> context char2
+ ASCII: convertStringMaybe :: (StringSuperset string1, StringSuperset string2) => string1 -> Maybe string2
+ ASCII: convertStringOrFail :: (StringSuperset string1, StringSuperset string2, MonadFail context) => string1 -> context string2
+ ASCII: unicodeStringToByteListMaybe :: String -> Maybe [Word8]
+ ASCII: unicodeStringToByteStringMaybe :: String -> Maybe ByteString

Files

ASCII.hs view
@@ -26,9 +26,16 @@     {- ** @Text@       -} {- $textConversions          -} charListToText,          textToCharListMaybe,          textToCharListUnsafe,     {- ** @ByteString@ -} {- $byteStringConversions    -} charListToByteString,    byteStringToCharListMaybe,    byteStringToCharListUnsafe, +    {- * Monomorphic conversions between ASCII supersets -} {- $monoSupersetConversions -}+    {- ** @ByteString@ / @String@ -} byteStringToUnicodeStringMaybe, unicodeStringToByteStringMaybe,+    {- ** @[Word8]@      / @String@ -} byteListToUnicodeStringMaybe,   unicodeStringToByteListMaybe,+     {- * Refinement type -} {- $refinement -} {- ** @ASCII@ -} ASCII, -    {- * Polymorphic conversions -} {- ** Validate -} validateChar, validateString, {- ** Lift -} {- $lift -} lift,+    {- * Polymorphic conversions -}+    {- ** Validate -} validateChar, validateString,+    {- ** Lift -} {- $lift -} lift,+    {- ** Convert -} {- $supersetConversions -} convertCharMaybe, convertCharOrFail, convertStringMaybe, convertStringOrFail,      {- * Classes -} {- ** @CharSuperset@ -} CharSuperset, {- ** @StringSuperset@ -} StringSuperset, {- ** @Lift@ -} Lift, {- ** @CharIso@ -} CharIso, {- ** @StringIso@ -} StringIso, @@ -46,6 +53,7 @@ import ASCII.Superset      ( CharSuperset, StringSuperset )  import Control.Monad       ( (>=>) )+import Control.Monad.Fail  ( MonadFail ) import Data.Bool           ( Bool (..) ) import Data.Function       ( (.) ) import Data.Int            ( Int )@@ -325,3 +333,47 @@  lift :: Lift ascii superset => ascii -> superset lift = ASCII.Lift.lift++{- $supersetConversions++These functions all convert from one ASCII-superset type to another, failing if any of the characters in the input is outside the ASCII character set.++-}++convertCharMaybe :: (CharSuperset char1, CharSuperset char2) => char1 -> Maybe char2+convertCharMaybe = ASCII.Superset.convertCharMaybe++convertCharOrFail :: (CharSuperset char1, CharSuperset char2, MonadFail context) => char1 -> context char2+convertCharOrFail = ASCII.Superset.convertCharOrFail++convertStringMaybe :: (StringSuperset string1, StringSuperset string2) => string1 -> Maybe string2+convertStringMaybe = ASCII.Superset.convertStringMaybe++convertStringOrFail :: (StringSuperset string1, StringSuperset string2, MonadFail context) => string1 -> context string2+convertStringOrFail = ASCII.Superset.convertStringOrFail++{- $monoSupersetConversions++These functions are all specializations of 'convertStringMaybe'. They convert a string from one ASCII-superset type to another.++>>> ASCII.byteListToUnicodeStringMaybe [0x48, 0x54, 0x54, 0x50]+Just "HTTP"++If any of the characters in the input is outside the ASCII character set, the result is 'Nothing'.++>>> ASCII.byteListToUnicodeStringMaybe [0x48, 0x54, 0x54, 0x80]+Nothing++-}++byteStringToUnicodeStringMaybe :: BS.ByteString -> Maybe Unicode.String+byteStringToUnicodeStringMaybe = convertStringMaybe++unicodeStringToByteStringMaybe :: Unicode.String -> Maybe BS.ByteString+unicodeStringToByteStringMaybe = convertStringMaybe++byteListToUnicodeStringMaybe :: [Word8] -> Maybe Unicode.String+byteListToUnicodeStringMaybe = convertStringMaybe++unicodeStringToByteListMaybe :: Unicode.String -> Maybe [Word8]+unicodeStringToByteListMaybe = convertStringMaybe
ascii.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.0  name: ascii-version: 1.0.0.2+version: 1.0.1.0 synopsis: The ASCII character set and encoding category: Data, Text @@ -32,36 +32,36 @@     ghc-options: -Wall      build-depends: base       >= 4.11 && < 4.15-    build-depends: bytestring >= 0.10 && < 0.11-    build-depends: text       >= 1.2  && < 1.3+    build-depends: bytestring ^>= 0.10+    build-depends: text       ^>= 1.2      exposed-modules: ASCII -    build-depends: ascii-char >= 1.0 && < 1.1+    build-depends: ascii-char ^>= 1.0     reexported-modules: ASCII.Char -    build-depends: ascii-group >= 1.0 && < 1.1+    build-depends: ascii-group ^>= 1.0     reexported-modules: ASCII.Group -    build-depends: ascii-case >= 1.0 && < 1.1+    build-depends: ascii-case ^>= 1.0     reexported-modules: ASCII.Case -    build-depends: ascii-predicates >= 1.0 && < 1.1+    build-depends: ascii-predicates ^>= 1.0     reexported-modules: ASCII.Predicates     reexported-modules: ASCII.Lists     reexported-modules: ASCII.ListsAndPredicates -    build-depends: ascii-superset >= 1.0 && < 1.1+    build-depends: ascii-superset ^>= 1.0.1     reexported-modules: ASCII.Superset     reexported-modules: ASCII.Isomorphism     reexported-modules: ASCII.Refinement     reexported-modules: ASCII.Lift -    build-depends: ascii-th >= 1.0 && < 1.1+    build-depends: ascii-th ^>= 1.0     reexported-modules: ASCII.TemplateHaskell     reexported-modules: ASCII.QuasiQuoters -    build-depends: data-ascii >= 1.0 && < 1.1+    build-depends: data-ascii ^>= 1.0     reexported-modules: Data.Ascii     reexported-modules: Data.Ascii.Blaze     reexported-modules: Data.Ascii.ByteString
changelog.txt view
@@ -1,2 +1,15 @@ 1.0.0.0 - 2020-05-05 - Initial release+ 1.0.0.2 - 2020-05-18 - Support GHC 8.10++1.0.1.0 - 2021-01-27++    New functions:+        - byteStringToUnicodeStringMaybe+        - unicodeStringToByteStringMaybe+        - byteListToUnicodeStringMaybe+        - unicodeStringToByteListMaybe+        - convertCharMaybe+        - convertCharOrFail+        - convertStringMaybe+        - convertStringOrFail
license.txt view
@@ -1,4 +1,4 @@-Copyright 2020 Typeclass Consulting LLC+Copyright 2021 Mission Valley Software LLC  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.