conversion-text (empty) → 1.0.0.0
raw patch · 5 files changed
+261/−0 lines, 5 filesdep +base-preludedep +bytestringdep +conversionsetup-changed
Dependencies added: base-prelude, bytestring, conversion, conversion-bytestring, text
Files
- CHANGELOG.md +0/−0
- LICENSE +22/−0
- Setup.hs +2/−0
- conversion-text.cabal +58/−0
- library/Conversion/Text.hs +179/−0
+ CHANGELOG.md view
+ LICENSE view
@@ -0,0 +1,22 @@+Copyright (c) 2015, Nikita Volkov++Permission is hereby granted, free of charge, to any person+obtaining a copy of this software and associated documentation+files (the "Software"), to deal in the Software without+restriction, including without limitation the rights to use,+copy, modify, merge, publish, distribute, sublicense, and/or sell+copies of the Software, and to permit persons to whom the+Software is furnished to do so, subject to the following+conditions:++The above copyright notice and this permission notice shall be+included in all copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR+OTHER DEALINGS IN THE SOFTWARE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ conversion-text.cabal view
@@ -0,0 +1,58 @@+name:+ conversion-text+version:+ 1.0.0.0+synopsis:+ "Conversion" instances for the "text" library +category:+ Control, Data, Conversion+homepage:+ https://github.com/nikita-volkov/conversion-text +bug-reports:+ https://github.com/nikita-volkov/conversion-text/issues +author:+ Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer:+ Nikita Volkov <nikita.y.volkov@mail.ru>+copyright:+ (c) 2015, Nikita Volkov+license:+ MIT+license-file:+ LICENSE+build-type:+ Simple+cabal-version:+ >=1.10+extra-source-files:+ CHANGELOG.md+++source-repository head+ type:+ git+ location:+ git://github.com/nikita-volkov/conversion-text.git+++library+ hs-source-dirs:+ library+ ghc-options:+ -funbox-strict-fields+ default-extensions:+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples+ default-language:+ Haskell2010+ other-modules:+ exposed-modules:+ Conversion.Text+ build-depends:+ -- + text >= 1 && < 2,+ bytestring == 0.10.*,+ -- + conversion == 1.*,+ conversion-bytestring == 1.0.0.*,+ --+ base-prelude >= 0.1.19 && < 0.2
+ library/Conversion/Text.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE CPP #-}+module Conversion.Text () where++import BasePrelude+import Conversion+import Conversion.ByteString+import qualified Data.Text as TS+import qualified Data.Text.Encoding as TE+import qualified Data.Text.Encoding.Error as TEE+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Builder as TLB+import qualified Data.Text.Lazy.Encoding as TLE+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Builder as BB+++instance Conversion TS.Text String where+ {-# INLINE convert #-}+ convert = TS.unpack++instance Conversion TS.Text TL.Text where+ {-# INLINE convert #-}+ convert = TL.fromStrict++instance Conversion TS.Text TLB.Builder where+ {-# INLINE convert #-}+ convert = TLB.fromText++instance Conversion TS.Text BS.ByteString where+ {-# INLINE convert #-}+ convert = TE.encodeUtf8++instance Conversion TS.Text BL.ByteString where+ {-# INLINE convert #-}+ convert = BL.fromStrict . TE.encodeUtf8++instance Conversion TS.Text BB.Builder where+ {-# INLINE convert #-}+#if MIN_VERSION_text(1,2,0)+ convert = TE.encodeUtf8Builder+#else+ convert = convert . TE.encodeUtf8+#endif+++instance Conversion TL.Text String where+ {-# INLINE convert #-}+ convert = TL.unpack++instance Conversion TL.Text TS.Text where+ {-# INLINE convert #-}+ convert = TL.toStrict++instance Conversion TL.Text TLB.Builder where+ {-# INLINE convert #-}+ convert = TLB.fromLazyText++instance Conversion TL.Text BS.ByteString where+ {-# INLINE convert #-}+ convert = convert . TLE.encodeUtf8++instance Conversion TL.Text BL.ByteString where+ {-# INLINE convert #-}+ convert = TLE.encodeUtf8++instance Conversion TL.Text BB.Builder where+ {-# INLINE convert #-}+#if MIN_VERSION_text(1,2,0)+ convert = TLE.encodeUtf8Builder+#else+ convert = convert . TLE.encodeUtf8+#endif+++instance Conversion TLB.Builder String where+ {-# INLINE convert #-}+ convert = convert . TLB.toLazyText++instance Conversion TLB.Builder TS.Text where+ {-# INLINE convert #-}+ convert = convert . TLB.toLazyText++instance Conversion TLB.Builder TL.Text where+ {-# INLINE convert #-}+ convert = TLB.toLazyText++instance Conversion TLB.Builder BS.ByteString where+ {-# INLINE convert #-}+ convert = convert . TLB.toLazyText++instance Conversion TLB.Builder BL.ByteString where+ {-# INLINE convert #-}+ convert = convert . TLB.toLazyText++instance Conversion TLB.Builder BB.Builder where+ {-# INLINE convert #-}+ convert = convert . TLB.toLazyText+++instance Conversion BS.ByteString (Either TEE.UnicodeException TS.Text) where+ {-# INLINE convert #-}+ convert = TE.decodeUtf8'++instance Conversion BS.ByteString (Either TEE.UnicodeException TL.Text) where+ {-# INLINE convert #-}+ convert = TLE.decodeUtf8' . convert++instance Alternative f => Conversion BS.ByteString (f TS.Text) where+ {-# INLINE convert #-}+ convert = convert . TE.decodeUtf8'++instance Alternative f => Conversion BS.ByteString (f TL.Text) where+ {-# INLINE convert #-}+ convert = convert . TLE.decodeUtf8' . convert++instance Alternative f => Conversion BS.ByteString (f TLB.Builder) where+ {-# INLINE convert #-}+ convert = fmap TLB.fromLazyText . convert+++instance Conversion BL.ByteString (Either TEE.UnicodeException TS.Text) where+ {-# INLINE convert #-}+ convert = fmap convert . TLE.decodeUtf8'++instance Conversion BL.ByteString (Either TEE.UnicodeException TL.Text) where+ {-# INLINE convert #-}+ convert = TLE.decodeUtf8'++instance Alternative f => Conversion BL.ByteString (f TS.Text) where+ {-# INLINE convert #-}+ convert = convert . fmap TL.toStrict . TLE.decodeUtf8'++instance Alternative f => Conversion BL.ByteString (f TL.Text) where+ {-# INLINE convert #-}+ convert = convert . TLE.decodeUtf8'++instance Alternative f => Conversion BL.ByteString (f TLB.Builder) where+ {-# INLINE convert #-}+ convert = fmap TLB.fromLazyText . convert+++instance Alternative f => Conversion BB.Builder (f TS.Text) where+ {-# INLINE convert #-}+ convert = convert . BB.toLazyByteString++instance Alternative f => Conversion BB.Builder (f TL.Text) where+ {-# INLINE convert #-}+ convert = convert . BB.toLazyByteString++instance Alternative f => Conversion BB.Builder (f TLB.Builder) where+ {-# INLINE convert #-}+ convert = convert . BB.toLazyByteString+++instance Conversion String TS.Text where+ {-# INLINE convert #-}+ convert = TS.pack++instance Conversion String TL.Text where+ {-# INLINE convert #-}+ convert = TL.pack++instance Conversion String TLB.Builder where+ {-# INLINE convert #-}+ convert = TLB.fromString+++instance Conversion Char TS.Text where+ {-# INLINE convert #-}+ convert = TS.singleton++instance Conversion Char TL.Text where+ {-# INLINE convert #-}+ convert = TL.singleton++instance Conversion Char TLB.Builder where+ {-# INLINE convert #-}+ convert = TLB.singleton