validity-text 0.1.2.1 → 0.2.0.0
raw patch · 2 files changed
+20/−3 lines, 2 filesdep ~validity
Dependency ranges changed: validity
Files
- src/Data/Validity/Text.hs +17/−0
- validity-text.cabal +3/−3
src/Data/Validity/Text.hs view
@@ -35,3 +35,20 @@ LB.toStrict . SBB.toLazyByteString . mconcat . map SBB.word16LE $ A.toList arr off len ]+ validate t@(Text arr off len) =+ mconcat+ [ len >= 0 <?!> "The length is positive."+ , off >= 0 <?!> "The offset is positive."+ , (let c = A.unsafeIndex arr off+ in len == 0 || c < 0xDC00 || c > 0xDFFF) <?!>+ "The offset character is valid UTF16."+ -- It contains a valid UTF16+ , ((== (Right t :: Either E.UnicodeException Text)) $+ U.unsafeDupablePerformIO .+ try .+ evaluate .+ E.decodeUtf16LEWith E.strictDecode .+ LB.toStrict . SBB.toLazyByteString . mconcat . map SBB.word16LE $+ A.toList arr off len) <?!>+ "The bytes can correctly be decoded as UTF16."+ ]
validity-text.cabal view
@@ -1,5 +1,5 @@ name: validity-text-version: 0.1.2.1+version: 0.2.0.0 cabal-version: >=1.10 build-type: Simple license: MIT@@ -21,8 +21,8 @@ exposed-modules: Data.Validity.Text build-depends:- base >= 4.7 && <5,- validity -any,+ base >=4.7 && <5,+ validity >=0.4 && <0.5, text -any, bytestring -any default-language: Haskell2010