{-# language GADTSyntax #-} {-# language KindSignatures #-} {-# language MagicHash #-} {-# language UnliftedNewtypes #-} module Data.Text.Short.Unlifted ( ShortText#(..) , lift , unlift ) where import Data.Unlifted (ShortText#(ShortText#)) import Data.Text.Short (ShortText) import Data.ByteString.Short.Internal as TS import qualified Data.Text.Short as TS import qualified Data.Text.Short.Unsafe as TS lift :: ShortText# -> ShortText lift :: ShortText# -> ShortText lift (ShortText# ByteArray# x) = ShortByteString -> ShortText TS.fromShortByteStringUnsafe (ByteArray# -> ShortByteString SBS ByteArray# x) unlift :: ShortText -> ShortText# unlift :: ShortText -> ShortText# unlift ShortText t = case ShortText -> ShortByteString TS.toShortByteString ShortText t of SBS ByteArray# x -> ByteArray# -> ShortText# ShortText# ByteArray# x